diff --git a/src/gc-mmtk.c b/src/gc-mmtk.c index f82f0479476da..7cbfb7ac55277 100644 --- a/src/gc-mmtk.c +++ b/src/gc-mmtk.c @@ -175,7 +175,7 @@ JL_DLLEXPORT void jl_gc_set_max_memory(uint64_t max_mem) { // MMTk currently does not allow setting the heap size at runtime } -inline void maybe_collect(jl_ptls_t ptls) +STATIC_INLINE void maybe_collect(jl_ptls_t ptls) { // Just do a safe point for general maybe_collect jl_gc_safepoint_(ptls); @@ -858,12 +858,12 @@ int jl_gc_classify_pools(size_t sz, int *osize) } #define MMTK_MIN_ALIGNMENT 4 // MMTk assumes allocation size is aligned to min alignment. -inline size_t mmtk_align_alloc_sz(size_t sz) JL_NOTSAFEPOINT +STATIC_INLINE size_t mmtk_align_alloc_sz(size_t sz) JL_NOTSAFEPOINT { return (sz + MMTK_MIN_ALIGNMENT - 1) & ~(MMTK_MIN_ALIGNMENT - 1); } -inline void* bump_alloc_fast(MMTkMutatorContext* mutator, uintptr_t* cursor, uintptr_t limit, size_t size, size_t align, size_t offset, int allocator) { +STATIC_INLINE void* bump_alloc_fast(MMTkMutatorContext* mutator, uintptr_t* cursor, uintptr_t limit, size_t size, size_t align, size_t offset, int allocator) { intptr_t delta = (-offset - *cursor) & (align - 1); uintptr_t result = *cursor + (uintptr_t)delta; @@ -875,7 +875,7 @@ inline void* bump_alloc_fast(MMTkMutatorContext* mutator, uintptr_t* cursor, uin } } -inline void mmtk_set_side_metadata(const void* side_metadata_base, void* obj) { +STATIC_INLINE void mmtk_set_side_metadata(const void* side_metadata_base, void* obj) { intptr_t addr = (intptr_t) obj; uint8_t* meta_addr = (uint8_t*) side_metadata_base + (addr >> 6); intptr_t shift = (addr >> 3) & 0b111; @@ -888,18 +888,18 @@ inline void mmtk_set_side_metadata(const void* side_metadata_base, void* obj) { } } -inline void* mmtk_immix_alloc_fast(MMTkMutatorContext* mutator, size_t size, size_t align, size_t offset) { +STATIC_INLINE void* mmtk_immix_alloc_fast(MMTkMutatorContext* mutator, size_t size, size_t align, size_t offset) { ImmixAllocator* allocator = &mutator->allocators.immix[MMTK_DEFAULT_IMMIX_ALLOCATOR]; return bump_alloc_fast(mutator, (uintptr_t*)&allocator->cursor, (intptr_t)allocator->limit, size, align, offset, 0); } -inline void mmtk_immix_post_alloc_fast(MMTkMutatorContext* mutator, void* obj, size_t size) { +STATIC_INLINE void mmtk_immix_post_alloc_fast(MMTkMutatorContext* mutator, void* obj, size_t size) { if (MMTK_NEEDS_VO_BIT) { mmtk_set_side_metadata(MMTK_SIDE_VO_BIT_BASE_ADDRESS, obj); } } -inline void* mmtk_immortal_alloc_fast(MMTkMutatorContext* mutator, size_t size, size_t align, size_t offset) { +STATIC_INLINE void* mmtk_immortal_alloc_fast(MMTkMutatorContext* mutator, size_t size, size_t align, size_t offset) { BumpAllocator* allocator = &mutator->allocators.bump_pointer[MMTK_IMMORTAL_BUMP_ALLOCATOR]; return bump_alloc_fast(mutator, (uintptr_t*)&allocator->cursor, (uintptr_t)allocator->limit, size, align, offset, 1); }