summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-05-18 20:48:16 +0400
committerDmitry Stogov <dmitry@zend.com>2014-05-18 20:48:16 +0400
commit3fff53fc5790918bea9a8c04a04a9d8c79ebdbf6 (patch)
treed53f264de6e5364817f32dfe5c705c758baa13f9
parent1759905a23eb4ae0d0d3181a21da911c51d4fbf4 (diff)
downloadphp-git-3fff53fc5790918bea9a8c04a04a9d8c79ebdbf6.tar.gz
Optimize ZEND_POW (Rouven Weßling)
-rw-r--r--ext/opcache/Optimizer/pass1_5.c3
-rw-r--r--ext/opcache/Optimizer/pass3.c8
-rw-r--r--ext/opcache/ZendAccelerator.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c
index 577d1b6609..30705ff18a 100644
--- a/ext/opcache/Optimizer/pass1_5.c
+++ b/ext/opcache/Optimizer/pass1_5.c
@@ -25,6 +25,9 @@ if (ZEND_OPTIMIZER_PASS_1 & OPTIMIZATION_LEVEL) {
case ZEND_MUL:
case ZEND_DIV:
case ZEND_MOD:
+#if ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO
+ case ZEND_POW:
+#endif
case ZEND_SL:
case ZEND_SR:
case ZEND_CONCAT:
diff --git a/ext/opcache/Optimizer/pass3.c b/ext/opcache/Optimizer/pass3.c
index fd2a190009..1ee641ca52 100644
--- a/ext/opcache/Optimizer/pass3.c
+++ b/ext/opcache/Optimizer/pass3.c
@@ -45,6 +45,9 @@ if (ZEND_OPTIMIZER_PASS_3 & OPTIMIZATION_LEVEL) {
case ZEND_MUL:
case ZEND_DIV:
case ZEND_MOD:
+#if ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO
+ case ZEND_POW:
+#endif
case ZEND_CONCAT:
case ZEND_SL:
case ZEND_SR:
@@ -104,6 +107,11 @@ if (ZEND_OPTIMIZER_PASS_3 & OPTIMIZATION_LEVEL) {
case ZEND_MOD:
opline->opcode = ZEND_ASSIGN_MOD;
break;
+#if ZEND_EXTENSION_API_NO >= PHP_5_6_X_API_NO
+ case ZEND_POW:
+ opline->opcode = ZEND_ASSIGN_POW;
+ break;
+#endif
case ZEND_CONCAT:
opline->opcode = ZEND_ASSIGN_CONCAT;
break;
diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h
index d3fa38ea66..a25e766244 100644
--- a/ext/opcache/ZendAccelerator.h
+++ b/ext/opcache/ZendAccelerator.h
@@ -93,6 +93,7 @@
#define PHP_5_3_X_API_NO 220090626
#define PHP_5_4_X_API_NO 220100525
#define PHP_5_5_X_API_NO 220121212
+#define PHP_5_6_X_API_NO 220131226
/*** file locking ***/
#ifndef ZEND_WIN32