com php-src: Make update_opN_const implementation symme tric: ext/opcache/Optimizer/zend_optimizer.c

From: Date: Thu, 10 Dec 2015 17:18:10 +0000
Subject: com php-src: Make update_opN_const implementation symme tric: ext/opcache/Optimizer/zend_optimizer.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-90206@lists.php.net to get a copy of this message
Commit: 798d168d73985624cfb50e9a86acce7f3446d6fb Author: Nikita Popov <nikic@php.net> Thu, 10 Dec 2015 18:17:49 +0100 Parents: 37f3425263f5d0f7f8bc8f8f9091efb26384a4f5 Branches: PHP-7.0 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=798d168d73985624cfb50e9a86acce7f3446d6fb Log: Make update_opN_const implementation symmetric So the main structure is the same... Changed paths: M ext/opcache/Optimizer/zend_optimizer.c Diff: diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index e6cd116..8d13b9f 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -132,6 +132,10 @@ static inline void drop_leading_backslash(zval *val) { } } +static inline void alloc_cache_slots_op1(zend_op_array *op_array, zend_op *opline, uint32_t num) { + Z_CACHE_SLOT(op_array->literals[opline->op1.constant]) = op_array->cache_size; + op_array->cache_size += num * sizeof(void *); +} static inline void alloc_cache_slots_op2(zend_op_array *op_array, zend_op *opline, uint32_t num) { Z_CACHE_SLOT(op_array->literals[opline->op2.constant]) = op_array->cache_size; op_array->cache_size += num * sizeof(void *); @@ -160,19 +164,16 @@ int zend_optimizer_update_op1_const(zend_op_array *op_array, case ZEND_FREE: MAKE_NOP(opline); zval_dtor(val); - break; + return 1; case ZEND_INIT_STATIC_METHOD_CALL: case ZEND_CATCH: case ZEND_FETCH_CONSTANT: case ZEND_DEFINED: case ZEND_NEW: REQUIRES_STRING(val); - ZEND_OP1_TYPE(opline) = IS_CONST; drop_leading_backslash(val); opline->op1.constant = zend_optimizer_add_literal(op_array, val); - zend_string_hash_val(Z_STR(ZEND_OP1_LITERAL(opline))); - Z_CACHE_SLOT(op_array->literals[opline->op1.constant]) = op_array->cache_size; - op_array->cache_size += sizeof(void*); + alloc_cache_slots_op1(op_array, opline, 1); zend_optimizer_add_literal_string(op_array, zend_string_tolower(Z_STR_P(val))); break; case ZEND_FETCH_R: @@ -182,12 +183,9 @@ int zend_optimizer_update_op1_const(zend_op_array *op_array, case ZEND_FETCH_UNSET: case ZEND_FETCH_FUNC_ARG: TO_STRING_NOWARN(val); - ZEND_OP1_TYPE(opline) = IS_CONST; opline->op1.constant = zend_optimizer_add_literal(op_array, val); - zend_string_hash_val(Z_STR(ZEND_OP1_LITERAL(opline))); if (opline->extended_value == ZEND_FETCH_STATIC_MEMBER) { - Z_CACHE_SLOT(op_array->literals[opline->op1.constant]) = op_array->cache_size; - op_array->cache_size += 2 * sizeof(void*); + alloc_cache_slots_op1(op_array, opline, 2); } break; case ZEND_CONCAT: @@ -195,14 +193,14 @@ int zend_optimizer_update_op1_const(zend_op_array *op_array, TO_STRING_NOWARN(val); /* break missing intentionally */ default: - ZEND_OP1_TYPE(opline) = IS_CONST; opline->op1.constant = zend_optimizer_add_literal(op_array, val); - if (Z_TYPE_P(val) == IS_STRING) { - zend_string_hash_val(Z_STR(ZEND_OP1_LITERAL(opline))); - } break; } + ZEND_OP1_TYPE(opline) = IS_CONST; + if (Z_TYPE(ZEND_OP1_LITERAL(opline)) == IS_STRING) { + zend_string_hash_val(Z_STR(ZEND_OP1_LITERAL(opline))); + } return 1; }

« previous php.cvs (#90206) next »