@@ -2728,15 +2728,15 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
2728
2728
ZEND_ASSERT (ssa -> var_info != NULL );
2729
2729
2730
2730
start = do_alloca (sizeof (int ) * ssa -> vars_count * 2 +
2731
- ZEND_MM_ALIGNED_SIZE (sizeof (uint8_t ) * ssa -> vars_count ) +
2732
- ZEND_MM_ALIGNED_SIZE (sizeof (zend_op_array * ) * ssa -> vars_count ),
2731
+ ZEND_MM_ALIGNED_SIZE (sizeof (uint8_t ) * ssa -> vars_count ),
2733
2732
use_heap );
2734
2733
if (!start ) {
2735
2734
return NULL ;
2736
2735
}
2737
2736
end = start + ssa -> vars_count ;
2738
2737
flags = (uint8_t * )(end + ssa -> vars_count );
2739
- vars_op_array = (const zend_op_array * * )(flags + ZEND_MM_ALIGNED_SIZE (sizeof (uint8_t ) * ssa -> vars_count ));
2738
+ checkpoint = zend_arena_checkpoint (CG (arena ));
2739
+ vars_op_array = zend_arena_calloc (& CG (arena ), ssa -> vars_count , sizeof (zend_op_array * ));
2740
2740
2741
2741
memset (start , -1 , sizeof (int ) * ssa -> vars_count * 2 );
2742
2742
memset (flags , 0 , sizeof (uint8_t ) * ssa -> vars_count );
@@ -3131,10 +3131,10 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
3131
3131
3132
3132
if (!count ) {
3133
3133
free_alloca (start , use_heap );
3134
+ zend_arena_release (& CG (arena ), checkpoint );
3134
3135
return NULL ;
3135
3136
}
3136
3137
3137
- checkpoint = zend_arena_checkpoint (CG (arena ));
3138
3138
intervals = zend_arena_calloc (& CG (arena ), ssa -> vars_count , sizeof (zend_lifetime_interval ));
3139
3139
memset (intervals , 0 , sizeof (zend_lifetime_interval * ) * ssa -> vars_count );
3140
3140
list = zend_arena_alloc (& CG (arena ), sizeof (zend_lifetime_interval ) * count );
0 commit comments