diff options
author | Nikita Popov <nikic@php.net> | 2016-09-09 17:11:25 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2016-09-09 17:11:25 +0200 |
commit | 9a0bb40670747cf33602f391e162fae18c9b3722 (patch) | |
tree | 318248e2197018afe8a1d91a3b532835a2c5d3b8 /ext/opcache/Optimizer/pass1_5.c | |
parent | 3a9d45a12bf300d575a436a5d90cd4dc4c5c0c4a (diff) | |
download | php-git-9a0bb40670747cf33602f391e162fae18c9b3722.tar.gz |
Remove handling for defined() and strlen() in opcache
These are converted by the compiler into DEFINED and STRLEN, no
need to handle the function forms.
Diffstat (limited to 'ext/opcache/Optimizer/pass1_5.c')
-rw-r--r-- | ext/opcache/Optimizer/pass1_5.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/ext/opcache/Optimizer/pass1_5.c b/ext/opcache/Optimizer/pass1_5.c index e8399ccc90..ea9c5c1323 100644 --- a/ext/opcache/Optimizer/pass1_5.c +++ b/ext/opcache/Optimizer/pass1_5.c @@ -436,7 +436,6 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) } /* pre-evaluate constant functions: - defined(x) constant(x) function_exists(x) is_callable(x) @@ -518,24 +517,6 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) MAKE_NOP(opline); break; } - } else if (Z_STRLEN(ZEND_OP2_LITERAL(init_opline)) == sizeof("defined")-1 && - !memcmp(Z_STRVAL(ZEND_OP2_LITERAL(init_opline)), - "defined", sizeof("defined")-1) && - !zend_optimizer_is_disabled_func("defined", sizeof("defined") - 1)) { - zval t; - - if (zend_optimizer_get_persistent_constant(Z_STR(ZEND_OP1_LITERAL(send1_opline)), &t, 0)) { - - ZVAL_TRUE(&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); - literal_dtor(&ZEND_OP1_LITERAL(send1_opline)); - MAKE_NOP(send1_opline); - MAKE_NOP(opline); - break; - } - } } else if (Z_STRLEN(ZEND_OP2_LITERAL(init_opline)) == sizeof("constant")-1 && !memcmp(Z_STRVAL(ZEND_OP2_LITERAL(init_opline)), "constant", sizeof("constant")-1) && @@ -552,21 +533,6 @@ void zend_optimizer_pass1(zend_op_array *op_array, zend_optimizer_ctx *ctx) break; } } - } else if ((CG(compiler_options) & ZEND_COMPILE_NO_BUILTIN_STRLEN) == 0 && - Z_STRLEN(ZEND_OP2_LITERAL(init_opline)) == sizeof("strlen") - 1 && - !memcmp(Z_STRVAL(ZEND_OP2_LITERAL(init_opline)), "strlen", sizeof("strlen") - 1) && - !zend_optimizer_is_disabled_func("strlen", sizeof("strlen") - 1)) { - zval t; - - ZVAL_LONG(&t, Z_STRLEN(ZEND_OP1_LITERAL(send1_opline))); - 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); - literal_dtor(&ZEND_OP1_LITERAL(send1_opline)); - MAKE_NOP(send1_opline); - MAKE_NOP(opline); - break; - } /* dirname(IS_CONST/IS_STRING) -> IS_CONST/IS_STRING */ } else if (Z_STRLEN(ZEND_OP2_LITERAL(init_opline)) == sizeof("dirname")-1 && !memcmp(Z_STRVAL(ZEND_OP2_LITERAL(init_opline)), |