# define ZEND_VM_REPEATABLE_OPCODE \
do {
# define ZEND_VM_REPEAT_OPCODE(_opcode) \
- } while (UNEXPECTED(OPLINE->opcode == _opcode))
+ } while (UNEXPECTED((++opline)->opcode == _opcode)); \
+ OPLINE = opline; \
+ ZEND_VM_CONTINUE()
# define ZEND_VM_SMART_BRANCH(_result, _check) do { \
int __result; \
if (EXPECTED((opline+1)->opcode == ZEND_JMPZ)) { \
}
}
- ZEND_VM_INC_OPCODE();
ZEND_VM_REPEAT_OPCODE(ZEND_RECV_INIT);
- ZEND_VM_CONTINUE();
+ ZEND_VM_NEXT_OPCODE();
}
ZEND_VM_HANDLER(164, ZEND_RECV_VARIADIC, ANY, ANY)
ZVAL_REF(variable_ptr, ref);
}
- ZEND_VM_INC_OPCODE();
ZEND_VM_REPEAT_OPCODE(ZEND_BIND_GLOBAL);
- ZEND_VM_CONTINUE();
+ ZEND_VM_NEXT_OPCODE();
}
ZEND_VM_HANDLER(121, ZEND_STRLEN, CONST|TMPVAR|CV, ANY)
}
}
- ZEND_VM_INC_OPCODE();
ZEND_VM_REPEAT_OPCODE(ZEND_RECV_INIT);
- ZEND_VM_CONTINUE();
+ ZEND_VM_NEXT_OPCODE();
}
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BRK_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
ZVAL_REF(variable_ptr, ref);
}
- ZEND_VM_INC_OPCODE();
ZEND_VM_REPEAT_OPCODE(ZEND_BIND_GLOBAL);
- ZEND_VM_CONTINUE();
+ ZEND_VM_NEXT_OPCODE();
}
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)