Skip to content

Commit 36cb11f

Browse files
committed
Some JIT handling
1 parent 5e22f4b commit 36cb11f

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

ext/opcache/jit/zend_jit.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,7 @@ static int zend_jit_needs_call_chain(zend_call_info *call_info, uint32_t b, cons
335335
case ZEND_DO_UCALL:
336336
case ZEND_DO_FCALL_BY_NAME:
337337
case ZEND_DO_FCALL:
338+
case ZEND_CALLABLE_CONVERT:
338339
return 0;
339340
case ZEND_SEND_VAL:
340341
case ZEND_SEND_VAR:
@@ -417,6 +418,7 @@ static int zend_jit_needs_call_chain(zend_call_info *call_info, uint32_t b, cons
417418
case ZEND_DO_UCALL:
418419
case ZEND_DO_FCALL_BY_NAME:
419420
case ZEND_DO_FCALL:
421+
case ZEND_CALLABLE_CONVERT:
420422
end = opline;
421423
if (end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) {
422424
/* INIT_FCALL and DO_FCALL in different BasicBlocks */
@@ -4059,6 +4061,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
40594061
case ZEND_DO_ICALL:
40604062
case ZEND_DO_UCALL:
40614063
case ZEND_DO_FCALL_BY_NAME:
4064+
case ZEND_CALLABLE_CONVERT:
40624065
call_level--;
40634066
}
40644067
}
@@ -4074,6 +4077,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
40744077
if (JIT_G(opt_flags) & (ZEND_JIT_REG_ALLOC_LOCAL|ZEND_JIT_REG_ALLOC_GLOBAL)) {
40754078
zend_arena_release(&CG(arena), checkpoint);
40764079
}
4080+
ZEND_ASSERT(call_level == 0);
40774081
return SUCCESS;
40784082

40794083
jit_failure:

0 commit comments

Comments
 (0)