diff options
Diffstat (limited to 'Zend/zend_vm_opcodes.h')
-rw-r--r-- | Zend/zend_vm_opcodes.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index a9d5b49648..c0297ad3c5 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -27,7 +27,12 @@ #define ZEND_VM_KIND_SWITCH 2 #define ZEND_VM_KIND_GOTO 3 #define ZEND_VM_KIND_HYBRID 4 -#define ZEND_VM_KIND ZEND_VM_KIND_CALL +/* HYBRID requires support for computed GOTO and global register variables*/ +#if (defined(__GNUC__) && defined(HAVE_GCC_GLOBAL_REGS)) +# define ZEND_VM_KIND ZEND_VM_KIND_HYBRID +#else +# define ZEND_VM_KIND ZEND_VM_KIND_CALL +#endif #define ZEND_VM_OP_SPEC 0x00000001 #define ZEND_VM_OP_CONST 0x00000002 |