summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2015-06-12 17:26:41 +0200
committerBob Weinand <bobwei9@hotmail.com>2015-06-12 17:26:53 +0200
commit7c2a0157c7c71a55dce2d4dade854a4d6ccb03e9 (patch)
tree841a00955deaabd39939a2a3e9eaaeaa1c76483f /Zend/zend_opcode.c
parentc8723564d4a55f99a83e011dfaf392a1aa5cbf1d (diff)
downloadphp-git-7c2a0157c7c71a55dce2d4dade854a4d6ccb03e9.tar.gz
Cache the class_name typehint key in arg_info
This leads to up to 2% improvement on one tested real world application by not having to always recalculate the lowercased string and its hash
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index 1c760c5902..abb91b1ee3 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -410,6 +410,10 @@ ZEND_API void destroy_op_array(zend_op_array *op_array)
}
if (arg_info[i].class_name) {
zend_string_release(arg_info[i].class_name);
+
+ if (arg_info[i].lower_class_name) {
+ zend_string_release(arg_info[i].lower_class_name);
+ }
}
}
efree(arg_info);