Skip to content

Commit 09af862

Browse files
committed
Fix jit error
1 parent eb77f08 commit 09af862

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

ext/opcache/jit/zend_jit_ir.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8345,9 +8345,10 @@ static int zend_jit_push_call_frame(zend_jit_ctx *jit, const zend_op *opline, co
83458345
// JIT: call_info = ZEND_CALL_NESTED_FUNCTION | ZEND_CALL_DYNAMIC | ZEND_CALL_CLOSURE |
83468346
// (closure->func->common.fn_flags & ZEND_ACC_FAKE_CLOSURE);
83478347
call_info = ir_OR_U32(
8348-
ir_AND_U64(
8349-
ir_LOAD_U64(ir_ADD_OFFSET(func_ref, offsetof(zend_closure, func.common.fn_flags))),
8350-
ir_CONST_U64(ZEND_ACC_FAKE_CLOSURE)),
8348+
ir_AND_U32(
8349+
// Discard high bytes, call_info is only 32-bits
8350+
ir_BITCAST_I32(ir_LOAD_U64(ir_ADD_OFFSET(func_ref, offsetof(zend_closure, func.common.fn_flags)))),
8351+
ir_CONST_U32(ZEND_ACC_FAKE_CLOSURE)),
83518352
ir_CONST_U32(ZEND_CALL_NESTED_FUNCTION | ZEND_CALL_DYNAMIC | ZEND_CALL_CLOSURE));
83528353
// JIT: if (Z_TYPE(closure->this_ptr) != IS_UNDEF) {
83538354
if_cond = ir_IF(ir_LOAD_U8(ir_ADD_OFFSET(func_ref, offsetof(zend_closure, this_ptr.u1.v.type))));

0 commit comments

Comments
 (0)