File tree Expand file tree Collapse file tree 3 files changed +3
-3
lines changed Expand file tree Collapse file tree 3 files changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ extern const size_t max_collect_interval;
83
83
extern size_t last_long_collect_interval ;
84
84
extern size_t total_mem ;
85
85
extern memsize_t max_total_memory ;
86
- extern _Atomic (uint32_t ) jl_gc_disable_counter ;
86
+ extern JL_DLLEXPORT _Atomic(uint32_t ) jl_gc_disable_counter ;
87
87
extern jl_mutex_t heapsnapshot_lock ;
88
88
extern uint64_t finalizer_rngState [];
89
89
extern int gc_n_threads ;
Original file line number Diff line number Diff line change @@ -936,7 +936,7 @@ STATIC_INLINE int jl_addr_is_safepoint(uintptr_t addr)
936
936
return addr >= safepoint_addr && addr < safepoint_addr + jl_page_size * 3 ;
937
937
}
938
938
extern _Atomic (uint32_t ) jl_gc_running ;
939
- extern _Atomic (uint32_t ) jl_gc_disable_counter ;
939
+ extern JL_DLLEXPORT _Atomic(uint32_t ) jl_gc_disable_counter ;
940
940
// All the functions are safe to be called from within a signal handler
941
941
// provided that the thread will not be interrupted by another asynchronous
942
942
// signal.
Original file line number Diff line number Diff line change @@ -219,7 +219,7 @@ JL_DLLEXPORT void jl_gc_collect(jl_gc_collection_t collection)
219
219
{
220
220
jl_task_t * ct = jl_current_task ;
221
221
jl_ptls_t ptls = ct -> ptls ;
222
- if (jl_atomic_load_relaxed (& jl_gc_disable_counter )) {
222
+ if (jl_atomic_load_acquire (& jl_gc_disable_counter )) {
223
223
size_t localbytes = jl_atomic_load_relaxed (& ptls -> gc_num .allocd ) + gc_num .interval ;
224
224
jl_atomic_store_relaxed (& ptls -> gc_num .allocd , - (int64_t )gc_num .interval );
225
225
static_assert (sizeof (_Atomic (uint64_t )) == sizeof (gc_num .deferred_alloc ), "" );
You can’t perform that action at this time.
0 commit comments