From f56791f643f8fa547805d99ec938b135d665a9c6 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Wed, 31 Jan 2018 17:18:01 +0900 Subject: Bug 1424709 - Force disable the OSX system "nano allocator". r=spohl, a=RyanVM We're not actually using it, and it messes up with the zone allocator in mozjemalloc after fork(). See the lengthy analysis in https://bugzilla.mozilla.org/show_bug.cgi?id=1424709#c34 and following. --HG-- extra : rebase_source : b191048290a907cc7668ad7ab6369ef8661f31dc extra : intermediate-source : 45c5d467a46077dcc3ccd59feafd0c2784432fef extra : source : bf1efa161edb20a83fe8db2f96c51f4e66880153 --- memory/build/replace_malloc.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'memory') diff --git a/memory/build/replace_malloc.c b/memory/build/replace_malloc.c index 88dfde33c..26dd8c2d6 100644 --- a/memory/build/replace_malloc.c +++ b/memory/build/replace_malloc.c @@ -513,6 +513,12 @@ register_zone(void) */ malloc_zone_t *purgeable_zone = malloc_default_purgeable_zone(); + // There is a problem related to the above with the system nano zone, which + // is hard to work around from here, and that is instead worked around by + // disabling the nano zone through an environment variable + // (MallocNanoZone=0). In Firefox, we do that through + // browser/app/macbuild/Contents/Info.plist.in. + /* Register the custom zone. At this point it won't be the default. */ malloc_zone_register(&zone); -- cgit v1.2.3