#endif
zend_execute_data *prev_call = EX(call);
+ if (UNEXPECTED(opline->opcode == ZEND_HANDLE_EXCEPTION)) {
+ /* Abort trace because of exception */
+ return ZEND_JIT_TRACE_STOP_EXCEPTION;
+ }
+
orig_opline = opline;
jit_extension =
}
while (1) {
- if (UNEXPECTED(opline->opcode == ZEND_HANDLE_EXCEPTION)) {
- /* Abort trace because of exception */
- stop = ZEND_JIT_TRACE_STOP_EXCEPTION;
- break;
- }
-
ce1 = ce2 = NULL;
op1_type = op2_type = op3_type = IS_UNKNOWN;
if ((opline->op1_type & (IS_TMP_VAR|IS_VAR|IS_CV))
opline = EX(opline);
#endif
+ if (UNEXPECTED(opline->opcode == ZEND_HANDLE_EXCEPTION)) {
+ /* Abort trace because of exception */
+ stop = ZEND_JIT_TRACE_STOP_EXCEPTION;
+ break;
+ }
+
trace_flags = ZEND_OP_TRACE_INFO(opline, offset)->trace_flags;
if (trace_flags) {
if (trace_flags & ZEND_JIT_TRACE_JITED) {