Loading...
--- libmalloc/libmalloc-140.1.1/src/nano_malloc.c
+++ libmalloc/libmalloc-140.40.1/src/nano_malloc.c
@@ -1985,6 +1985,13 @@
 	if (flag && flag[0] == '1') {
 		_malloc_engaged_nano = 1;
 	}
+#if CONFIG_NANO_SMALLMEM_DYNAMIC_DISABLE_35305995
+	// Disable nano malloc on <=1gb configurations rdar://problem/35305995
+	uint64_t memsize = platform_hw_memsize();
+	if (memsize <= (1ull << 30)) {
+		_malloc_engaged_nano = 0;
+	}
+#endif // CONFIG_NANO_SMALLMEM_DYNAMIC_DISABLE_35305995
 	/* Explicit overrides from the environment */
 	flag = _simple_getenv(envp, "MallocNanoZone");
 	if (flag && flag[0] == '1') {