summaryrefslogtreecommitdiff
path: root/ext/opcache/Optimizer/optimize_temp_vars_5.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/opcache/Optimizer/optimize_temp_vars_5.c')
-rw-r--r--ext/opcache/Optimizer/optimize_temp_vars_5.c34
1 files changed, 6 insertions, 28 deletions
diff --git a/ext/opcache/Optimizer/optimize_temp_vars_5.c b/ext/opcache/Optimizer/optimize_temp_vars_5.c
index 27ba6bad8e..dc93ce2f4c 100644
--- a/ext/opcache/Optimizer/optimize_temp_vars_5.c
+++ b/ext/opcache/Optimizer/optimize_temp_vars_5.c
@@ -66,16 +66,6 @@ void optimize_temporary_variables(zend_op_array *op_array, zend_optimizer_ctx *c
if (ZEND_RESULT_TYPE(opline) & (IS_VAR | IS_TMP_VAR)) {
start_of_T[VAR_NUM(ZEND_RESULT(opline).var) - offset] = opline;
}
- /* special puprose variable to keep HashPointer on VM stack */
- if (opline->opcode == ZEND_OP_DATA &&
- (opline-1)->opcode == ZEND_FE_FETCH &&
- opline->op1_type == IS_TMP_VAR) {
- start_of_T[VAR_NUM(ZEND_OP1(opline).var) - offset] = opline;
- if (sizeof(HashPointer) > sizeof(zval)) {
- /* Make shure 1 zval is enough for HashPointer (2 must be enough) */
- start_of_T[VAR_NUM(ZEND_OP1(opline).var) + 1 - offset] = opline;
- }
- }
opline--;
}
@@ -88,25 +78,13 @@ void optimize_temporary_variables(zend_op_array *op_array, zend_optimizer_ctx *c
while (opline >= end) {
if ((ZEND_OP1_TYPE(opline) & (IS_VAR | IS_TMP_VAR))) {
- /* special puprose variable to keep HashPointer on VM stack */
- if (opline->opcode == ZEND_OP_DATA &&
- (opline-1)->opcode == ZEND_FE_FETCH &&
- opline->op1_type == IS_TMP_VAR) {
- max++;
- ZEND_OP1(opline).var = NUM_VAR(max + offset);
- if (sizeof(HashPointer) > sizeof(zval)) {
- /* Make shure 1 zval is enough for HashPointer (2 must be enough) */
- max++;
- }
- } else {
- currT = VAR_NUM(ZEND_OP1(opline).var) - offset;
- if (!valid_T[currT]) {
- GET_AVAILABLE_T();
- map_T[currT] = i;
- valid_T[currT] = 1;
- }
- ZEND_OP1(opline).var = NUM_VAR(map_T[currT] + offset);
+ currT = VAR_NUM(ZEND_OP1(opline).var) - offset;
+ if (!valid_T[currT]) {
+ GET_AVAILABLE_T();
+ map_T[currT] = i;
+ valid_T[currT] = 1;
}
+ ZEND_OP1(opline).var = NUM_VAR(map_T[currT] + offset);
}
/* Skip OP_DATA */