diff options
Diffstat (limited to 'Zend/zend_vm_opcodes.h')
| -rw-r--r-- | Zend/zend_vm_opcodes.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index 9ba87e58be..90f2ea4e51 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -28,9 +28,45 @@ #define ZEND_VM_KIND_GOTO 3 #define ZEND_VM_KIND ZEND_VM_KIND_CALL +#define ZEND_VM_OP_SPEC 0x00000001 +#define ZEND_VM_OP_CONST 0x00000002 +#define ZEND_VM_OP_TMPVAR 0x00000004 +#define ZEND_VM_OP_TMPVARCV 0x00000008 +#define ZEND_VM_OP_MASK 0x000000f0 +#define ZEND_VM_OP_NUM 0x00000010 +#define ZEND_VM_OP_JMP_ADDR 0x00000020 +#define ZEND_VM_OP_TRY_CATCH 0x00000030 +#define ZEND_VM_OP_LIVE_RANGE 0x00000040 +#define ZEND_VM_OP_THIS 0x00000050 +#define ZEND_VM_OP_NEXT 0x00000060 +#define ZEND_VM_OP_CLASS_FETCH 0x00000070 +#define ZEND_VM_OP_CONSTRUCTOR 0x00000080 +#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 0x0f000000 +#define ZEND_VM_EXT_NUM 0x01000000 +#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 +#define ZEND_VM_EXT_SEND 0x0c000000 +#define ZEND_VM_NO_CONST_CONST 0x40000000 +#define ZEND_VM_COMMUTATIVE 0x80000000 +#define ZEND_VM_OP1_FLAGS(flags) (flags & 0xff) +#define ZEND_VM_OP2_FLAGS(flags) ((flags >> 8) & 0xff) + BEGIN_EXTERN_C() ZEND_API const char *zend_get_opcode_name(zend_uchar opcode); +ZEND_API uint32_t zend_get_opcode_flags(zend_uchar opcode); END_EXTERN_C() @@ -202,5 +238,18 @@ END_EXTERN_C() #define ZEND_SPACESHIP 170 #define ZEND_DECLARE_ANON_CLASS 171 #define ZEND_DECLARE_ANON_INHERITED_CLASS 172 +#define ZEND_FETCH_STATIC_PROP_R 173 +#define ZEND_FETCH_STATIC_PROP_W 174 +#define ZEND_FETCH_STATIC_PROP_RW 175 +#define ZEND_FETCH_STATIC_PROP_IS 176 +#define ZEND_FETCH_STATIC_PROP_FUNC_ARG 177 +#define ZEND_FETCH_STATIC_PROP_UNSET 178 +#define ZEND_UNSET_STATIC_PROP 179 +#define ZEND_ISSET_ISEMPTY_STATIC_PROP 180 +#define ZEND_FETCH_CLASS_CONSTANT 181 +#define ZEND_BIND_LEXICAL 182 +#define ZEND_BIND_STATIC 183 + +#define ZEND_VM_LAST_OPCODE 183 #endif |
