Skip to content

Commit f06a63d

Browse files
gbaraldiKristofferC
authored andcommitted
Apple silicon has 128 byte alignment so fix our defines to match (#52996)
https://github.com/JuliaLang/julia/blob/8a69745bdcb06409ab7e4fc84718f34d7d54a7f9/base/lock.jl#L33-L50 this probably also needs a fix, and maybe other places as well (cherry picked from commit 91ec2bb)
1 parent cfbff10 commit f06a63d

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/julia_internal.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,11 @@ STATIC_INLINE uint8_t JL_CONST_FUNC jl_gc_szclass_align8(unsigned sz) JL_NOTSAFE
458458
}
459459

460460
#define JL_SMALL_BYTE_ALIGNMENT 16
461+
#if defined(_CPU_AARCH64_) && defined(_OS_DARWIN_) // Apple silicon has 128 cache lines
462+
#define JL_CACHE_BYTE_ALIGNMENT 128
463+
#else
461464
#define JL_CACHE_BYTE_ALIGNMENT 64
465+
#endif
462466
// JL_HEAP_ALIGNMENT is the maximum alignment that the GC can provide
463467
#define JL_HEAP_ALIGNMENT JL_SMALL_BYTE_ALIGNMENT
464468
#define GC_MAX_SZCLASS (2032-sizeof(void*))

0 commit comments

Comments
 (0)