Skip to content

Commit 3e70653

Browse files
committed
JIT: Remove FETCH_THIS+FETCH_OBJ_* optimizations for closures for
functon JIT introduced in d1a0b93. They caused failure of Zend/tests/closure_038.phpt with -d opcache.jit=1215
1 parent b7ec15f commit 3e70653

File tree

1 file changed

+0
-40
lines changed

1 file changed

+0
-40
lines changed

ext/opcache/jit/zend_jit.c

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3177,14 +3177,6 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
31773177
}
31783178
}
31793179
}
3180-
if (ssa->ops && ssa->vars) {
3181-
zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes];
3182-
if (ssa_op->op1_use >= 0) {
3183-
if (ssa->vars[ssa_op->op1_use].definition >= 0) {
3184-
on_this = op_array->opcodes[ssa->vars[ssa_op->op1_use].definition].opcode == ZEND_FETCH_THIS;
3185-
}
3186-
}
3187-
}
31883180
}
31893181
if (!zend_jit_incdec_obj(&dasm_state, opline, op_array, ssa, ssa_op,
31903182
op1_info, op1_addr,
@@ -3234,14 +3226,6 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
32343226
}
32353227
}
32363228
}
3237-
if (ssa->ops && ssa->vars) {
3238-
zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes];
3239-
if (ssa_op->op1_use >= 0) {
3240-
if (ssa->vars[ssa_op->op1_use].definition >= 0) {
3241-
on_this = op_array->opcodes[ssa->vars[ssa_op->op1_use].definition].opcode == ZEND_FETCH_THIS;
3242-
}
3243-
}
3244-
}
32453229
}
32463230
if (!zend_jit_assign_obj_op(&dasm_state, opline, op_array, ssa, ssa_op,
32473231
op1_info, op1_addr, OP1_DATA_INFO(), OP1_DATA_RANGE(),
@@ -3284,14 +3268,6 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
32843268
}
32853269
}
32863270
}
3287-
if (ssa->ops && ssa->vars) {
3288-
zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes];
3289-
if (ssa_op->op1_use >= 0) {
3290-
if (ssa->vars[ssa_op->op1_use].definition >= 0) {
3291-
on_this = op_array->opcodes[ssa->vars[ssa_op->op1_use].definition].opcode == ZEND_FETCH_THIS;
3292-
}
3293-
}
3294-
}
32953271
}
32963272
if (!zend_jit_assign_obj(&dasm_state, opline, op_array, ssa, ssa_op,
32973273
op1_info, op1_addr, OP1_DATA_INFO(),
@@ -3802,14 +3778,6 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
38023778
}
38033779
}
38043780
}
3805-
if (ssa->ops && ssa->vars) {
3806-
zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes];
3807-
if (ssa_op->op1_use >= 0) {
3808-
if (ssa->vars[ssa_op->op1_use].definition >= 0) {
3809-
on_this = op_array->opcodes[ssa->vars[ssa_op->op1_use].definition].opcode == ZEND_FETCH_THIS;
3810-
}
3811-
}
3812-
}
38133781
}
38143782
if (!zend_jit_fetch_obj(&dasm_state, opline, op_array, ssa, ssa_op,
38153783
op1_info, op1_addr, 0, ce, ce_is_instanceof, on_this, 0, 0, NULL,
@@ -3961,14 +3929,6 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
39613929
}
39623930
}
39633931
}
3964-
if (ssa->ops && ssa->vars) {
3965-
zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes];
3966-
if (ssa_op->op1_use >= 0) {
3967-
if (ssa->vars[ssa_op->op1_use].definition >= 0) {
3968-
on_this = op_array->opcodes[ssa->vars[ssa_op->op1_use].definition].opcode == ZEND_FETCH_THIS;
3969-
}
3970-
}
3971-
}
39723932
}
39733933
if (!zend_jit_init_method_call(&dasm_state, opline, b, op_array, ssa, ssa_op, call_level,
39743934
op1_info, op1_addr, ce, ce_is_instanceof, on_this, 0, NULL,

0 commit comments

Comments
 (0)