summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
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_opcode.c
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_opcode.c')
-rw-r--r--Zend/zend_opcode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index 526f9e2952..1a499b9f19 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -861,6 +861,7 @@ ZEND_API binary_op_type get_binary_op(int opcode)
case ZEND_SR:
case ZEND_ASSIGN_SR:
return (binary_op_type) shift_right_function;
+ case ZEND_FAST_CONCAT:
case ZEND_CONCAT:
case ZEND_ASSIGN_CONCAT:
return (binary_op_type) concat_function;