Skip to content

Commit ce42dcf

Browse files
committedAug 29, 2022
Fix ext/opcache/tests/jit/inc_obj_004.phpt failure introduced by fd74ee7
This should fix GH-9445
1 parent e2a5428 commit ce42dcf

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed
 

‎ext/opcache/jit/zend_jit_x86.dasc

+18
Original file line numberDiff line numberDiff line change
@@ -8782,6 +8782,9 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_
87828782
}
87838783

87848784
if ((op1_info & (MAY_BE_ANY-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG))) == MAY_BE_DOUBLE) {
8785+
if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {
8786+
|.cold_code
8787+
}
87858788
|2:
87868789
if (CAN_USE_AVX()) {
87878790
| vxorps xmm0, xmm0, xmm0
@@ -8830,6 +8833,10 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_
88308833
|1:
88318834
| SET_ZVAL_TYPE_INFO res_addr, eax
88328835
}
8836+
if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {
8837+
| jmp >9
8838+
|.code
8839+
}
88338840
} else {
88348841
if (exit_addr) {
88358842
if (branch_opcode == ZEND_JMPNZ || branch_opcode == ZEND_JMPNZ_EX) {
@@ -8841,6 +8848,9 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_
88418848
| je &exit_addr
88428849
|1:
88438850
}
8851+
if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {
8852+
| jmp >9
8853+
}
88448854
} else {
88458855
ZEND_ASSERT(true_label != (uint32_t)-1 || false_label != (uint32_t)-1);
88468856
if (false_label != (uint32_t)-1 ) {
@@ -8849,12 +8859,20 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, uint32_
88498859
|1:
88508860
if (true_label != (uint32_t)-1) {
88518861
| jmp =>true_label
8862+
} else if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {
8863+
| jmp >9
88528864
}
88538865
} else {
88548866
| jp => true_label
88558867
| jne => true_label
8868+
if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {
8869+
| jmp >9
8870+
}
88568871
}
88578872
}
8873+
if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {
8874+
|.code
8875+
}
88588876
}
88598877
} else if (op1_info & (MAY_BE_ANY - (MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG))) {
88608878
if (op1_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG)) {

0 commit comments

Comments
 (0)