diff options
author | Xinchen Hui <laruence@gmail.com> | 2015-12-19 00:20:18 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2015-12-19 00:20:18 +0800 |
commit | 916f10ac315bcca24d546404771792cc54b2168e (patch) | |
tree | 1321ff3d09e3ba35fe9270f6012e56c7c0d767d2 /ext | |
parent | 512498d08344f72072aef4b72700120d85253508 (diff) | |
parent | b715845650a5793c647fdf2604664af569cc5661 (diff) | |
download | php-git-916f10ac315bcca24d546404771792cc54b2168e.tar.gz |
Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
Diffstat (limited to 'ext')
-rw-r--r-- | ext/opcache/Optimizer/pass1_5.c | 5 | ||||
-rw-r--r-- | ext/opcache/Optimizer/zend_optimizer.h | 3 | ||||
-rw-r--r-- | ext/opcache/tests/bug71127.phpt | 1 |
3 files changed, 5 insertions, 4 deletions
diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index 7e0d14ac60..24c28e976e 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -42,9 +42,8 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) int i = 0; zend_op *opline = op_array->opcodes; zend_op *end = opline + op_array->last; - /* bug #71127* - zend_bool collect_constants = (op_array == &ctx->script->main_op_array); */ - zend_bool collect_constants = 0; + zend_bool collect_constants = (ZEND_OPTIMIZER_PASS_15 & OPTIMIZATION_LEVEL)? + (op_array == &ctx->script->main_op_array) : 0; while (opline < end) { switch (opline->opcode) { diff --git a/ext/opcache/Optimizer/zend_optimizer.h b/ext/opcache/Optimizer/zend_optimizer.h index 27c6159b7d..8c1b8eace8 100644 --- a/ext/opcache/Optimizer/zend_optimizer.h +++ b/ext/opcache/Optimizer/zend_optimizer.h @@ -39,9 +39,10 @@ #define ZEND_OPTIMIZER_PASS_12 (1<<11) /* Adjust used stack */ #define ZEND_OPTIMIZER_PASS_13 (1<<12) #define ZEND_OPTIMIZER_PASS_14 (1<<13) +#define ZEND_OPTIMIZER_PASS_15 (1<<14) /* Collect constants */ #define ZEND_OPTIMIZER_ALL_PASSES 0xFFFFFFFF -#define DEFAULT_OPTIMIZATION_LEVEL "0xFFFFFFFF" +#define DEFAULT_OPTIMIZATION_LEVEL "0xFFFFBFFF" #endif diff --git a/ext/opcache/tests/bug71127.phpt b/ext/opcache/tests/bug71127.phpt index 78c5535062..5770aea1fb 100644 --- a/ext/opcache/tests/bug71127.phpt +++ b/ext/opcache/tests/bug71127.phpt @@ -3,6 +3,7 @@ Bug #71127 (Define in auto_prepend_file is overwrite) --INI-- opcache.enable=1 opcache.enable_cli=1 +opcache.optimization_level=0xFFFFBFFF --SKIPIF-- <?php if (!extension_loaded('Zend OPcache')) die("skip"); ?> --FILE-- |