summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_def.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-03-31 18:47:25 +0300
committerDmitry Stogov <dmitry@zend.com>2016-03-31 18:47:25 +0300
commitfcbe1e8edf8614b098057d5c280f6bfbbe753faf (patch)
tree70c7cfee8fbe64790642a7c7d274b67aca3903be /Zend/zend_vm_def.h
parentf3c70f118c54dceea02e50de526c3138c2719384 (diff)
downloadphp-git-fcbe1e8edf8614b098057d5c280f6bfbbe753faf.tar.gz
Use CALL_INFO flag to check if we need to destroy symbol_table.
This saves one memory load on most RETURN opcodes.
Diffstat (limited to 'Zend/zend_vm_def.h')
-rw-r--r--Zend/zend_vm_def.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 2557509381..b4303954ce 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -2521,7 +2521,7 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY)
zend_object *object;
i_free_compiled_variables(execute_data);
- if (UNEXPECTED(EX(symbol_table) != NULL)) {
+ if (UNEXPECTED(call_info & ZEND_CALL_FREE_SYMBOL_TABLE)) {
zend_clean_and_cache_symbol_table(EX(symbol_table));
}
zend_vm_stack_free_extra_args_ex(call_info, execute_data);
@@ -2579,7 +2579,7 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY)
} else {
if (ZEND_CALL_KIND_EX(call_info) == ZEND_CALL_TOP_FUNCTION) {
i_free_compiled_variables(execute_data);
- if (UNEXPECTED(EX(symbol_table) != NULL)) {
+ if (UNEXPECTED(call_info & ZEND_CALL_FREE_SYMBOL_TABLE)) {
zend_clean_and_cache_symbol_table(EX(symbol_table));
}
zend_vm_stack_free_extra_args_ex(call_info, execute_data);