Loading...
tests/madvise.c libmalloc-283 libmalloc-116
--- libmalloc/libmalloc-283/tests/madvise.c
+++ libmalloc/libmalloc-116/tests/madvise.c
@@ -6,12 +6,7 @@
 #include <mach/vm_page_size.h>
 #include <stdlib.h>
 
-#include "base.h"
-#include "platform.h"
-#include "nano_zone_common.h"
-#include "nano_zone.h"
-
-extern int
+extern boolean_t
 malloc_engaged_nano(void);
 
 #define T_EXPECT_BYTES(p, len, byte, msg, ...) do { \
@@ -81,9 +76,7 @@
 	T_EXPECT_POSIX_SUCCESS(munmap(mem, memsz), "munmap");
 }
 
-// <rdar://problem/31844360> disable nano_subpage_madvise due to consistent
-// failures.
-#if 0
+#ifdef __LP64__
 
 T_DECL(nano_subpage_madvise, "nano allocator madvise",
 	   T_META_SYSCTL_INT("vm.madvise_free_debug=1"),
@@ -94,10 +87,16 @@
 	T_EXPECT_TRUE(malloc_engaged_nano(), "nano zone enabled");
 
 	void *ptr = malloc(128);
+#ifdef __arm64__
 	T_EXPECT_EQ_PTR(
-			(void *)(((uintptr_t)ptr) >> (64-NANO_SIGNATURE_BITS)),
-			(void *)NANOZONE_SIGNATURE,
+			(void *)(((uintptr_t)ptr) >> (64-36)), (void *)0x000000017ULL,
 			"malloc == nano allocation");
+#else
+	T_EXPECT_EQ_PTR(
+			(void *)(((uintptr_t)ptr) >> (64-20)), (void *)0x00006ULL,
+			"malloc == nano allocation");
+#endif
+
 	free(ptr);
 
 	const size_t granularity = 128;