summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/opcache/jit/zend_jit_x86.dasc4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc
index b82216acc6..deb1e5a0d4 100644
--- a/ext/opcache/jit/zend_jit_x86.dasc
+++ b/ext/opcache/jit/zend_jit_x86.dasc
@@ -7571,7 +7571,9 @@ static int zend_jit_bool_jmpznz(dasm_State **Dst, const zend_op *opline, const z
(op1_info & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE))) {
op1_addr = ZEND_ADDR_MEM_ZVAL(ZREG_FP, opline->op1.var);
- | IF_NOT_ZVAL_REFCOUNTED op1_addr, >3
+ if (op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_OBJECT|MAY_BE_RESOURCE))) {
+ | IF_NOT_ZVAL_REFCOUNTED op1_addr, >3
+ }
| GET_ZVAL_PTR FCARG1a, op1_addr
| GC_DELREF FCARG1a
| jnz >3