diff options
Diffstat (limited to 'Zend/zend_vm_opcodes.c')
| -rw-r--r-- | Zend/zend_vm_opcodes.c | 201 |
1 files changed, 199 insertions, 2 deletions
diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c index 1f26f0439e..d8952ecc4c 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[182] = { "ZEND_NOP", "ZEND_ADD", "ZEND_SUB", @@ -195,8 +195,205 @@ 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", +}; + +static uint32_t zend_vm_opcodes_flags[182] = { + 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, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000007, + 0x00000707, + 0x01000701, + 0x01000701, + 0x01000701, + 0x00000000, + 0x00000001, + 0x01000300, + 0x00000000, + 0x01000300, + 0x00000003, + 0x00000010, + 0x00000310, + 0x00001003, + 0x00001001, + 0x00001001, + 0x01002073, + 0x01000300, + 0x00004005, + 0x00186703, + 0x00106703, + 0x08000007, + 0x00030107, + 0x00000751, + 0x00000751, + 0x00002003, + 0x03000001, + 0x00000007, + 0x00010107, + 0x00000707, + 0x00000753, + 0x00010107, + 0x00006701, + 0x00000751, + 0x00010107, + 0x00006701, + 0x00000751, + 0x00010107, + 0x00000707, + 0x00000757, + 0x00050107, + 0x01006703, + 0x01000753, + 0x00010107, + 0x00000701, + 0x00000751, + 0x00000307, + 0x06000301, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x01000000, + 0x0c001001, + 0x03000103, + 0x00000003, + 0x05000700, + 0x00000057, + 0x0b000003, + 0x01000757, + 0x01008773, + 0x00030107, + 0x00020757, + 0x00001003, + 0x00001001, + 0x01000703, + 0x00000000, + 0x00001001, + 0x00000007, + 0x00000003, + 0x07000003, + 0x00000103, + 0x00002003, + 0x03000001, + 0x00004005, + 0x01000700, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000751, + 0x00000751, + 0x00000751, + 0x00000751, + 0x00000751, + 0x00000000, + 0x00007305, + 0x00000000, + 0x02000000, + 0x00000000, + 0x00000003, + 0x00000303, + 0x00000300, + 0x02000000, + 0x00000000, + 0x00006701, + 0x00020757, + 0x00000000, + 0x00000000, + 0x00002000, + 0x00002003, + 0x00000103, + 0x00000000, + 0x00000000, + 0x00000101, + 0x05000000, + 0x00000000, + 0x00000000, + 0x0b000303, + 0x00000003, + 0x09003020, + 0x0a003000, + 0x00000010, + 0x00000000, + 0x00000707, + 0x04006751, + 0x00000301, + 0x00002003, + 0x00000707, + 0x00000020, + 0x02000020, + 0x00007307, + 0x00007307, + 0x00007307, + 0x00007307, + 0x01007307, + 0x00007307, + 0x00007307, + 0x00027307, + 0x00000373, }; 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]; } |
