Improved fix for #71127

This commit is contained in:
Xinchen Hui 2015-12-18 17:37:40 +08:00
parent 940c68b55d
commit 40702799b5
3 changed files with 5 additions and 4 deletions

View File

@ -16,9 +16,8 @@ if (ZEND_OPTIMIZER_PASS_1 & OPTIMIZATION_LEVEL) {
int i = 0;
zend_op *opline = op_array->opcodes;
zend_op *end = opline + op_array->last;
/* bug #71127*
zend_bool collect_constants = (op_array == &script->main_op_array); */
zend_bool collect_constants = 0;
zend_bool collect_constants = (ZEND_OPTIMIZER_PASS_15 & OPTIMIZATION_LEVEL)?
(op_array == &script->main_op_array) : 0;
while (opline < end) {
switch (opline->opcode) {

View File

@ -39,9 +39,10 @@
#define ZEND_OPTIMIZER_PASS_12 (1<<11)
#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

View File

@ -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--