summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_execute.skl
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-05-24 14:11:39 +0000
committerDmitry Stogov <dmitry@php.net>2010-05-24 14:11:39 +0000
commitc5237d82bf01a762bb38f80def59b9c16cb84dc1 (patch)
tree6e769820ba97ef669765c6ecfeabb08faf9e6ebc /Zend/zend_vm_execute.skl
parent1cabc8cd3a3bf5c12a8ece9efb59e3f5381f1ae5 (diff)
downloadphp-git-c5237d82bf01a762bb38f80def59b9c16cb84dc1.tar.gz
Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties
Diffstat (limited to 'Zend/zend_vm_execute.skl')
-rw-r--r--Zend/zend_vm_execute.skl4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_vm_execute.skl b/Zend/zend_vm_execute.skl
index 6f6fed9834..05584d6fb3 100644
--- a/Zend/zend_vm_execute.skl
+++ b/Zend/zend_vm_execute.skl
@@ -39,6 +39,10 @@ zend_vm_enter:
LOAD_REGS();
+ if (!op_array->run_time_cache && op_array->last_cache_slot) {
+ op_array->run_time_cache = ecalloc(op_array->last_cache_slot, sizeof(void*));
+ }
+
if (op_array->this_var != -1 && EG(This)) {
Z_ADDREF_P(EG(This)); /* For $this pointer */
if (!EG(active_symbol_table)) {