ZEND_VM_HANDLER(79, ZEND_EXIT, CONST|TMP|VAR|UNUSED|CV, ANY)
{
+#ifdef ZEND_OP1_USED
zend_op *opline = EX(opline);
if (OP1_TYPE != IS_UNUSED) {
zend_free_op free_op1;
}
FREE_OP1();
}
+#endif
zend_bailout();
ZEND_VM_NEXT_OPCODE();
}
static int ZEND_EXIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
+#if 1
zend_op *opline = EX(opline);
if (IS_CONST != IS_UNUSED) {
}
}
+#endif
zend_bailout();
ZEND_VM_NEXT_OPCODE();
}
static int ZEND_EXIT_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
+#if 1
zend_op *opline = EX(opline);
if (IS_TMP_VAR != IS_UNUSED) {
zend_free_op free_op1;
}
zval_dtor(free_op1.var);
}
+#endif
zend_bailout();
ZEND_VM_NEXT_OPCODE();
}
static int ZEND_EXIT_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
+#if 1
zend_op *opline = EX(opline);
if (IS_VAR != IS_UNUSED) {
zend_free_op free_op1;
}
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
}
+#endif
zend_bailout();
ZEND_VM_NEXT_OPCODE();
}
static int ZEND_EXIT_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
+#if 0
zend_op *opline = EX(opline);
if (IS_UNUSED != IS_UNUSED) {
}
}
+#endif
zend_bailout();
ZEND_VM_NEXT_OPCODE();
}
static int ZEND_EXIT_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
+#if 1
zend_op *opline = EX(opline);
if (IS_CV != IS_UNUSED) {
}
}
+#endif
zend_bailout();
ZEND_VM_NEXT_OPCODE();
}
"/FREE_OP2_VAR_PTR\(\)/",
"/^#ifdef\s+ZEND_VM_SPEC\s*\n/m",
"/^#ifndef\s+ZEND_VM_SPEC\s*\n/m",
+ "/^#ifdef\s+ZEND_OP1_USED\s*\n/m",
"/ZEND_VM_C_LABEL\(\s*([A-Za-z_]*)\s*\)/m",
"/ZEND_VM_C_GOTO\(\s*([A-Za-z_]*)\s*\)/m",
),
$op2_free_op_var_ptr[$op2],
($op1!="ANY"||$op2!="ANY")?"#if 1\n":"#if 0\n",
($op1!="ANY"||$op2!="ANY")?"#if 0\n":"#if 1\n",
+ ($op1!="UNUSED")?"#if 1\n":"#if 0\n",
"\\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2]):""),
"goto \\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2]):""),
),