summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_opcodes.h
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-12-29 11:16:08 +0100
committerNikita Popov <nikic@php.net>2015-12-29 23:14:53 +0100
commit65e456f3649c649d8450325fc677442380911598 (patch)
tree5328e908895f890e22eba0f3c6b05bd4624d161b /Zend/zend_vm_opcodes.h
parent4440436821404ff3c76682726e63d1aaf381f73a (diff)
downloadphp-git-65e456f3649c649d8450325fc677442380911598.tar.gz
Introduce BIND_LEXICAL
This opcodes inserts a local CV into the closure static variable table. This replaces the previous mechanism of having static variables marked as LEXICAL, which perform a symtable lookup during copying. This means a) functions which contain closures no longer have to rebuild their symtable (better performance) and b) we can now track used variables in SSA.
Diffstat (limited to 'Zend/zend_vm_opcodes.h')
-rw-r--r--Zend/zend_vm_opcodes.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h
index 21f48cdb2b..03793910b2 100644
--- a/Zend/zend_vm_opcodes.h
+++ b/Zend/zend_vm_opcodes.h
@@ -254,7 +254,8 @@ END_EXTERN_C()
#define ZEND_UNSET_STATIC_PROP 179
#define ZEND_ISSET_ISEMPTY_STATIC_PROP 180
#define ZEND_FETCH_CLASS_CONSTANT 181
+#define ZEND_BIND_LEXICAL 182
-#define ZEND_VM_LAST_OPCODE 181
+#define ZEND_VM_LAST_OPCODE 182
#endif