summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-07-15 10:55:41 +0800
committerXinchen Hui <laruence@php.net>2015-07-15 10:55:41 +0800
commitd0bea17d2ed97d889f919e92b93f922b4dff8e9e (patch)
tree54538c4bca6a1b59df073b455d6700e10fd85d68
parent32a4507abc2331712ae4a2d921467f5afbab701c (diff)
downloadphp-git-d0bea17d2ed97d889f919e92b93f922b4dff8e9e.tar.gz
Improve the conditions(save one comparison)
-rw-r--r--Zend/zend_vm_execute.h5
-rw-r--r--Zend/zend_vm_gen.php5
2 files changed, 2 insertions, 8 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 8419dccbc6..a229ba8f73 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -49553,10 +49553,7 @@ ZEND_API int zend_vm_call_opcode_handler(zend_execute_data* ex)
LOAD_OPLINE();
#if defined(ZEND_VM_FP_GLOBAL_REG) && defined(ZEND_VM_IP_GLOBAL_REG)
((opcode_handler_t)OPLINE->handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- ret = (opline) ? execute_data != ex : -1;
- if (ret == 1 && execute_data->prev_execute_data != ex) {
- ret = 2;;
- }
+ ret = opline? ((execute_data != ex)? (int)(execute_data->prev_execute_data != ex) + 1 : 0) : -1;
#else
ret = ((opcode_handler_t)OPLINE->handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
#endif
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index ce4a32185f..ed194486a4 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -1606,10 +1606,7 @@ function gen_vm($def, $skel) {
out($f, "\tLOAD_OPLINE();\n");
out($f,"#if defined(ZEND_VM_FP_GLOBAL_REG) && defined(ZEND_VM_IP_GLOBAL_REG)\n");
out($f, "\t((opcode_handler_t)OPLINE->handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);\n");
- out($f, "\tret = (opline) ? execute_data != ex : -1;\n");
- out($f, "\tif (ret == 1 && execute_data->prev_execute_data != ex) {\n");
- out($f, "\t\tret = 2;;\n");
- out($f, "\t}\n");
+ out($f, "\tret = opline? ((execute_data != ex)? (int)(execute_data->prev_execute_data != ex) + 1 : 0) : -1;\n");
out($f, "#else\n");
out($f, "\tret = ((opcode_handler_t)OPLINE->handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);\n");
out($f, "#endif\n");