diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2015-12-11 01:45:26 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2015-12-11 01:45:26 +0300 |
| commit | dc368109932fbde3b6edc2c59ff7edd4f01cfe4c (patch) | |
| tree | 34ad64429adf877193102b75fb6e6d6cc777e9a9 /Zend/zend_vm_opcodes.h | |
| parent | fc2cedfb1d9a391773d2236c178c839bad2ed657 (diff) | |
| download | php-git-dc368109932fbde3b6edc2c59ff7edd4f01cfe4c.tar.gz | |
Use more compact description encoding schema to free some bits
Diffstat (limited to 'Zend/zend_vm_opcodes.h')
| -rw-r--r-- | Zend/zend_vm_opcodes.h | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index 8d156a98d2..358afc6fe1 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -31,33 +31,36 @@ #define ZEND_VM_OP1_SPEC 0x00000001 #define ZEND_VM_OP1_CONST 0x00000002 #define ZEND_VM_OP1_TMPVAR 0x00000004 -#define ZEND_VM_OP1_NUM 0x00000008 -#define ZEND_VM_OP1_JMP_ADDR 0x00000010 -#define ZEND_VM_OP1_TRY_CATCH 0x00000020 +#define ZEND_VM_OP1_MASK 0x000000f0 +#define ZEND_VM_OP1_NUM 0x00000010 +#define ZEND_VM_OP1_JMP_ADDR 0x00000020 +#define ZEND_VM_OP1_TRY_CATCH 0x00000030 #define ZEND_VM_OP1_LIVE_RANGE 0x00000040 #define ZEND_VM_OP2_SPEC 0x00000100 #define ZEND_VM_OP2_CONST 0x00000200 #define ZEND_VM_OP2_TMPVAR 0x00000400 -#define ZEND_VM_OP2_NUM 0x00000800 -#define ZEND_VM_OP2_JMP_ADDR 0x00001000 -#define ZEND_VM_OP2_TRY_CATCH 0x00002000 +#define ZEND_VM_OP2_MASK 0x0000f000 +#define ZEND_VM_OP2_NUM 0x00001000 +#define ZEND_VM_OP2_JMP_ADDR 0x00002000 +#define ZEND_VM_OP2_TRY_CATCH 0x00003000 #define ZEND_VM_OP2_LIVE_RANGE 0x00004000 -#define ZEND_VM_EXT_NUM 0x00010000 -#define ZEND_VM_EXT_VAR 0x00020000 -#define ZEND_VM_EXT_JMP_ADDR 0x00040000 -#define ZEND_VM_EXT_DIM_OBJ 0x00080000 -#define ZEND_VM_EXT_CLASS_FETCH 0x00100000 -#define ZEND_VM_EXT_CONST_FETCH 0x00200000 -#define ZEND_VM_EXT_VAR_FETCH 0x00400000 -#define ZEND_VM_EXT_ARRAY_INIT 0x00800000 -#define ZEND_VM_EXT_TYPE 0x01000000 -#define ZEND_VM_EXT_EVAL 0x02000000 -#define ZEND_VM_EXT_FAST_CALL 0x04000000 -#define ZEND_VM_EXT_FAST_RET 0x08000000 -#define ZEND_VM_EXT_ISSET 0x10000000 -#define ZEND_VM_EXT_ARG_NUM 0x20000000 -#define ZEND_VM_EXT_REF 0x40000000 -#define ZEND_VM_EXT_SRC 0x80000000 +#define ZEND_VM_EXT_VAR_FETCH 0x00010000 +#define ZEND_VM_EXT_ISSET 0x00020000 +#define ZEND_VM_EXT_ARG_NUM 0x00040000 +#define ZEND_VM_EXT_ARRAY_INIT 0x00080000 +#define ZEND_VM_EXT_REF 0x00100000 +#define ZEND_VM_EXT_MASK 0xff000000 +#define ZEND_VM_EXT_NUM 0x01000000 +#define ZEND_VM_EXT_VAR 0x02000000 +#define ZEND_VM_EXT_JMP_ADDR 0x03000000 +#define ZEND_VM_EXT_DIM_OBJ 0x04000000 +#define ZEND_VM_EXT_CLASS_FETCH 0x05000000 +#define ZEND_VM_EXT_CONST_FETCH 0x06000000 +#define ZEND_VM_EXT_TYPE 0x07000000 +#define ZEND_VM_EXT_EVAL 0x08000000 +#define ZEND_VM_EXT_FAST_CALL 0x09000000 +#define ZEND_VM_EXT_FAST_RET 0x0a000000 +#define ZEND_VM_EXT_SRC 0x0b000000 BEGIN_EXTERN_C() |
