Index: lib/scudo/scudo_platform.h =================================================================== --- lib/scudo/scudo_platform.h +++ lib/scudo/scudo_platform.h @@ -49,25 +49,26 @@ #if SANITIZER_CAN_USE_ALLOCATOR64 # if defined(__aarch64__) && SANITIZER_ANDROID -const uptr AllocatorSize = 0x2000000000ULL; // 128G. -typedef VeryCompactSizeClassMap SizeClassMap; +const uptr AllocatorSize = 0x4000000000ULL; // 256G. # elif defined(__aarch64__) const uptr AllocatorSize = 0x10000000000ULL; // 1T. -typedef CompactSizeClassMap SizeClassMap; # else const uptr AllocatorSize = 0x40000000000ULL; // 4T. -typedef CompactSizeClassMap SizeClassMap; # endif #else -# if SANITIZER_ANDROID -static const uptr RegionSizeLog = 19; -typedef VeryCompactSizeClassMap SizeClassMap; -# else -static const uptr RegionSizeLog = 20; -typedef CompactSizeClassMap SizeClassMap; -# endif +const uptr RegionSizeLog = SANITIZER_ANDROID ? 19 : 20; #endif // SANITIZER_CAN_USE_ALLOCATOR64 +#if !defined(SCUDO_SIZE_CLASS_MAP) +# define SCUDO_SIZE_CLASS_MAP Default +#endif + +#define SIZE_CLASS_MAP_TYPE SIZE_CLASS_MAP_TYPE_(SCUDO_SIZE_CLASS_MAP) +#define SIZE_CLASS_MAP_TYPE_(T) SIZE_CLASS_MAP_TYPE__(T) +#define SIZE_CLASS_MAP_TYPE__(T) T##SizeClassMap + +typedef SIZE_CLASS_MAP_TYPE SizeClassMap; + } // namespace __scudo #endif // SCUDO_PLATFORM_H_