From: Dmitry Stogov Date: Thu, 29 Oct 2015 19:50:45 +0000 (+0300) Subject: Argument type renaming (ADDR->JMP_ADDR, OPLINE->JMP_ABS, REL_OPLINE->JMP_REL) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9ccb432cab331e3905e4c746324d0bd6dc31286a;p=php Argument type renaming (ADDR->JMP_ADDR, OPLINE->JMP_ABS, REL_OPLINE->JMP_REL) --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 41040596e0..3e34be18cd 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2514,7 +2514,7 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) } } -ZEND_VM_HANDLER(42, ZEND_JMP, ADDR, ANY) +ZEND_VM_HANDLER(42, ZEND_JMP, JMP_ADDR, ANY) { USE_OPLINE @@ -2522,7 +2522,7 @@ ZEND_VM_HANDLER(42, ZEND_JMP, ADDR, ANY) ZEND_VM_CONTINUE(); } -ZEND_VM_HANDLER(43, ZEND_JMPZ, CONST|TMPVAR|CV, ADDR) +ZEND_VM_HANDLER(43, ZEND_JMPZ, CONST|TMPVAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -2557,7 +2557,7 @@ ZEND_VM_HANDLER(43, ZEND_JMPZ, CONST|TMPVAR|CV, ADDR) ZEND_VM_JMP(opline); } -ZEND_VM_HANDLER(44, ZEND_JMPNZ, CONST|TMPVAR|CV, ADDR) +ZEND_VM_HANDLER(44, ZEND_JMPNZ, CONST|TMPVAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -2591,7 +2591,7 @@ ZEND_VM_HANDLER(44, ZEND_JMPNZ, CONST|TMPVAR|CV, ADDR) ZEND_VM_JMP(opline); } -ZEND_VM_HANDLER(45, ZEND_JMPZNZ, CONST|TMPVAR|CV, ADDR, REL_OPLINE) +ZEND_VM_HANDLER(45, ZEND_JMPZNZ, CONST|TMPVAR|CV, JMP_ADDR, JMP_REL) { USE_OPLINE zend_free_op free_op1; @@ -2628,7 +2628,7 @@ ZEND_VM_HANDLER(45, ZEND_JMPZNZ, CONST|TMPVAR|CV, ADDR, REL_OPLINE) ZEND_VM_JMP(opline); } -ZEND_VM_HANDLER(46, ZEND_JMPZ_EX, CONST|TMPVAR|CV, ADDR) +ZEND_VM_HANDLER(46, ZEND_JMPZ_EX, CONST|TMPVAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -2671,7 +2671,7 @@ ZEND_VM_HANDLER(46, ZEND_JMPZ_EX, CONST|TMPVAR|CV, ADDR) ZEND_VM_JMP(opline); } -ZEND_VM_HANDLER(47, ZEND_JMPNZ_EX, CONST|TMPVAR|CV, ADDR) +ZEND_VM_HANDLER(47, ZEND_JMPNZ_EX, CONST|TMPVAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -4205,7 +4205,7 @@ ZEND_VM_HANDLER(108, ZEND_THROW, CONST|TMP|VAR|CV, ANY) HANDLE_EXCEPTION(); } -ZEND_VM_HANDLER(107, ZEND_CATCH, CONST, CV, OPLINE) +ZEND_VM_HANDLER(107, ZEND_CATCH, CONST, CV, JMP_ABS) { USE_OPLINE zend_class_entry *ce, *catch_ce; @@ -4971,7 +4971,7 @@ ZEND_VM_HANDLER(48, ZEND_CASE, CONST|TMPVAR|CV, CONST|TMPVAR|CV) ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } -ZEND_VM_HANDLER(68, ZEND_NEW, UNUSED|CONST|VAR, ADDR, NUM) +ZEND_VM_HANDLER(68, ZEND_NEW, UNUSED|CONST|VAR, JMP_ADDR, NUM) { USE_OPLINE zval object_zval; @@ -5828,7 +5828,7 @@ ZEND_VM_HANDLER(76, ZEND_UNSET_OBJ, VAR|UNUSED|CV, CONST|TMPVAR|CV) ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } -ZEND_VM_HANDLER(77, ZEND_FE_RESET_R, CONST|TMP|VAR|CV, ADDR) +ZEND_VM_HANDLER(77, ZEND_FE_RESET_R, CONST|TMP|VAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -5933,7 +5933,7 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET_R, CONST|TMP|VAR|CV, ADDR) } } -ZEND_VM_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, ADDR) +ZEND_VM_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -6097,7 +6097,7 @@ ZEND_VM_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, ADDR) } } -ZEND_VM_HANDLER(78, ZEND_FE_FETCH_R, VAR, ANY, REL_OPLINE) +ZEND_VM_HANDLER(78, ZEND_FE_FETCH_R, VAR, ANY, JMP_REL) { USE_OPLINE zval *array; @@ -6274,7 +6274,7 @@ ZEND_VM_C_LABEL(fe_fetch_r_exit): ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(126, ZEND_FE_FETCH_RW, VAR, ANY, REL_OPLINE) +ZEND_VM_HANDLER(126, ZEND_FE_FETCH_RW, VAR, ANY, JMP_REL) { USE_OPLINE zval *array; @@ -6865,7 +6865,7 @@ ZEND_VM_HANDLER(58, ZEND_END_SILENCE, TMP, ANY) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(152, ZEND_JMP_SET, CONST|TMP|VAR|CV, ADDR) +ZEND_VM_HANDLER(152, ZEND_JMP_SET, CONST|TMP|VAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -6904,7 +6904,7 @@ ZEND_VM_HANDLER(152, ZEND_JMP_SET, CONST|TMP|VAR|CV, ADDR) ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } -ZEND_VM_HANDLER(169, ZEND_COALESCE, CONST|TMP|VAR|CV, ADDR) +ZEND_VM_HANDLER(169, ZEND_COALESCE, CONST|TMP|VAR|CV, JMP_ADDR) { USE_OPLINE zend_free_op free_op1; @@ -7046,7 +7046,7 @@ ZEND_VM_HANDLER(145, ZEND_DECLARE_INHERITED_CLASS_DELAYED, ANY, ANY, VAR) ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } -ZEND_VM_HANDLER(171, ZEND_DECLARE_ANON_CLASS, ADDR, ANY) +ZEND_VM_HANDLER(171, ZEND_DECLARE_ANON_CLASS, JMP_ADDR, ANY) { zend_class_entry *ce; USE_OPLINE @@ -7067,7 +7067,7 @@ ZEND_VM_HANDLER(171, ZEND_DECLARE_ANON_CLASS, ADDR, ANY) ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } -ZEND_VM_HANDLER(172, ZEND_DECLARE_ANON_INHERITED_CLASS, ADDR, ANY, VAR) +ZEND_VM_HANDLER(172, ZEND_DECLARE_ANON_INHERITED_CLASS, JMP_ADDR, ANY, VAR) { zend_class_entry *ce; USE_OPLINE @@ -7671,7 +7671,7 @@ ZEND_VM_HANDLER(159, ZEND_DISCARD_EXCEPTION, ANY, ANY) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(162, ZEND_FAST_CALL, ADDR, OPLINE, FAST_CALL) +ZEND_VM_HANDLER(162, ZEND_FAST_CALL, JMP_ADDR, JMP_ABS, FAST_CALL) { USE_OPLINE zval *fast_call = EX_VAR(opline->result.var); @@ -7687,7 +7687,7 @@ ZEND_VM_HANDLER(162, ZEND_FAST_CALL, ADDR, OPLINE, FAST_CALL) ZEND_VM_CONTINUE(); } -ZEND_VM_HANDLER(163, ZEND_FAST_RET, ANY, OPLINE, FAST_RET) +ZEND_VM_HANDLER(163, ZEND_FAST_RET, ANY, JMP_ABS, FAST_RET) { USE_OPLINE zval *fast_call = EX_VAR(opline->op1.var); @@ -7913,7 +7913,7 @@ ZEND_VM_HANDLER(122, ZEND_DEFINED, CONST, ANY) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(151, ZEND_ASSERT_CHECK, ANY, ADDR) +ZEND_VM_HANDLER(151, ZEND_ASSERT_CHECK, ANY, JMP_ADDR) { USE_OPLINE diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php index 2f93acc1d6..5c5a9aa289 100644 --- a/Zend/zend_vm_gen.php +++ b/Zend/zend_vm_gen.php @@ -59,20 +59,20 @@ $vm_op_flags = array( "ZEND_VM_OP1_CONST" => 1<<1, "ZEND_VM_OP1_TMPVAR" => 1<<2, "ZEND_VM_OP1_NUM" => 1<<3, - "ZEND_VM_OP1_ADDR" => 1<<4, - "ZEND_VM_OP1_OPLINE" => 1<<5, + "ZEND_VM_OP1_JMP_ADDR" => 1<<4, + "ZEND_VM_OP1_JMP_ABS" => 1<<5, "ZEND_VM_OP2_SPEC" => 1<<8, "ZEND_VM_OP2_CONST" => 1<<9, "ZEND_VM_OP2_TMPVAR" => 1<<10, "ZEND_VM_OP2_NUM" => 1<<11, - "ZEND_VM_OP2_ADDR" => 1<<12, - "ZEND_VM_OP2_OPLINE" => 1<<13, + "ZEND_VM_OP2_JMP_ADDR" => 1<<12, + "ZEND_VM_OP2_JMP_ABS" => 1<<13, "ZEND_VM_EXT_NUM" => 1<<16, "ZEND_VM_EXT_VAR" => 1<<17, - "ZEND_VM_EXT_OPLINE" => 1<<18, - "ZEND_VM_EXT_REL_OPLINE" => 1<<19, + "ZEND_VM_EXT_JMP_ABS" => 1<<18, + "ZEND_VM_EXT_JMP_REL" => 1<<19, "ZEND_VM_EXT_DIM_OBJ" => 1<<20, "ZEND_VM_EXT_CLASS_FETCH" => 1<<21, "ZEND_VM_EXT_CONST_FETCH" => 1<<22, @@ -98,15 +98,15 @@ $vm_op_decode = array( "CV" => ZEND_VM_OP1_SPEC, "TMPVAR" => ZEND_VM_OP1_SPEC | ZEND_VM_OP1_TMPVAR, "NUM" => ZEND_VM_OP1_NUM, - "ADDR" => ZEND_VM_OP1_ADDR, - "OPLINE" => ZEND_VM_OP1_OPLINE, + "JMP_ADDR" => ZEND_VM_OP1_JMP_ADDR, + "JMP_ABS" => ZEND_VM_OP1_JMP_ABS, ); $vm_ext_decode = array( "NUM" => ZEND_VM_EXT_NUM, "VAR" => ZEND_VM_EXT_VAR, - "OPLINE" => ZEND_VM_EXT_OPLINE, - "REL_OPLINE" => ZEND_VM_EXT_REL_OPLINE, + "JMP_ABS" => ZEND_VM_EXT_JMP_ABS, + "JMP_REL" => ZEND_VM_EXT_JMP_REL, "DIM_OBJ" => ZEND_VM_EXT_DIM_OBJ, "CLASS_FETCH" => ZEND_VM_EXT_CLASS_FETCH, "CONST_FETCH" => ZEND_VM_EXT_CONST_FETCH, @@ -1444,7 +1444,7 @@ function gen_vm($def, $skel) { if (strpos($line,"ZEND_VM_HANDLER(") === 0) { // Parsing opcode handler's definition if (preg_match( - "/^ZEND_VM_HANDLER\(\s*([0-9]+)\s*,\s*([A-Z_]+)\s*,\s*([A-Z|]+)\s*,\s*([A-Z|]+)\s*(,\s*([A-Z_|]+)\s*)?\)/", + "/^ZEND_VM_HANDLER\(\s*([0-9]+)\s*,\s*([A-Z_]+)\s*,\s*([A-Z_|]+)\s*,\s*([A-Z_|]+)\s*(,\s*([A-Z_|]+)\s*)?\)/", $line, $m) == 0) { die("ERROR ($def:$lineno): Invalid ZEND_VM_HANDLER definition.\n"); @@ -1479,7 +1479,7 @@ function gen_vm($def, $skel) { } else if (strpos($line,"ZEND_VM_HELPER(") === 0) { // Parsing helper's definition if (preg_match( - "/^ZEND_VM_HELPER\(\s*([A-Za-z_]+)\s*,\s*([A-Z|]+)\s*,\s*([A-Z|]+)\s*\)/", + "/^ZEND_VM_HELPER\(\s*([A-Za-z_]+)\s*,\s*([A-Z_|]+)\s*,\s*([A-Z_|]+)\s*\)/", $line, $m) == 0) { die("ERROR ($def:$lineno): Invalid ZEND_VM_HELPER definition.\n"); @@ -1496,7 +1496,7 @@ function gen_vm($def, $skel) { } else if (strpos($line,"ZEND_VM_HELPER_EX(") === 0) { // Parsing helper with parameter definition if (preg_match( - "/^ZEND_VM_HELPER_EX\(\s*([A-Za-z_]+)\s*,\s*([A-Z|]+)\s*,\s*([A-Z|]+)\s*,\s*(.*)\s*\)/", + "/^ZEND_VM_HELPER_EX\(\s*([A-Za-z_]+)\s*,\s*([A-Z_|]+)\s*,\s*([A-Z_|]+)\s*,\s*(.*)\s*\)/", $line, $m) == 0) { die("ERROR ($def:$lineno): Invalid ZEND_VM_HELPER definition.\n"); diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index 2eab6e7585..612406fb8b 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -32,18 +32,18 @@ #define ZEND_VM_OP1_CONST 0x00000002 #define ZEND_VM_OP1_TMPVAR 0x00000004 #define ZEND_VM_OP1_NUM 0x00000008 -#define ZEND_VM_OP1_ADDR 0x00000010 -#define ZEND_VM_OP1_OPLINE 0x00000020 +#define ZEND_VM_OP1_JMP_ADDR 0x00000010 +#define ZEND_VM_OP1_JMP_ABS 0x00000020 #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_ADDR 0x00001000 -#define ZEND_VM_OP2_OPLINE 0x00002000 +#define ZEND_VM_OP2_JMP_ADDR 0x00001000 +#define ZEND_VM_OP2_JMP_ABS 0x00002000 #define ZEND_VM_EXT_NUM 0x00010000 #define ZEND_VM_EXT_VAR 0x00020000 -#define ZEND_VM_EXT_OPLINE 0x00040000 -#define ZEND_VM_EXT_REL_OPLINE 0x00080000 +#define ZEND_VM_EXT_JMP_ABS 0x00040000 +#define ZEND_VM_EXT_JMP_REL 0x00080000 #define ZEND_VM_EXT_DIM_OBJ 0x00100000 #define ZEND_VM_EXT_CLASS_FETCH 0x00200000 #define ZEND_VM_EXT_CONST_FETCH 0x00400000