summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_opcodes.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-03-24 22:47:21 +0300
committerDmitry Stogov <dmitry@zend.com>2015-03-24 22:47:21 +0300
commit23c33b14835efdf228b0bc08f40215972f61f842 (patch)
tree61c504f77e9af0779180b0d3eaf8d4e330450754 /Zend/zend_vm_opcodes.h
parentbdf7fc67d8a146b4a5387c56268181c63047dfe6 (diff)
downloadphp-git-23c33b14835efdf228b0bc08f40215972f61f842.tar.gz
Optimized strings concatenation.
ZEND_ADD_STRING/VAR/CHAR are replaced with ZEND_ROPE_INTI, ZEND_ROPE_ADD, ZEND_ROPE_END. Instead of reallocation and copying string on each ZEND_ADD_STRING/VAR/CAHR, collect all the strings and then allocate and construct the resulting string once.
Diffstat (limited to 'Zend/zend_vm_opcodes.h')
-rw-r--r--Zend/zend_vm_opcodes.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h
index 86fe5590d6..84b7cd9882 100644
--- a/Zend/zend_vm_opcodes.h
+++ b/Zend/zend_vm_opcodes.h
@@ -85,9 +85,10 @@ END_EXTERN_C()
#define ZEND_BRK 50
#define ZEND_CONT 51
#define ZEND_BOOL 52
-#define ZEND_ADD_CHAR 54
-#define ZEND_ADD_STRING 55
-#define ZEND_ADD_VAR 56
+#define ZEND_FAST_CONCAT 53
+#define ZEND_ROPE_INIT 54
+#define ZEND_ROPE_ADD 55
+#define ZEND_ROPE_END 56
#define ZEND_BEGIN_SILENCE 57
#define ZEND_END_SILENCE 58
#define ZEND_INIT_FCALL_BY_NAME 59