diff options
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/zend_execute_API.c | 2 | ||||
-rw-r--r-- | Zend/zend_globals.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 6986841db2..1b48bed125 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -794,9 +794,11 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) / if (func->type == ZEND_USER_FUNCTION) { int call_via_handler = (func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) != 0; const zend_op *current_opline_before_exception = EG(opline_before_exception); + uint32_t orig_jit_trace_num = EG(jit_trace_num); zend_init_func_execute_data(call, &func->op_array, fci->retval); zend_execute_ex(call); + EG(jit_trace_num) = orig_jit_trace_num; EG(opline_before_exception) = current_opline_before_exception; if (call_via_handler) { /* We must re-initialize function again */ diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h index 298c22fe61..1d64d001f6 100644 --- a/Zend/zend_globals.h +++ b/Zend/zend_globals.h @@ -164,6 +164,8 @@ struct _zend_executor_globals { struct _zend_execute_data *current_execute_data; zend_class_entry *fake_scope; /* used to avoid checks accessing properties */ + uint32_t jit_trace_num; /* Used by tracing JIT to reference the currently running trace */ + zend_long precision; int ticks_count; |