From: Dmitry Stogov Date: Wed, 5 Jul 2017 18:48:01 +0000 (+0300) Subject: Fixed final dump "after optimizer" X-Git-Tag: php-7.2.0beta1~140 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7bb4ae59c3f48890b5f3cdac7785a5a91cba26b8;p=php Fixed final dump "after optimizer" --- diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index 99f1cf6a98..cfe10185be 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -980,6 +980,10 @@ static void zend_optimize(zend_op_array *op_array, } } + if (ZEND_OPTIMIZER_PASS_7 & ctx->optimization_level) { + return; + } + if (ctx->debug_level & ZEND_DUMP_AFTER_OPTIMIZER) { zend_dump_op_array(op_array, 0, "after optimizer", NULL); } @@ -1228,6 +1232,20 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend } ZEND_HASH_FOREACH_END(); } + if (debug_level & ZEND_DUMP_AFTER_OPTIMIZER) { + ZEND_HASH_FOREACH_PTR(&script->function_table, op_array) { + zend_dump_op_array(op_array, ZEND_DUMP_RT_CONSTANTS, "after optimizer", NULL); + } ZEND_HASH_FOREACH_END(); + + ZEND_HASH_FOREACH_PTR(&script->class_table, ce) { + ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) { + if (op_array->scope == ce) { + zend_dump_op_array(op_array, ZEND_DUMP_RT_CONSTANTS, "after optimizer", NULL); + } + } ZEND_HASH_FOREACH_END(); + } ZEND_HASH_FOREACH_END(); + } + if (ctx.constants) { zend_hash_destroy(ctx.constants); }