diff options
| author | Xinchen Hui <laruence@php.net> | 2015-03-25 23:35:56 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@php.net> | 2015-03-25 23:35:56 +0800 |
| commit | 6aaee5fc1418decf049e3c3ab33b97b9d081c892 (patch) | |
| tree | 09455444912ea24eef6d010882b2bb9fb4127726 | |
| parent | c7da95e5ab4f5f8bc015627149a73cfb8b2dbf93 (diff) | |
| parent | e46e9a3d22c22ec567423c25f83a6fd7f9655c52 (diff) | |
| download | php-git-6aaee5fc1418decf049e3c3ab33b97b9d081c892.tar.gz | |
Merge branch 'PHP-5.6'
Conflicts:
ext/opcache/Optimizer/pass1_5.c
| -rw-r--r-- | ext/opcache/Optimizer/pass1_5.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index 9a5ae14de8..3cb11aa809 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -443,7 +443,12 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) func->type == ZEND_INTERNAL_FUNCTION && func->module->type == MODULE_PERSISTENT) { zval t; - ZVAL_TRUE(&t); + if (Z_STRLEN(ZEND_OP2_LITERAL(init_opline)) == sizeof("is_callable") - 1 || + func->handler != ZEND_FN(display_disabled_function)) { + ZVAL_TRUE(&t); + } else { + ZVAL_FALSE(&t); + } if (zend_optimizer_replace_by_const(op_array, opline + 1, IS_VAR, ZEND_RESULT(opline).var, &t)) { literal_dtor(&ZEND_OP2_LITERAL(init_opline)); MAKE_NOP(init_opline); |
