mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Stop trace recording only on ENTER to FAKE_CLOSURE (continue on EXIT) (#16455)
This commit is contained in:
parent
99aa43a65a
commit
6d9f040d29
1 changed files with 6 additions and 2 deletions
|
@ -960,8 +960,7 @@ zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute(zend_execute_data *ex,
|
||||||
jit_extension =
|
jit_extension =
|
||||||
(zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array);
|
(zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array);
|
||||||
if (UNEXPECTED(!jit_extension)
|
if (UNEXPECTED(!jit_extension)
|
||||||
|| UNEXPECTED(!(jit_extension->func_info.flags & ZEND_FUNC_JIT_ON_HOT_TRACE))
|
|| UNEXPECTED(!(jit_extension->func_info.flags & ZEND_FUNC_JIT_ON_HOT_TRACE))) {
|
||||||
|| (op_array->fn_flags & ZEND_ACC_FAKE_CLOSURE)) {
|
|
||||||
stop = ZEND_JIT_TRACE_STOP_INTERPRETER;
|
stop = ZEND_JIT_TRACE_STOP_INTERPRETER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -995,6 +994,11 @@ zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute(zend_execute_data *ex,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (EX(func)->op_array.fn_flags & ZEND_ACC_FAKE_CLOSURE) {
|
||||||
|
stop = ZEND_JIT_TRACE_STOP_INTERPRETER;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
TRACE_RECORD(ZEND_JIT_TRACE_ENTER,
|
TRACE_RECORD(ZEND_JIT_TRACE_ENTER,
|
||||||
EX(return_value) != NULL ? ZEND_JIT_TRACE_RETURN_VALUE_USED : 0,
|
EX(return_value) != NULL ? ZEND_JIT_TRACE_RETURN_VALUE_USED : 0,
|
||||||
op_array);
|
op_array);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue