}
}
-ZEND_VM_HANDLER(42, ZEND_JMP, ADDR, ANY)
+ZEND_VM_HANDLER(42, ZEND_JMP, JMP_ADDR, ANY)
{
USE_OPLINE
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;
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;
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;
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;
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;
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;
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;
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;
}
}
-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;
}
}
-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;
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;
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;
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;
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
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
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);
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);
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
"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,
"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,
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");
} 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");
} 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");
#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