Skip to content

Commit 7ea5139

Browse files
committed
Some JIT handling
1 parent 180125d commit 7ea5139

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 */
@@ -4062,6 +4064,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
40624064
case ZEND_DO_ICALL:
40634065
case ZEND_DO_UCALL:
40644066
case ZEND_DO_FCALL_BY_NAME:
4067+
case ZEND_CALLABLE_CONVERT:
40654068
call_level--;
40664069
}
40674070
}
@@ -4077,6 +4080,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
40774080
if (JIT_G(opt_flags) & (ZEND_JIT_REG_ALLOC_LOCAL|ZEND_JIT_REG_ALLOC_GLOBAL)) {
40784081
zend_arena_release(&CG(arena), checkpoint);
40794082
}
4083+
ZEND_ASSERT(call_level == 0);
40804084
return SUCCESS;
40814085

40824086
jit_failure:

0 commit comments

Comments
 (0)