@@ -2311,7 +2311,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2311
2311
}
2312
2312
end = ssa -> cfg .blocks [b ].start + ssa -> cfg .blocks [b ].len - 1 ;
2313
2313
for (i = ssa -> cfg .blocks [b ].start ; i <= end ; i ++ ) {
2314
- zend_ssa_op * ssa_op = & ssa -> ops [i ];
2314
+ zend_ssa_op * ssa_op = ssa -> ops ? & ssa -> ops [i ] : NULL ;
2315
2315
opline = op_array -> opcodes + i ;
2316
2316
switch (opline -> opcode ) {
2317
2317
case ZEND_INIT_FCALL :
@@ -2342,6 +2342,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2342
2342
res_use_info = -1 ;
2343
2343
2344
2344
if (opline -> result_type == IS_CV
2345
+ && ssa -> vars
2345
2346
&& ssa_op -> result_use >= 0
2346
2347
&& !ssa -> vars [ssa_op -> result_use ].no_val ) {
2347
2348
zend_jit_addr res_use_addr = RES_USE_REG_ADDR ();
@@ -2406,6 +2407,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2406
2407
res_use_info = -1 ;
2407
2408
2408
2409
if (opline -> result_type == IS_CV
2410
+ && ssa -> vars
2409
2411
&& ssa_op -> result_use >= 0
2410
2412
&& !ssa -> vars [ssa_op -> result_use ].no_val ) {
2411
2413
zend_jit_addr res_use_addr = RES_USE_REG_ADDR ();
@@ -2463,6 +2465,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2463
2465
res_use_info = -1 ;
2464
2466
2465
2467
if (opline -> result_type == IS_CV
2468
+ && ssa -> vars
2466
2469
&& ssa_op -> result_use >= 0
2467
2470
&& !ssa -> vars [ssa_op -> result_use ].no_val ) {
2468
2471
zend_jit_addr res_use_addr = RES_USE_REG_ADDR ();
0 commit comments