@@ -643,7 +643,7 @@ static inline gcval_t *reset_page(jl_gc_pool_t *p, jl_gc_pagemeta_t *pg, gcval_t
643
643
pg -> nfree = (GC_PAGE_SZ - GC_PAGE_OFFSET ) / p -> osize ;
644
644
jl_tls_states_t * ptls = jl_all_task_states [pg -> thread_n ].ptls ;
645
645
pg -> pool_n = p - ptls -> heap .norm_pools ;
646
- memset (page_age ( pg ) , 0 , LLT_ALIGN ( GC_PAGE_SZ / p -> osize , 8 ) );
646
+ memset (pg -> ages , 0 , GC_PAGE_SZ / 8 / p -> osize + 1 );
647
647
gcval_t * beg = (gcval_t * )(pg -> data + GC_PAGE_OFFSET );
648
648
gcval_t * end = (gcval_t * )((char * )beg + (pg -> nfree - 1 )* p -> osize );
649
649
end -> next = fl ;
@@ -661,7 +661,7 @@ static NOINLINE void add_page(jl_gc_pool_t *p)
661
661
jl_gc_pagemeta_t * pg = page_metadata (data + GC_PAGE_OFFSET );
662
662
pg -> data = data ;
663
663
pg -> osize = p -> osize ;
664
- pg -> ages = (uint8_t * )malloc (LLT_ALIGN ( GC_PAGE_SZ / p -> osize , 8 ) );
664
+ pg -> ages = (uint8_t * )malloc (GC_PAGE_SZ / 8 / p -> osize + 1 );
665
665
pg -> thread_n = ti_tid ;
666
666
gcval_t * fl = reset_page (p , pg , p -> newpages );
667
667
p -> newpages = fl ;
@@ -839,7 +839,7 @@ static gcval_t **sweep_page(jl_gc_pool_t *p, jl_gc_pagemeta_t *pg, gcval_t **pfl
839
839
int pg_freedall = 0 , pg_total = 0 , pg_skpd = 0 ;
840
840
int obj_per_page = (GC_PAGE_SZ - GC_PAGE_OFFSET )/osize ;
841
841
char * data = pg -> data ;
842
- uint8_t * ages = page_age ( pg ) ;
842
+ uint8_t * ages = pg -> ages ;
843
843
v = (gcval_t * )(data + GC_PAGE_OFFSET );
844
844
char * lim = (char * )v + GC_PAGE_SZ - GC_PAGE_OFFSET - osize ;
845
845
freedall = 1 ;
0 commit comments