@@ -2713,15 +2713,15 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
2713
2713
ZEND_ASSERT (ssa -> var_info != NULL );
2714
2714
2715
2715
start = do_alloca (sizeof (int ) * ssa -> vars_count * 2 +
2716
- ZEND_MM_ALIGNED_SIZE (sizeof (uint8_t ) * ssa -> vars_count ) +
2717
- ZEND_MM_ALIGNED_SIZE (sizeof (zend_op_array * ) * ssa -> vars_count ),
2716
+ ZEND_MM_ALIGNED_SIZE (sizeof (uint8_t ) * ssa -> vars_count ),
2718
2717
use_heap );
2719
2718
if (!start ) {
2720
2719
return NULL ;
2721
2720
}
2722
2721
end = start + ssa -> vars_count ;
2723
2722
flags = (uint8_t * )(end + ssa -> vars_count );
2724
- vars_op_array = (const zend_op_array * * )(flags + ZEND_MM_ALIGNED_SIZE (sizeof (uint8_t ) * ssa -> vars_count ));
2723
+ checkpoint = zend_arena_checkpoint (CG (arena ));
2724
+ vars_op_array = zend_arena_calloc (& CG (arena ), ssa -> vars_count , sizeof (zend_op_array * ));
2725
2725
2726
2726
memset (start , -1 , sizeof (int ) * ssa -> vars_count * 2 );
2727
2727
memset (flags , 0 , sizeof (uint8_t ) * ssa -> vars_count );
@@ -3116,10 +3116,10 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
3116
3116
3117
3117
if (!count ) {
3118
3118
free_alloca (start , use_heap );
3119
+ zend_arena_release (& CG (arena ), checkpoint );
3119
3120
return NULL ;
3120
3121
}
3121
3122
3122
- checkpoint = zend_arena_checkpoint (CG (arena ));
3123
3123
intervals = zend_arena_calloc (& CG (arena ), ssa -> vars_count , sizeof (zend_lifetime_interval ));
3124
3124
memset (intervals , 0 , sizeof (zend_lifetime_interval * ) * ssa -> vars_count );
3125
3125
list = zend_arena_alloc (& CG (arena ), sizeof (zend_lifetime_interval ) * count );
0 commit comments