Loading...
--- libmalloc/libmalloc-283/src/platform.h
+++ libmalloc/libmalloc-166.220.1/src/platform.h
@@ -72,18 +72,6 @@
// This governs a last-free cache of 1 that bypasses the free-list for each region size
#define CONFIG_TINY_CACHE 1
#define CONFIG_SMALL_CACHE 1
-#define CONFIG_MEDIUM_CACHE 1
-
-// medium allocator enabled or disabled
-#if MALLOC_TARGET_64BIT
-#if MALLOC_TARGET_IOS
-#define CONFIG_MEDIUM_ALLOCATOR 0
-#else // MALLOC_TARGET_IOS
-#define CONFIG_MEDIUM_ALLOCATOR 1
-#endif // MALLOC_TARGET_IOS
-#else // MALLOC_TARGET_64BIT
-#define CONFIG_MEDIUM_ALLOCATOR 0
-#endif // MALLOC_TARGET_64BIT
// The large last-free cache (aka. death row cache)
#if MALLOC_TARGET_IOS
@@ -92,14 +80,16 @@
#define CONFIG_LARGE_CACHE 1
#endif
+// <rdar://problem/26823590> compile-time MALLOC_SMALL cut-off size
#if MALLOC_TARGET_IOS
-// The VM system on iOS forces malloc-tagged memory to never be marked as
-// copy-on-write, this would include calls we make to vm_copy. Given that the
-// kernel would just be doing a memcpy, we force it to happen in userpsace.
-#define CONFIG_REALLOC_CAN_USE_VMCOPY 0
+#if MALLOC_TARGET_64BIT
+MALLOC_STATIC_ASSERT(PAGE_MAX_SIZE == 16 * 1024, "Expected 16k pages");
+// TODO: rdar://problem/35395572
+#define CONFIG_SMALL_CUTOFF_DYNAMIC 0
+#endif
#else
-#define CONFIG_REALLOC_CAN_USE_VMCOPY 1
-#endif
+#define CONFIG_SMALL_CUTOFF_LARGEMEM 1
+#endif // MALLOC_TARGET_IOS
// memory resource exception handling
#if MALLOC_TARGET_IOS || TARGET_OS_SIMULATOR
@@ -115,7 +105,6 @@
#define CONFIG_HAS_COMMPAGE_NCPUS 1
// Use of hyper-shift for magazine selection.
-#define CONFIG_NANO_USES_HYPER_SHIFT 0
#define CONFIG_TINY_USES_HYPER_SHIFT 0
#define CONFIG_SMALL_USES_HYPER_SHIFT 0