diff options
Diffstat (limited to 'Zend/zend_vm_opcodes.c')
-rw-r--r-- | Zend/zend_vm_opcodes.c | 219 |
1 files changed, 213 insertions, 6 deletions
diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c index e42c2e22f5..06da751d2e 100644 --- a/Zend/zend_vm_opcodes.c +++ b/Zend/zend_vm_opcodes.c @@ -21,7 +21,7 @@ #include <stdio.h> #include <zend.h> -const char *zend_vm_opcodes_map[173] = { +static const char *zend_vm_opcodes_names[187] = { "ZEND_NOP", "ZEND_ADD", "ZEND_SUB", @@ -63,7 +63,7 @@ const char *zend_vm_opcodes_map[173] = { "ZEND_ASSIGN", "ZEND_ASSIGN_REF", "ZEND_ECHO", - NULL, + "ZEND_GENERATOR_CREATE", "ZEND_JMP", "ZEND_JMPZ", "ZEND_JMPNZ", @@ -71,9 +71,9 @@ const char *zend_vm_opcodes_map[173] = { "ZEND_JMPZ_EX", "ZEND_JMPNZ_EX", "ZEND_CASE", - NULL, - NULL, - NULL, + "ZEND_CHECK_VAR", + "ZEND_SEND_VAR_NO_REF_EX", + "ZEND_MAKE_REF", "ZEND_BOOL", "ZEND_FAST_CONCAT", "ZEND_ROPE_INIT", @@ -195,8 +195,215 @@ const char *zend_vm_opcodes_map[173] = { "ZEND_SPACESHIP", "ZEND_DECLARE_ANON_CLASS", "ZEND_DECLARE_ANON_INHERITED_CLASS", + "ZEND_FETCH_STATIC_PROP_R", + "ZEND_FETCH_STATIC_PROP_W", + "ZEND_FETCH_STATIC_PROP_RW", + "ZEND_FETCH_STATIC_PROP_IS", + "ZEND_FETCH_STATIC_PROP_FUNC_ARG", + "ZEND_FETCH_STATIC_PROP_UNSET", + "ZEND_UNSET_STATIC_PROP", + "ZEND_ISSET_ISEMPTY_STATIC_PROP", + "ZEND_FETCH_CLASS_CONSTANT", + "ZEND_BIND_LEXICAL", + "ZEND_BIND_STATIC", + "ZEND_FETCH_THIS", + NULL, + "ZEND_ISSET_ISEMPTY_THIS", +}; + +static uint32_t zend_vm_opcodes_flags[187] = { + 0x00000000, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000007, + 0x00000007, + 0x00000707, + 0x00000303, + 0x00000303, + 0x00000707, + 0x00000707, + 0x00000707, + 0x00000707, + 0x07000003, + 0x00000003, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x04006751, + 0x00000001, + 0x00000001, + 0x00000001, + 0x00000001, + 0x00000301, + 0x0b000101, + 0x00000007, + 0x00000000, + 0x00000020, + 0x00002007, + 0x00002007, + 0x03002007, + 0x00002007, + 0x00002007, + 0x00000707, + 0x00000101, + 0x00001001, + 0x00000101, + 0x00000007, + 0x00000707, + 0x01000701, + 0x01000701, + 0x01000701, + 0x00000000, + 0x00000001, + 0x01000300, + 0x00000000, + 0x01000310, + 0x00000003, + 0x00000010, + 0x00000310, + 0x00001007, + 0x00001001, + 0x00001001, + 0x01000073, + 0x01000300, + 0x00004005, + 0x00186703, + 0x00106703, + 0x08000007, + 0x00030107, + 0x00000701, + 0x00000751, + 0x00002003, + 0x03000001, + 0x00000007, + 0x00010107, + 0x00000707, + 0x00000753, + 0x00010107, + 0x00006701, + 0x00000751, + 0x00010107, + 0x00006701, + 0x00000751, + 0x00010107, + 0x00000707, + 0x00000757, + 0x00050107, + 0x01006703, + 0x01000753, + 0x00010107, + 0x00000701, + 0x00000751, + 0x00000707, + 0x06000301, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x01000000, + 0x00001001, + 0x03000103, + 0x00000003, + 0x05000700, + 0x00000057, + 0x0b000003, + 0x01000757, + 0x01008773, + 0x00030107, + 0x00020707, + 0x00001003, + 0x00001001, + 0x01000703, + 0x00000000, + 0x00001003, + 0x00000007, + 0x00000003, + 0x07000003, + 0x00000103, + 0x00002003, + 0x03000001, + 0x00004005, + 0x01000700, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000751, + 0x00000751, + 0x00000751, + 0x00000751, + 0x00000751, + 0x00000000, + 0x00007305, + 0x00000000, + 0x00000100, + 0x00000000, + 0x00000003, + 0x00000303, + 0x00000300, + 0x00000100, + 0x00000000, + 0x00006701, + 0x00020757, + 0x00000000, + 0x00000000, + 0x00002000, + 0x00002003, + 0x00000103, + 0x00000000, + 0x00000000, + 0x00000101, + 0x05000000, + 0x00000000, + 0x00000000, + 0x0b000303, + 0x00000003, + 0x00000020, + 0x00003000, + 0x00000010, + 0x00000000, + 0x00000707, + 0x04006751, + 0x00000301, + 0x00002003, + 0x00000707, + 0x03000000, + 0x03000100, + 0x00007307, + 0x00007307, + 0x00007307, + 0x00007307, + 0x01007307, + 0x00007307, + 0x00007307, + 0x00027307, + 0x00000373, + 0x00100101, + 0x00100301, + 0x00000101, + 0x00000000, + 0x00000101, }; ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) { - return zend_vm_opcodes_map[opcode]; + return zend_vm_opcodes_names[opcode]; +} +ZEND_API uint32_t zend_get_opcode_flags(zend_uchar opcode) { + return zend_vm_opcodes_flags[opcode]; } |