@@ -99,7 +99,7 @@ static arraylist_t bits_save[4];
9999static void gc_clear_mark_page (jl_gc_pagemeta_t * pg , int bits )
100100{
101101 jl_ptls_t ptls2 = gc_all_tls_states [pg -> thread_n ];
102- jl_gc_pool_t * pool = & ptls2 -> heap .norm_pools [pg -> pool_n ];
102+ jl_gc_pool_t * pool = & ptls2 -> gc_tls . heap .norm_pools [pg -> pool_n ];
103103 jl_taggedvalue_t * pv = (jl_taggedvalue_t * )(pg -> data + GC_PAGE_OFFSET );
104104 char * lim = (char * )pv + GC_PAGE_SZ - GC_PAGE_OFFSET - pool -> osize ;
105105 while ((char * )pv <= lim ) {
@@ -114,7 +114,7 @@ static void gc_clear_mark_outer(int bits)
114114{
115115 for (int i = 0 ; i < gc_n_threads ; i ++ ) {
116116 jl_ptls_t ptls2 = gc_all_tls_states [i ];
117- jl_gc_pagemeta_t * pg = jl_atomic_load_relaxed (& ptls2 -> page_metadata_allocd .bottom );
117+ jl_gc_pagemeta_t * pg = jl_atomic_load_relaxed (& ptls2 -> gc_tls . page_metadata_allocd .bottom );
118118 while (pg != NULL ) {
119119 gc_clear_mark_page (pg , bits );
120120 pg = pg -> next ;
@@ -134,7 +134,7 @@ static void clear_mark(int bits)
134134 }
135135 bigval_t * v ;
136136 for (int i = 0 ; i < gc_n_threads ; i ++ ) {
137- v = gc_all_tls_states [i ]-> heap .big_objects ;
137+ v = gc_all_tls_states [i ]-> gc_tls . heap .big_objects ;
138138 while (v != NULL ) {
139139 void * gcv = & v -> header ;
140140 if (!gc_verifying )
@@ -172,7 +172,7 @@ static void gc_verify_track(jl_ptls_t ptls)
172172 return ;
173173 do {
174174 jl_gc_markqueue_t mq ;
175- jl_gc_markqueue_t * mq2 = & ptls -> mark_queue ;
175+ jl_gc_markqueue_t * mq2 = & ptls -> gc_tls . mark_queue ;
176176 ws_queue_t * cq = & mq .chunk_queue ;
177177 ws_queue_t * q = & mq .ptr_queue ;
178178 jl_atomic_store_relaxed (& cq -> top , 0 );
@@ -232,7 +232,7 @@ void gc_verify(jl_ptls_t ptls)
232232 return ;
233233 }
234234 jl_gc_markqueue_t mq ;
235- jl_gc_markqueue_t * mq2 = & ptls -> mark_queue ;
235+ jl_gc_markqueue_t * mq2 = & ptls -> gc_tls . mark_queue ;
236236 ws_queue_t * cq = & mq .chunk_queue ;
237237 ws_queue_t * q = & mq .ptr_queue ;
238238 jl_atomic_store_relaxed (& cq -> top , 0 );
@@ -291,7 +291,7 @@ static void gc_verify_tags_page(jl_gc_pagemeta_t *pg)
291291 int p_n = pg -> pool_n ;
292292 int t_n = pg -> thread_n ;
293293 jl_ptls_t ptls2 = gc_all_tls_states [t_n ];
294- jl_gc_pool_t * p = & ptls2 -> heap .norm_pools [p_n ];
294+ jl_gc_pool_t * p = & ptls2 -> gc_tls . heap .norm_pools [p_n ];
295295 int osize = pg -> osize ;
296296 char * data = pg -> data ;
297297 char * page_begin = data + GC_PAGE_OFFSET ;
@@ -353,7 +353,7 @@ static void gc_verify_tags_pagestack(void)
353353{
354354 for (int i = 0 ; i < gc_n_threads ; i ++ ) {
355355 jl_ptls_t ptls2 = gc_all_tls_states [i ];
356- jl_gc_page_stack_t * pgstk = & ptls2 -> page_metadata_allocd ;
356+ jl_gc_page_stack_t * pgstk = & ptls2 -> gc_tls . page_metadata_allocd ;
357357 jl_gc_pagemeta_t * pg = jl_atomic_load_relaxed (& pgstk -> bottom );
358358 while (pg != NULL ) {
359359 gc_verify_tags_page (pg );
@@ -369,7 +369,7 @@ void gc_verify_tags(void)
369369 jl_ptls_t ptls2 = gc_all_tls_states [t_i ];
370370 for (int i = 0 ; i < JL_GC_N_POOLS ; i ++ ) {
371371 // for all pools, iterate its freelist
372- jl_gc_pool_t * p = & ptls2 -> heap .norm_pools [i ];
372+ jl_gc_pool_t * p = & ptls2 -> gc_tls . heap .norm_pools [i ];
373373 jl_taggedvalue_t * next = p -> freelist ;
374374 jl_taggedvalue_t * last = NULL ;
375375 char * allocating = gc_page_data (next );
@@ -811,8 +811,8 @@ void gc_time_mark_pause(int64_t t0, int64_t scanned_bytes,
811811 int64_t remset_nptr = 0 ;
812812 for (int t_i = 0 ; t_i < gc_n_threads ; t_i ++ ) {
813813 jl_ptls_t ptls2 = gc_all_tls_states [t_i ];
814- last_remset_len += ptls2 -> heap .last_remset -> len ;
815- remset_nptr = ptls2 -> heap .remset_nptr ;
814+ last_remset_len += ptls2 -> gc_tls . heap .last_remset -> len ;
815+ remset_nptr = ptls2 -> gc_tls . heap .remset_nptr ;
816816 }
817817 jl_safe_printf ("GC mark pause %.2f ms | "
818818 "scanned %" PRId64 " kB = %" PRId64 " + %" PRId64 " | "
@@ -967,13 +967,13 @@ void gc_stats_all_pool(void)
967967 for (int i = 0 ; i < JL_GC_N_POOLS ; i ++ ) {
968968 for (int t_i = 0 ; t_i < gc_n_threads ; t_i ++ ) {
969969 jl_ptls_t ptls2 = gc_all_tls_states [t_i ];
970- size_t b = pool_stats (& ptls2 -> heap .norm_pools [i ], & w , & np , & nol );
970+ size_t b = pool_stats (& ptls2 -> gc_tls . heap .norm_pools [i ], & w , & np , & nol );
971971 nb += b ;
972- no += (b / ptls2 -> heap .norm_pools [i ].osize );
972+ no += (b / ptls2 -> gc_tls . heap .norm_pools [i ].osize );
973973 tw += w ;
974974 tp += np ;
975975 nold += nol ;
976- noldbytes += nol * ptls2 -> heap .norm_pools [i ].osize ;
976+ noldbytes += nol * ptls2 -> gc_tls . heap .norm_pools [i ].osize ;
977977 }
978978 }
979979 jl_safe_printf ("%lld objects (%lld%% old), %lld kB (%lld%% old) total allocated, "
@@ -992,7 +992,7 @@ void gc_stats_big_obj(void)
992992 size_t nused = 0 , nbytes = 0 , nused_old = 0 , nbytes_old = 0 ;
993993 for (int t_i = 0 ; t_i < gc_n_threads ; t_i ++ ) {
994994 jl_ptls_t ptls2 = gc_all_tls_states [t_i ];
995- bigval_t * v = ptls2 -> heap .big_objects ;
995+ bigval_t * v = ptls2 -> gc_tls . heap .big_objects ;
996996 while (v != NULL ) {
997997 if (gc_marked (v -> bits .gc )) {
998998 nused ++ ;
@@ -1009,7 +1009,7 @@ void gc_stats_big_obj(void)
10091009 v = v -> next ;
10101010 }
10111011
1012- mallocarray_t * ma = ptls2 -> heap .mallocarrays ;
1012+ mallocarray_t * ma = ptls2 -> gc_tls . heap .mallocarrays ;
10131013 while (ma != NULL ) {
10141014 if (gc_marked (jl_astaggedvalue (ma -> a )-> bits .gc )) {
10151015 nused ++ ;
@@ -1055,7 +1055,7 @@ static void gc_count_pool_pagetable(void)
10551055{
10561056 for (int i = 0 ; i < gc_n_threads ; i ++ ) {
10571057 jl_ptls_t ptls2 = gc_all_tls_states [i ];
1058- jl_gc_pagemeta_t * pg = jl_atomic_load_relaxed (& ptls2 -> page_metadata_allocd .bottom );
1058+ jl_gc_pagemeta_t * pg = jl_atomic_load_relaxed (& ptls2 -> gc_tls . page_metadata_allocd .bottom );
10591059 while (pg != NULL ) {
10601060 if (gc_alloc_map_is_set (pg -> data )) {
10611061 gc_count_pool_page (pg );
0 commit comments