@@ -2879,7 +2879,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2879
2879
}
2880
2880
end = ssa -> cfg .blocks [b ].start + ssa -> cfg .blocks [b ].len - 1 ;
2881
2881
for (i = ssa -> cfg .blocks [b ].start ; i <= end ; i ++ ) {
2882
- zend_ssa_op * ssa_op = & ssa -> ops [i ];
2882
+ zend_ssa_op * ssa_op = ssa -> ops ? & ssa -> ops [i ] : NULL ;
2883
2883
opline = op_array -> opcodes + i ;
2884
2884
switch (opline -> opcode ) {
2885
2885
case ZEND_INIT_FCALL :
@@ -2910,6 +2910,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2910
2910
res_use_info = -1 ;
2911
2911
2912
2912
if (opline -> result_type == IS_CV
2913
+ && ssa -> vars
2913
2914
&& ssa_op -> result_use >= 0
2914
2915
&& !ssa -> vars [ssa_op -> result_use ].no_val ) {
2915
2916
zend_jit_addr res_use_addr = RES_USE_REG_ADDR ();
@@ -2970,6 +2971,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
2970
2971
res_use_info = -1 ;
2971
2972
2972
2973
if (opline -> result_type == IS_CV
2974
+ && ssa -> vars
2973
2975
&& ssa_op -> result_use >= 0
2974
2976
&& !ssa -> vars [ssa_op -> result_use ].no_val ) {
2975
2977
zend_jit_addr res_use_addr = RES_USE_REG_ADDR ();
@@ -3023,6 +3025,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
3023
3025
res_use_info = -1 ;
3024
3026
3025
3027
if (opline -> result_type == IS_CV
3028
+ && ssa -> vars
3026
3029
&& ssa_op -> result_use >= 0
3027
3030
&& !ssa -> vars [ssa_op -> result_use ].no_val ) {
3028
3031
zend_jit_addr res_use_addr = RES_USE_REG_ADDR ();
0 commit comments