Skip to content

Commit d56ecd4

Browse files
committed
Bump JIT_MEDIUM_BITFIT_MIN_ALIGN_SHIFT to 9 on Linux ARM64 to keep granule use-count under uint8_t DECOMMITTED sentinel
1 parent 82cc186 commit d56ecd4

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Source/bmalloc/libpas/src/libpas/jit_heap_config.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,13 @@ PAS_BEGIN_EXTERN_C;
4747
#define JIT_SMALL_PAGE_SIZE 16384u
4848
#define JIT_SMALL_GRANULE_SIZE 16384u
4949
#endif
50+
#if PAS_ARM64 && PAS_OS(LINUX)
51+
/* granule_size >> min_align_shift must be < 254 (use_count is uint8_t with 255 = DECOMMITTED).
52+
64K >> 8 = 256 overflows; 64K >> 9 = 128 is safe. Matches PAS_MIN_MEDIUM_ALIGN_SHIFT. */
53+
#define JIT_MEDIUM_BITFIT_MIN_ALIGN_SHIFT 9u
54+
#else
5055
#define JIT_MEDIUM_BITFIT_MIN_ALIGN_SHIFT 8u
56+
#endif
5157
#define JIT_MEDIUM_BITFIT_MIN_ALIGN (1u << JIT_MEDIUM_BITFIT_MIN_ALIGN_SHIFT)
5258
#if PAS_ARM64 && PAS_OS(LINUX)
5359
#define JIT_MEDIUM_PAGE_SIZE 262144u

0 commit comments

Comments
 (0)