Loading...
libmalloc.xcodeproj/project.pbxproj libmalloc-116.30.3 libmalloc-317.140.5
--- libmalloc/libmalloc-116.30.3/libmalloc.xcodeproj/project.pbxproj
+++ libmalloc/libmalloc-317.140.5/libmalloc.xcodeproj/project.pbxproj
@@ -34,25 +34,109 @@
 			name = libmalloc_test;
 			productName = libmalloc_test;
 		};
+		B60A57932009307E006215CB /* executables */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = B60A57962009307E006215CB /* Build configuration list for PBXAggregateTarget "executables" */;
+			buildPhases = (
+			);
+			dependencies = (
+				B60A579820093093006215CB /* PBXTargetDependency */,
+			);
+			name = executables;
+			productName = executables;
+		};
+		E4B7FCB222000DAD0010A840 /* libmalloc_driverkit */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = E4B7FCBB22000DAD0010A840 /* Build configuration list for PBXAggregateTarget "libmalloc_driverkit" */;
+			buildPhases = (
+				E4B7FCBA22000DAD0010A840 /* Sanitise Headers (rdar://problem/10241868) */,
+			);
+			dependencies = (
+				E4B7FCB522000DAD0010A840 /* PBXTargetDependency */,
+			);
+			name = libmalloc_driverkit;
+			productName = libmalloc;
+		};
 /* End PBXAggregateTarget section */
 
 /* Begin PBXBuildFile section */
-		0D468DCF1C7BEF51006FACF5 /* magazine_lite.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D468DCC1C7BEE56006FACF5 /* magazine_lite.c */; };
-		0D468DD01C7BEF71006FACF5 /* stack_logging_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D468DCD1C7BEE65006FACF5 /* stack_logging_internal.h */; };
+		08315122215ED9CF00D97E04 /* malloc_implementation.h in Headers */ = {isa = PBXBuildFile; fileRef = 08315121215ED9C700D97E04 /* malloc_implementation.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		08315123215EE9A100D97E04 /* stack_logging.h in Headers */ = {isa = PBXBuildFile; fileRef = C9571C391C18AA1D00A67EE3 /* stack_logging.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		2B67B5682040B3AF0003E78F /* _malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B67B5672040B3A50003E78F /* _malloc.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		3D157E7420354E02001630BF /* perfdata.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D157E7320354E02001630BF /* perfdata.framework */; };
 		3FE91FED16A90B9200D1238A /* bitarray.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD116A90A8D00D1238A /* bitarray.c */; };
 		3FE91FF016A90B9200D1238A /* magazine_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD616A90A8D00D1238A /* magazine_malloc.c */; };
 		3FE91FF116A90B9200D1238A /* magmallocProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD716A90A8D00D1238A /* magmallocProvider.d */; };
 		3FE91FF216A90B9200D1238A /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD816A90A8D00D1238A /* malloc.c */; };
 		3FE91FF416A90B9200D1238A /* nano_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDA16A90A8D00D1238A /* nano_malloc.c */; };
-		3FE91FF616A90B9200D1238A /* stack_logging_disk.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDC16A90A8D00D1238A /* stack_logging_disk.c */; };
 		3FE91FFA16A90BEF00D1238A /* malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FE91FF916A90BEF00D1238A /* malloc.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		3FE91FFF16A9109E00D1238A /* bitarray.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD116A90A8D00D1238A /* bitarray.c */; };
 		3FE9200116A9109E00D1238A /* magazine_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD616A90A8D00D1238A /* magazine_malloc.c */; };
 		3FE9200216A9109E00D1238A /* magmallocProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD716A90A8D00D1238A /* magmallocProvider.d */; };
 		3FE9200316A9109E00D1238A /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD816A90A8D00D1238A /* malloc.c */; };
 		3FE9200416A9109E00D1238A /* nano_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDA16A90A8D00D1238A /* nano_malloc.c */; };
-		3FE9200616A9109E00D1238A /* stack_logging_disk.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDC16A90A8D00D1238A /* stack_logging_disk.c */; };
+		4D4812BE23D7C99D00FE6CC3 /* pguard_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DF318FF23D796550064A673 /* pguard_malloc.c */; };
+		4D4812BF23D7C99E00FE6CC3 /* pguard_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DF318FF23D796550064A673 /* pguard_malloc.c */; };
+		4D4812C023D7C99F00FE6CC3 /* pguard_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DF318FF23D796550064A673 /* pguard_malloc.c */; };
+		4D4812C123D7C99F00FE6CC3 /* pguard_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DF318FF23D796550064A673 /* pguard_malloc.c */; };
+		4DF3190123D796550064A673 /* pguard_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DF318FF23D796550064A673 /* pguard_malloc.c */; };
+		4DF3190223D796550064A673 /* pguard_malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DF3190023D796550064A673 /* pguard_malloc.h */; };
 		925383DA1BD03D5100F745DB /* stress_test.c in Sources */ = {isa = PBXBuildFile; fileRef = 925383D11BD03B4A00F745DB /* stress_test.c */; };
+		B61341DE20114B660038D163 /* ktrace.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B61341DD20114B070038D163 /* ktrace.framework */; };
+		B629CF28202BA149007719B9 /* nanov2_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */; };
+		B629CF2E202BB337007719B9 /* bitarray.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD116A90A8D00D1238A /* bitarray.c */; };
+		B629CF2F202BB337007719B9 /* purgeable_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C957429E1BF681B00027269A /* purgeable_malloc.c */; };
+		B629CF30202BB337007719B9 /* magazine_large.c in Sources */ = {isa = PBXBuildFile; fileRef = C957429B1BF672F80027269A /* magazine_large.c */; };
+		B629CF31202BB337007719B9 /* magazine_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD616A90A8D00D1238A /* magazine_malloc.c */; };
+		B629CF32202BB337007719B9 /* empty.s in Sources */ = {isa = PBXBuildFile; fileRef = C9ABCA041CB6FC6800ECB399 /* empty.s */; };
+		B629CF33202BB337007719B9 /* magazine_small.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742981BF670D00027269A /* magazine_small.c */; };
+		B629CF34202BB337007719B9 /* legacy_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742AA1BF685CB0027269A /* legacy_malloc.c */; };
+		B629CF35202BB337007719B9 /* magmallocProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD716A90A8D00D1238A /* magmallocProvider.d */; };
+		B629CF36202BB337007719B9 /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD816A90A8D00D1238A /* malloc.c */; };
+		B629CF37202BB337007719B9 /* frozen_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742A41BF6842F0027269A /* frozen_malloc.c */; };
+		B629CF38202BB337007719B9 /* nanov2_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */; };
+		B629CF39202BB337007719B9 /* nano_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDA16A90A8D00D1238A /* nano_malloc.c */; };
+		B629CF3B202BB337007719B9 /* magazine_tiny.c in Sources */ = {isa = PBXBuildFile; fileRef = C957428F1BF419DF0027269A /* magazine_tiny.c */; };
+		B629CF3C202BB337007719B9 /* nano_malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */; };
+		B65FBE2C2087AA2F00E21F59 /* malloc_printf.c in Sources */ = {isa = PBXBuildFile; fileRef = B65FBE2B2087AA2F00E21F59 /* malloc_printf.c */; };
+		B66C71D92034BFAE0047E265 /* malloc_common.h in Headers */ = {isa = PBXBuildFile; fileRef = B66C71D72034BFAE0047E265 /* malloc_common.h */; };
+		B66C71DA2034BFAE0047E265 /* malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B66C71D82034BFAE0047E265 /* malloc_common.c */; };
+		B66C71DB2034BFD30047E265 /* malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B66C71D82034BFAE0047E265 /* malloc_common.c */; };
+		B66C71DC2034BFD40047E265 /* malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B66C71D82034BFAE0047E265 /* malloc_common.c */; };
+		B68B7F9E1FCDCBC600BAD1AA /* nano_malloc_common.h in Headers */ = {isa = PBXBuildFile; fileRef = B68B7F9C1FCDCBC600BAD1AA /* nano_malloc_common.h */; };
+		B68B7F9F1FCDCBC600BAD1AA /* nano_malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */; };
+		B68B7FA01FCDCBE700BAD1AA /* nano_malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */; };
+		B68B7FA11FCDCBE800BAD1AA /* nano_malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */; };
+		B68B7FA31FCDD67100BAD1AA /* nanov2_malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = B68B7FA21FCDD60F00BAD1AA /* nanov2_malloc.h */; };
+		B68B7FA51FCDD9A500BAD1AA /* nanov2_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */; };
+		B68B7FA61FCDD9B200BAD1AA /* nanov2_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */; };
+		B68B7FA71FCDD9B200BAD1AA /* nanov2_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */; };
+		B6910F68202B630D00FF2EB0 /* bitarray.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD116A90A8D00D1238A /* bitarray.c */; };
+		B6910F69202B630D00FF2EB0 /* purgeable_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C957429E1BF681B00027269A /* purgeable_malloc.c */; };
+		B6910F6A202B630D00FF2EB0 /* magazine_large.c in Sources */ = {isa = PBXBuildFile; fileRef = C957429B1BF672F80027269A /* magazine_large.c */; };
+		B6910F6B202B630D00FF2EB0 /* magazine_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD616A90A8D00D1238A /* magazine_malloc.c */; };
+		B6910F6C202B630D00FF2EB0 /* empty.s in Sources */ = {isa = PBXBuildFile; fileRef = C9ABCA041CB6FC6800ECB399 /* empty.s */; };
+		B6910F6D202B630D00FF2EB0 /* magazine_small.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742981BF670D00027269A /* magazine_small.c */; };
+		B6910F6E202B630D00FF2EB0 /* legacy_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742AA1BF685CB0027269A /* legacy_malloc.c */; };
+		B6910F6F202B630D00FF2EB0 /* magmallocProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD716A90A8D00D1238A /* magmallocProvider.d */; };
+		B6910F70202B630D00FF2EB0 /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD816A90A8D00D1238A /* malloc.c */; };
+		B6910F71202B630D00FF2EB0 /* frozen_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742A41BF6842F0027269A /* frozen_malloc.c */; };
+		B6910F73202B630D00FF2EB0 /* nano_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDA16A90A8D00D1238A /* nano_malloc.c */; };
+		B6910F75202B630D00FF2EB0 /* magazine_tiny.c in Sources */ = {isa = PBXBuildFile; fileRef = C957428F1BF419DF0027269A /* magazine_tiny.c */; };
+		B6910F76202B630D00FF2EB0 /* nano_malloc_common.c in Sources */ = {isa = PBXBuildFile; fileRef = B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */; };
+		B6AFD93C214C6198007983DA /* msl_lite_support.c in Sources */ = {isa = PBXBuildFile; fileRef = B6AFD93B214C6198007983DA /* msl_lite_support.c */; };
+		B6CA644E1FCE2C1900DEBA12 /* nanov2_zone.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA644D1FCE2C0A00DEBA12 /* nanov2_zone.h */; };
+		B6CA644F1FCE2C1A00DEBA12 /* nanov2_zone.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA644D1FCE2C0A00DEBA12 /* nanov2_zone.h */; };
+		B6CA64501FCE2C1B00DEBA12 /* nanov2_zone.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA644D1FCE2C0A00DEBA12 /* nanov2_zone.h */; };
+		B6CA64521FCF1AD200DEBA12 /* nano_zone_common.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA64511FCF1AAD00DEBA12 /* nano_zone_common.h */; };
+		B6CA64531FCF1AD400DEBA12 /* nano_zone_common.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA64511FCF1AAD00DEBA12 /* nano_zone_common.h */; };
+		B6CA64541FCF1AD400DEBA12 /* nano_zone_common.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA64511FCF1AAD00DEBA12 /* nano_zone_common.h */; };
+		B6D2ED572007D91A007AF994 /* malloc_replay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6D2ED552007D91A007AF994 /* malloc_replay.cpp */; };
+		B6D5C7F1202E26F80035E376 /* resolver.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D5C7ED202E26CA0035E376 /* resolver.c */; };
+		B6D5C7F2202E26F80035E376 /* resolver.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D5C7ED202E26CA0035E376 /* resolver.c */; };
+		B6D5C7F3202E26F90035E376 /* resolver.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D5C7ED202E26CA0035E376 /* resolver.c */; };
+		B6D5C7F4202E26F90035E376 /* resolver.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D5C7ED202E26CA0035E376 /* resolver.c */; };
+		B6D5C7F5202E26FA0035E376 /* resolver.c in Sources */ = {isa = PBXBuildFile; fileRef = B6D5C7ED202E26CA0035E376 /* resolver.c */; };
 		C0352EC71C3F3C4400DB5126 /* malloc_private.h in Headers */ = {isa = PBXBuildFile; fileRef = C0352EC61C3F3C3600DB5126 /* malloc_private.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		C0CE45311C52C90500C24048 /* bitarray.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD116A90A8D00D1238A /* bitarray.c */; };
 		C0CE45321C52C90500C24048 /* purgeable_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C957429E1BF681B00027269A /* purgeable_malloc.c */; };
@@ -64,7 +148,6 @@
 		C0CE45381C52C90500C24048 /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FD816A90A8D00D1238A /* malloc.c */; };
 		C0CE45391C52C90500C24048 /* frozen_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742A41BF6842F0027269A /* frozen_malloc.c */; };
 		C0CE453A1C52C90500C24048 /* nano_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDA16A90A8D00D1238A /* nano_malloc.c */; };
-		C0CE453C1C52C90500C24048 /* stack_logging_disk.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FE91FDC16A90A8D00D1238A /* stack_logging_disk.c */; };
 		C0CE453D1C52C90500C24048 /* magazine_tiny.c in Sources */ = {isa = PBXBuildFile; fileRef = C957428F1BF419DF0027269A /* magazine_tiny.c */; };
 		C0CE45401C52C90500C24048 /* magazine_inline.h in Headers */ = {isa = PBXBuildFile; fileRef = C95742921BF41C970027269A /* magazine_inline.h */; };
 		C0CE45411C52C90500C24048 /* nano_zone.h in Headers */ = {isa = PBXBuildFile; fileRef = C957427E1BF33D130027269A /* nano_zone.h */; };
@@ -75,9 +158,15 @@
 		C0CE45461C52C90500C24048 /* magazine_malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = C95742951BF41E480027269A /* magazine_malloc.h */; };
 		C0CE45471C52C90500C24048 /* purgeable_malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = C957429F1BF681B00027269A /* purgeable_malloc.h */; };
 		C0CE45481C52C90500C24048 /* base.h in Headers */ = {isa = PBXBuildFile; fileRef = C95742891BF3FD290027269A /* base.h */; };
-		C0CE454E1C52C9E600C24048 /* libmalloc.a in CopyFiles */ = {isa = PBXBuildFile; fileRef = C0CE454C1C52C90500C24048 /* libmalloc.a */; };
+		C901C4BF23EDEADD00E9E7EB /* libmalloc.plist in Install FeatureFlags */ = {isa = PBXBuildFile; fileRef = C901C4BD23EDEAAA00E9E7EB /* libmalloc.plist */; };
+		C932D2681D6B8D840063B19E /* vm.c in Sources */ = {isa = PBXBuildFile; fileRef = C932D2661D6B8D840063B19E /* vm.c */; };
+		C932D2691D6B8D840063B19E /* vm.h in Headers */ = {isa = PBXBuildFile; fileRef = C932D2671D6B8D840063B19E /* vm.h */; };
 		C938BBD31C74F7A400522BBD /* trace.h in Headers */ = {isa = PBXBuildFile; fileRef = C938BBD21C74F7A400522BBD /* trace.h */; };
-		C9571C3A1C18AA1D00A67EE3 /* stack_logging.h in Headers */ = {isa = PBXBuildFile; fileRef = C9571C391C18AA1D00A67EE3 /* stack_logging.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		C94B447821925CA50005EA6F /* magazine_medium.c in Sources */ = {isa = PBXBuildFile; fileRef = C94B447721925C990005EA6F /* magazine_medium.c */; };
+		C94B447921925CA60005EA6F /* magazine_medium.c in Sources */ = {isa = PBXBuildFile; fileRef = C94B447721925C990005EA6F /* magazine_medium.c */; };
+		C94B447A21925CA60005EA6F /* magazine_medium.c in Sources */ = {isa = PBXBuildFile; fileRef = C94B447721925C990005EA6F /* magazine_medium.c */; };
+		C94B447B21925CA70005EA6F /* magazine_medium.c in Sources */ = {isa = PBXBuildFile; fileRef = C94B447721925C990005EA6F /* magazine_medium.c */; };
+		C94B447C21925CA80005EA6F /* magazine_medium.c in Sources */ = {isa = PBXBuildFile; fileRef = C94B447721925C990005EA6F /* magazine_medium.c */; };
 		C95742721BF2C2880027269A /* bitarray.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FE91FD216A90A8D00D1238A /* bitarray.h */; };
 		C95742731BF2C2880027269A /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C957426D1BF2C0C80027269A /* internal.h */; };
 		C95742741BF2C2880027269A /* locking.h in Headers */ = {isa = PBXBuildFile; fileRef = C957426E1BF2C1480027269A /* locking.h */; };
@@ -115,6 +204,8 @@
 		C95742A91BF6842F0027269A /* frozen_malloc.h in Headers */ = {isa = PBXBuildFile; fileRef = C95742A51BF6842F0027269A /* frozen_malloc.h */; };
 		C95742AB1BF685CB0027269A /* legacy_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742AA1BF685CB0027269A /* legacy_malloc.c */; };
 		C95742AC1BF685CB0027269A /* legacy_malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = C95742AA1BF685CB0027269A /* legacy_malloc.c */; };
+		C99E320B1D6F7366005655A8 /* magazine_rack.c in Sources */ = {isa = PBXBuildFile; fileRef = C99E32091D6F7366005655A8 /* magazine_rack.c */; };
+		C99E320C1D6F7366005655A8 /* magazine_rack.h in Headers */ = {isa = PBXBuildFile; fileRef = C99E320A1D6F7366005655A8 /* magazine_rack.h */; };
 		C9ABCA051CB6FC6800ECB399 /* empty.s in Sources */ = {isa = PBXBuildFile; fileRef = C9ABCA041CB6FC6800ECB399 /* empty.s */; };
 /* End PBXBuildFile section */
 
@@ -147,6 +238,27 @@
 			remoteGlobalIDString = 925383D41BD03C0500F745DB;
 			remoteInfo = darwintests;
 		};
+		B60A579720093093006215CB /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3FFC1BE516A908F800027192 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = B6D2ED492007D76F007AF994;
+			remoteInfo = libmalloc_replay;
+		};
+		B629CF43202BB389007719B9 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3FFC1BE516A908F800027192 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = B629CF2B202BB337007719B9;
+			remoteInfo = libmalloc_alt;
+		};
+		B676F4AB202B66EF00933F6D /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3FFC1BE516A908F800027192 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = B6910F65202B630D00FF2EB0;
+			remoteInfo = libmalloc_mp;
+		};
 		C0CE454F1C52CCBD00C24048 /* PBXContainerItemProxy */ = {
 			isa = PBXContainerItemProxy;
 			containerPortal = 3FFC1BE516A908F800027192 /* Project object */;
@@ -154,6 +266,13 @@
 			remoteGlobalIDString = C0CE452F1C52C90500C24048;
 			remoteInfo = libmalloc_static;
 		};
+		E4B7FCB622000DAD0010A840 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3FFC1BE516A908F800027192 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 3FE91FE716A90AEC00D1238A;
+			remoteInfo = libsystem_malloc;
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -166,34 +285,37 @@
 			);
 			runOnlyForDeploymentPostprocessing = 1;
 		};
-		C0CE454D1C52C9D900C24048 /* CopyFiles */ = {
+		C901C4BE23EDEABF00E9E7EB /* Install FeatureFlags */ = {
 			isa = PBXCopyFilesBuildPhase;
 			buildActionMask = 8;
-			dstPath = /usr/local/lib/loaderd;
+			dstPath = /System/Library/FeatureFlags/Domain;
 			dstSubfolderSpec = 0;
 			files = (
-				C0CE454E1C52C9E600C24048 /* libmalloc.a in CopyFiles */,
-			);
+				C901C4BF23EDEADD00E9E7EB /* libmalloc.plist in Install FeatureFlags */,
+			);
+			name = "Install FeatureFlags";
 			runOnlyForDeploymentPostprocessing = 1;
 		};
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		0D468DCC1C7BEE56006FACF5 /* magazine_lite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magazine_lite.c; sourceTree = "<group>"; };
-		0D468DCD1C7BEE65006FACF5 /* stack_logging_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack_logging_internal.h; sourceTree = "<group>"; };
-		0D468DCE1C7BEE74006FACF5 /* stack_logging_test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stack_logging_test.c; sourceTree = "<group>"; };
+		08315121215ED9C700D97E04 /* malloc_implementation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = malloc_implementation.h; sourceTree = "<group>"; };
+		084F5E831D50204F006CD296 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		086D54292159699B00A0ACD1 /* libSystem.B.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libSystem.B.tbd; path = usr/lib/libSystem.B.tbd; sourceTree = SDKROOT; };
+		2B67B5672040B3A50003E78F /* _malloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = _malloc.h; sourceTree = "<group>"; };
+		2BED1E6A203E2F7700CB8C15 /* make_tapi_happy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = make_tapi_happy.h; sourceTree = "<group>"; };
+		3D157E7320354E02001630BF /* perfdata.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = perfdata.framework; path = ../MacOSX10.14.Internal.sdk/System/Library/PrivateFrameworks/perfdata.framework; sourceTree = SDKROOT; };
 		3FC452FF18E4ABFE003D6A38 /* manpages.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = manpages.sh; sourceTree = "<group>"; };
 		3FE91FC916A90A8D00D1238A /* malloc.3 */ = {isa = PBXFileReference; lastKnownFileType = text; path = malloc.3; sourceTree = "<group>"; };
 		3FE91FCA16A90A8D00D1238A /* malloc_size.3 */ = {isa = PBXFileReference; lastKnownFileType = text; path = malloc_size.3; sourceTree = "<group>"; };
 		3FE91FCB16A90A8D00D1238A /* malloc_zone_malloc.3 */ = {isa = PBXFileReference; lastKnownFileType = text; path = malloc_zone_malloc.3; sourceTree = "<group>"; };
 		3FE91FD116A90A8D00D1238A /* bitarray.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = bitarray.c; sourceTree = "<group>"; };
 		3FE91FD216A90A8D00D1238A /* bitarray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bitarray.h; sourceTree = "<group>"; };
-		3FE91FD616A90A8D00D1238A /* magazine_malloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = magazine_malloc.c; sourceTree = "<group>"; };
+		3FE91FD616A90A8D00D1238A /* magazine_malloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; lineEnding = 0; path = magazine_malloc.c; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.c; };
 		3FE91FD716A90A8D00D1238A /* magmallocProvider.d */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.dtrace; path = magmallocProvider.d; sourceTree = "<group>"; };
 		3FE91FD816A90A8D00D1238A /* malloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc.c; sourceTree = "<group>"; };
 		3FE91FD916A90A8D00D1238A /* printf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = printf.h; sourceTree = "<group>"; };
 		3FE91FDA16A90A8D00D1238A /* nano_malloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nano_malloc.c; sourceTree = "<group>"; };
-		3FE91FDC16A90A8D00D1238A /* stack_logging_disk.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = stack_logging_disk.c; sourceTree = "<group>"; usesTabs = 1; };
 		3FE91FE016A90A8D00D1238A /* libmalloc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = libmalloc.xcconfig; sourceTree = "<group>"; };
 		3FE91FE116A90A8D00D1238A /* libmalloc_eos.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = libmalloc_eos.xcconfig; sourceTree = "<group>"; };
 		3FE91FE316A90A8D00D1238A /* sanitise_headers.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = sanitise_headers.sh; sourceTree = "<group>"; };
@@ -202,51 +324,70 @@
 		3FE91FFB16A90E6C00D1238A /* legacy_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legacy_malloc.h; sourceTree = "<group>"; };
 		3FE9201016A9109E00D1238A /* libmalloc_eOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmalloc_eOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		456E51C9197DF0D600A7E488 /* libmalloc_stress_test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libmalloc_stress_test; sourceTree = BUILT_PRODUCTS_DIR; };
+		4D87505A23F1D680005E25AA /* pguard_testing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pguard_testing.h; sourceTree = "<group>"; tabWidth = 2; };
+		4D87505B23F1DB2E005E25AA /* pguard_allocator.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = pguard_allocator.c; sourceTree = "<group>"; tabWidth = 2; };
+		4DD5962D23E22A3D00D573D2 /* pguard_internals.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = pguard_internals.c; sourceTree = "<group>"; tabWidth = 2; };
+		4DF318FF23D796550064A673 /* pguard_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pguard_malloc.c; sourceTree = "<group>"; tabWidth = 2; };
+		4DF3190023D796550064A673 /* pguard_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pguard_malloc.h; sourceTree = "<group>"; };
+		4DFE482725BA55C5004A50E8 /* malloc_zone_unregister_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc_zone_unregister_test.c; sourceTree = "<group>"; };
+		875E02E32125B62300A7FE8A /* aligned_alloc_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = aligned_alloc_test.c; sourceTree = "<group>"; };
+		875E02E42125C1D100A7FE8A /* posix_memalign_test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = posix_memalign_test.c; sourceTree = "<group>"; };
+		8CB962B01F7E9F610046942E /* asan.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = asan.c; sourceTree = "<group>"; };
+		8CB962B11F7E9FD00046942E /* tsan.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tsan.c; sourceTree = "<group>"; };
 		925383D01BD03B4A00F745DB /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
 		925383D11BD03B4A00F745DB /* stress_test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stress_test.c; sourceTree = "<group>"; };
 		925383D31BD03B8F00F745DB /* manpages.lst */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = manpages.lst; sourceTree = "<group>"; };
+		96E1C8ED2653373700B23906 /* magazine_medium_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = magazine_medium_test.c; sourceTree = "<group>"; };
+		B61341DD20114B070038D163 /* ktrace.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ktrace.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.Internal.sdk/System/Library/PrivateFrameworks/ktrace.framework; sourceTree = DEVELOPER_DIR; };
+		B629CF29202BA3C2007719B9 /* libmalloc_resolver.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = libmalloc_resolver.xcconfig; sourceTree = "<group>"; };
+		B629CF42202BB337007719B9 /* libmalloc_alt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmalloc_alt.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		B629CF46202BBDEC007719B9 /* resolver_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resolver_internal.h; sourceTree = "<group>"; };
+		B629CF48202BBE3B007719B9 /* resolver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = resolver.h; sourceTree = "<group>"; };
+		B64E100A205311DC004C4BA6 /* malloc_size_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc_size_test.c; sourceTree = "<group>"; };
+		B6536A62204754B6005FBE22 /* perf_contended_malloc_free.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = perf_contended_malloc_free.c; sourceTree = "<group>"; };
+		B6536A6320475BA4005FBE22 /* basic_malloc_free_perf.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = basic_malloc_free_perf.c; sourceTree = "<group>"; };
+		B65A635D2252B3A000A95474 /* memory_pressure.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memory_pressure.c; sourceTree = "<group>"; };
+		B65FBE2B2087AA2F00E21F59 /* malloc_printf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = malloc_printf.c; sourceTree = "<group>"; };
+		B66AA658202A70B00019D607 /* libmalloc_resolved.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = libmalloc_resolved.xcconfig; sourceTree = "<group>"; };
+		B66C71D72034BFAE0047E265 /* malloc_common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = malloc_common.h; sourceTree = "<group>"; };
+		B66C71D82034BFAE0047E265 /* malloc_common.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc_common.c; sourceTree = "<group>"; };
+		B670DABD2072D0BB00139A1D /* perf_realloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = perf_realloc.c; sourceTree = "<group>"; };
+		B6726EC92092473D00E8AF5A /* malloc_heap_check_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc_heap_check_test.c; sourceTree = "<group>"; };
+		B675F74520213D0A00B5038B /* nano_tests.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nano_tests.c; sourceTree = "<group>"; };
+		B68B7F9C1FCDCBC600BAD1AA /* nano_malloc_common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nano_malloc_common.h; sourceTree = "<group>"; };
+		B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nano_malloc_common.c; sourceTree = "<group>"; };
+		B68B7FA21FCDD60F00BAD1AA /* nanov2_malloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nanov2_malloc.h; sourceTree = "<group>"; };
+		B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nanov2_malloc.c; sourceTree = "<group>"; };
+		B68C985C2180BEB5003DAF36 /* region_cookie_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = region_cookie_test.c; sourceTree = "<group>"; };
+		B6910F89202B630D00FF2EB0 /* libmalloc_mp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmalloc_mp.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		B69B2B941FB3D00500FD5A8F /* magazine_malloc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = magazine_malloc.c; sourceTree = "<group>"; };
+		B6A414EA1FBDF01C0038DC53 /* malloc_claimed_address_tests.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc_claimed_address_tests.c; sourceTree = "<group>"; };
+		B6A494971F9918DD0016A799 /* calloc_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = calloc_test.c; sourceTree = "<group>"; };
+		B6A9C48C1F991716007D0853 /* malloc_free_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = malloc_free_test.c; sourceTree = "<group>"; };
+		B6AFD93B214C6198007983DA /* msl_lite_support.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = msl_lite_support.c; sourceTree = "<group>"; };
+		B6BE1D5D21BB120B00D5F315 /* MallocBenchTest */ = {isa = PBXFileReference; lastKnownFileType = folder; path = MallocBenchTest; sourceTree = "<group>"; };
+		B6C1C9C720D9B70F002CCC0B /* nano_trace_replay.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nano_trace_replay.c; sourceTree = "<group>"; };
+		B6CA644D1FCE2C0A00DEBA12 /* nanov2_zone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nanov2_zone.h; sourceTree = "<group>"; };
+		B6CA64511FCF1AAD00DEBA12 /* nano_zone_common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nano_zone_common.h; sourceTree = "<group>"; };
+		B6D2ED512007D76F007AF994 /* libmalloc_replay */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = libmalloc_replay; sourceTree = BUILT_PRODUCTS_DIR; };
+		B6D2ED552007D91A007AF994 /* malloc_replay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = malloc_replay.cpp; sourceTree = "<group>"; };
+		B6D2ED562007D91A007AF994 /* malloc_replay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = malloc_replay.h; sourceTree = "<group>"; };
+		B6D59B0E225EA90E009E5896 /* reallocarray.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = reallocarray.c; sourceTree = "<group>"; };
+		B6D5C7ED202E26CA0035E376 /* resolver.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = resolver.c; sourceTree = "<group>"; };
 		C0352EC61C3F3C3600DB5126 /* malloc_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = malloc_private.h; sourceTree = "<group>"; };
 		C0CE450E1C52B9E300C24048 /* libmalloc_static.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = libmalloc_static.xcconfig; sourceTree = "<group>"; };
 		C0CE454C1C52C90500C24048 /* libmalloc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmalloc.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		C901C4BD23EDEAAA00E9E7EB /* libmalloc.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = libmalloc.plist; sourceTree = "<group>"; };
 		C92853A01C767F08001FEAF3 /* install-codes.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "install-codes.sh"; sourceTree = "<group>"; };
 		C931B58F1C81248100D0D230 /* madvise.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = madvise.c; sourceTree = "<group>"; };
+		C932D2631D6B6ED40063B19E /* magazine_tiny_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = magazine_tiny_test.c; sourceTree = "<group>"; };
+		C932D2641D6B73270063B19E /* dtrace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dtrace.h; sourceTree = "<group>"; };
+		C932D2661D6B8D840063B19E /* vm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vm.c; sourceTree = "<group>"; };
+		C932D2671D6B8D840063B19E /* vm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm.h; sourceTree = "<group>"; };
 		C938BBD21C74F7A400522BBD /* trace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trace.h; sourceTree = "<group>"; };
+		C93F76D71D6B9F8C0088931B /* magazine_testing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magazine_testing.h; sourceTree = "<group>"; };
+		C94B447721925C990005EA6F /* magazine_medium.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magazine_medium.c; sourceTree = "<group>"; };
 		C9571C391C18AA1D00A67EE3 /* stack_logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack_logging.h; sourceTree = "<group>"; };
-		C9571C3C1C18AD5F00A67EE3 /* balloon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = balloon.cpp; sourceTree = "<group>"; };
-		C9571C3D1C18AD5F00A67EE3 /* balloon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = balloon.h; sourceTree = "<group>"; };
-		C9571C3E1C18AD5F00A67EE3 /* Benchmark.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Benchmark.cpp; sourceTree = "<group>"; };
-		C9571C3F1C18AD5F00A67EE3 /* Benchmark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Benchmark.h; sourceTree = "<group>"; };
-		C9571C401C18AD5F00A67EE3 /* big.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = big.cpp; sourceTree = "<group>"; };
-		C9571C411C18AD5F00A67EE3 /* big.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = big.h; sourceTree = "<group>"; };
-		C9571C421C18AD5F00A67EE3 /* churn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = churn.cpp; sourceTree = "<group>"; };
-		C9571C431C18AD5F00A67EE3 /* churn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = churn.h; sourceTree = "<group>"; };
-		C9571C441C18AD5F00A67EE3 /* CommandLine.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CommandLine.cpp; sourceTree = "<group>"; };
-		C9571C451C18AD5F00A67EE3 /* CommandLine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommandLine.h; sourceTree = "<group>"; };
-		C9571C461C18AD5F00A67EE3 /* CPUCount.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CPUCount.cpp; sourceTree = "<group>"; };
-		C9571C471C18AD5F00A67EE3 /* CPUCount.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPUCount.h; sourceTree = "<group>"; };
-		C9571C4C1C18AD5F00A67EE3 /* fragment.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = fragment.cpp; sourceTree = "<group>"; };
-		C9571C4D1C18AD5F00A67EE3 /* fragment.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fragment.h; sourceTree = "<group>"; };
-		C9571C4E1C18AD5F00A67EE3 /* Interpreter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Interpreter.cpp; sourceTree = "<group>"; };
-		C9571C4F1C18AD5F00A67EE3 /* Interpreter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Interpreter.h; sourceTree = "<group>"; };
-		C9571C501C18AD5F00A67EE3 /* list.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = "<group>"; };
-		C9571C511C18AD5F00A67EE3 /* list.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = "<group>"; };
-		C9571C521C18AD5F00A67EE3 /* mbmalloc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = mbmalloc.cpp; sourceTree = "<group>"; };
-		C9571C531C18AD5F00A67EE3 /* mbmalloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mbmalloc.h; sourceTree = "<group>"; };
-		C9571C541C18AD5F00A67EE3 /* medium.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = medium.cpp; sourceTree = "<group>"; };
-		C9571C551C18AD5F00A67EE3 /* medium.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = medium.h; sourceTree = "<group>"; };
-		C9571C561C18AD5F00A67EE3 /* memalign.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = memalign.cpp; sourceTree = "<group>"; };
-		C9571C571C18AD5F00A67EE3 /* memalign.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memalign.h; sourceTree = "<group>"; };
-		C9571C581C18AD5F00A67EE3 /* message.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = message.cpp; sourceTree = "<group>"; };
-		C9571C591C18AD5F00A67EE3 /* message.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = message.h; sourceTree = "<group>"; };
-		C9571C5A1C18AD5F00A67EE3 /* realloc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = realloc.cpp; sourceTree = "<group>"; };
-		C9571C5B1C18AD5F00A67EE3 /* realloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = realloc.h; sourceTree = "<group>"; };
-		C9571C5E1C18AD5F00A67EE3 /* stress_aligned.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = stress_aligned.cpp; sourceTree = "<group>"; };
-		C9571C5F1C18AD5F00A67EE3 /* stress_aligned.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stress_aligned.h; sourceTree = "<group>"; };
-		C9571C601C18AD5F00A67EE3 /* stress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = stress.cpp; sourceTree = "<group>"; };
-		C9571C611C18AD5F00A67EE3 /* stress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stress.h; sourceTree = "<group>"; };
-		C9571C641C18AD5F00A67EE3 /* tree.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tree.cpp; sourceTree = "<group>"; };
-		C9571C651C18AD5F00A67EE3 /* tree.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tree.h; sourceTree = "<group>"; };
-		C9571C661C18AD6A00A67EE3 /* MallocBench.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MallocBench.cpp; sourceTree = "<group>"; };
 		C957426D1BF2C0C80027269A /* internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
 		C957426E1BF2C1480027269A /* locking.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = locking.h; sourceTree = "<group>"; };
 		C95742791BF2C5F40027269A /* nano_malloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nano_malloc.h; sourceTree = "<group>"; };
@@ -255,18 +396,22 @@
 		C95742861BF3F9550027269A /* magazine_zone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = magazine_zone.h; sourceTree = "<group>"; };
 		C95742891BF3FD290027269A /* base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = base.h; sourceTree = "<group>"; };
 		C957428C1BF411330027269A /* thresholds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thresholds.h; sourceTree = "<group>"; };
-		C957428F1BF419DF0027269A /* magazine_tiny.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magazine_tiny.c; sourceTree = "<group>"; };
-		C95742921BF41C970027269A /* magazine_inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = magazine_inline.h; sourceTree = "<group>"; };
+		C957428F1BF419DF0027269A /* magazine_tiny.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; lineEnding = 0; path = magazine_tiny.c; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.c; };
+		C95742921BF41C970027269A /* magazine_inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = magazine_inline.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
 		C95742951BF41E480027269A /* magazine_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = magazine_malloc.h; sourceTree = "<group>"; };
-		C95742981BF670D00027269A /* magazine_small.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magazine_small.c; sourceTree = "<group>"; };
+		C95742981BF670D00027269A /* magazine_small.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; lineEnding = 0; path = magazine_small.c; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.c; };
 		C957429B1BF672F80027269A /* magazine_large.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magazine_large.c; sourceTree = "<group>"; };
 		C957429E1BF681B00027269A /* purgeable_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = purgeable_malloc.c; sourceTree = "<group>"; };
 		C957429F1BF681B00027269A /* purgeable_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = purgeable_malloc.h; sourceTree = "<group>"; };
 		C95742A41BF6842F0027269A /* frozen_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = frozen_malloc.c; sourceTree = "<group>"; };
 		C95742A51BF6842F0027269A /* frozen_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frozen_malloc.h; sourceTree = "<group>"; };
 		C95742AA1BF685CB0027269A /* legacy_malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = legacy_malloc.c; sourceTree = "<group>"; };
+		C99E32091D6F7366005655A8 /* magazine_rack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magazine_rack.c; sourceTree = "<group>"; };
+		C99E320A1D6F7366005655A8 /* magazine_rack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = magazine_rack.h; sourceTree = "<group>"; };
 		C9ABCA041CB6FC6800ECB399 /* empty.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = empty.s; sourceTree = "<group>"; };
 		C9F77BBA1BF2B84800812E13 /* platform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = "<group>"; };
+		C9F8C2681D70B521008C4044 /* magazine_small_test.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = magazine_small_test.c; sourceTree = "<group>"; };
+		C9F8C2691D74C93A008C4044 /* magazine_rack.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = magazine_rack.c; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -291,6 +436,29 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		B629CF3D202BB337007719B9 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		B6910F77202B630D00FF2EB0 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		B6D2ED4C2007D76F007AF994 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				3D157E7420354E02001630BF /* perfdata.framework in Frameworks */,
+				B61341DE20114B660038D163 /* ktrace.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		C0CE453E1C52C90500C24048 /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -301,6 +469,26 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		084F5E821D50204F006CD296 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				086D54292159699B00A0ACD1 /* libSystem.B.tbd */,
+				3D157E7320354E02001630BF /* perfdata.framework */,
+				B61341DD20114B070038D163 /* ktrace.framework */,
+				084F5E831D50204F006CD296 /* Foundation.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		08C28B411D501D2C000AE997 /* tools */ = {
+			isa = PBXGroup;
+			children = (
+				B6D2ED552007D91A007AF994 /* malloc_replay.cpp */,
+				B6D2ED562007D91A007AF994 /* malloc_replay.h */,
+			);
+			path = tools;
+			sourceTree = "<group>";
+		};
 		3FE91FC816A90A8D00D1238A /* man */ = {
 			isa = PBXGroup;
 			children = (
@@ -319,6 +507,8 @@
 				3FE91FD116A90A8D00D1238A /* bitarray.c */,
 				3FE91FD216A90A8D00D1238A /* bitarray.h */,
 				C957427B1BF2C8DE0027269A /* debug.h */,
+				C932D2641D6B73270063B19E /* dtrace.h */,
+				C9ABCA041CB6FC6800ECB399 /* empty.s */,
 				C95742A41BF6842F0027269A /* frozen_malloc.c */,
 				C95742A51BF6842F0027269A /* frozen_malloc.h */,
 				C957426D1BF2C0C80027269A /* internal.h */,
@@ -327,26 +517,39 @@
 				C957426E1BF2C1480027269A /* locking.h */,
 				C95742921BF41C970027269A /* magazine_inline.h */,
 				C957429B1BF672F80027269A /* magazine_large.c */,
-				0D468DCC1C7BEE56006FACF5 /* magazine_lite.c */,
 				3FE91FD616A90A8D00D1238A /* magazine_malloc.c */,
 				C95742951BF41E480027269A /* magazine_malloc.h */,
+				B65FBE2B2087AA2F00E21F59 /* malloc_printf.c */,
+				C99E32091D6F7366005655A8 /* magazine_rack.c */,
+				C99E320A1D6F7366005655A8 /* magazine_rack.h */,
+				C94B447721925C990005EA6F /* magazine_medium.c */,
 				C95742981BF670D00027269A /* magazine_small.c */,
 				C957428F1BF419DF0027269A /* magazine_tiny.c */,
 				C95742861BF3F9550027269A /* magazine_zone.h */,
 				3FE91FD716A90A8D00D1238A /* magmallocProvider.d */,
 				3FE91FD816A90A8D00D1238A /* malloc.c */,
+				B66C71D82034BFAE0047E265 /* malloc_common.c */,
+				B66C71D72034BFAE0047E265 /* malloc_common.h */,
+				B6AFD93B214C6198007983DA /* msl_lite_support.c */,
+				B68B7F9D1FCDCBC600BAD1AA /* nano_malloc_common.c */,
+				B68B7F9C1FCDCBC600BAD1AA /* nano_malloc_common.h */,
 				3FE91FDA16A90A8D00D1238A /* nano_malloc.c */,
 				C95742791BF2C5F40027269A /* nano_malloc.h */,
 				C957427E1BF33D130027269A /* nano_zone.h */,
+				B6CA64511FCF1AAD00DEBA12 /* nano_zone_common.h */,
+				B68B7FA41FCDD9A500BAD1AA /* nanov2_malloc.c */,
+				B68B7FA21FCDD60F00BAD1AA /* nanov2_malloc.h */,
+				B6CA644D1FCE2C0A00DEBA12 /* nanov2_zone.h */,
+				4DF318FF23D796550064A673 /* pguard_malloc.c */,
+				4DF3190023D796550064A673 /* pguard_malloc.h */,
 				C9F77BBA1BF2B84800812E13 /* platform.h */,
 				3FE91FD916A90A8D00D1238A /* printf.h */,
 				C957429E1BF681B00027269A /* purgeable_malloc.c */,
 				C957429F1BF681B00027269A /* purgeable_malloc.h */,
-				3FE91FDC16A90A8D00D1238A /* stack_logging_disk.c */,
-				0D468DCD1C7BEE65006FACF5 /* stack_logging_internal.h */,
-				C9ABCA041CB6FC6800ECB399 /* empty.s */,
 				C957428C1BF411330027269A /* thresholds.h */,
 				C938BBD21C74F7A400522BBD /* trace.h */,
+				C932D2661D6B8D840063B19E /* vm.c */,
+				C932D2671D6B8D840063B19E /* vm.h */,
 			);
 			path = src;
 			sourceTree = "<group>";
@@ -357,6 +560,8 @@
 				3FE91FE016A90A8D00D1238A /* libmalloc.xcconfig */,
 				3FE91FE116A90A8D00D1238A /* libmalloc_eos.xcconfig */,
 				C0CE450E1C52B9E300C24048 /* libmalloc_static.xcconfig */,
+				B66AA658202A70B00019D607 /* libmalloc_resolved.xcconfig */,
+				B629CF29202BA3C2007719B9 /* libmalloc_resolver.xcconfig */,
 			);
 			path = xcodeconfig;
 			sourceTree = "<group>";
@@ -378,6 +583,9 @@
 				3FE9201016A9109E00D1238A /* libmalloc_eOS.a */,
 				456E51C9197DF0D600A7E488 /* libmalloc_stress_test */,
 				C0CE454C1C52C90500C24048 /* libmalloc.a */,
+				B6D2ED512007D76F007AF994 /* libmalloc_replay */,
+				B6910F89202B630D00FF2EB0 /* libmalloc_mp.a */,
+				B629CF42202BB337007719B9 /* libmalloc_alt.a */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -393,6 +601,7 @@
 		3FE91FF816A90BEF00D1238A /* malloc */ = {
 			isa = PBXGroup;
 			children = (
+				2B67B5672040B3A50003E78F /* _malloc.h */,
 				3FE91FF916A90BEF00D1238A /* malloc.h */,
 			);
 			path = malloc;
@@ -401,14 +610,18 @@
 		3FFC1BE416A908F800027192 = {
 			isa = PBXGroup;
 			children = (
+				C901C4BC23EDEAAA00E9E7EB /* featureflags */,
 				3FE91FF716A90BEF00D1238A /* include */,
 				3FE91FC816A90A8D00D1238A /* man */,
 				C9571C381C18AA0A00A67EE3 /* private */,
 				3FE91FCC16A90A8D00D1238A /* src */,
+				B629CF45202BBDCC007719B9 /* resolver */,
 				925383BD1BD03B4A00F745DB /* tests */,
 				3FE91FDF16A90A8D00D1238A /* xcodeconfig */,
 				3FE91FE216A90A8D00D1238A /* xcodescripts */,
+				08C28B411D501D2C000AE997 /* tools */,
 				3FE91FE916A90AEC00D1238A /* Products */,
+				084F5E821D50204F006CD296 /* Frameworks */,
 			);
 			sourceTree = "<group>";
 			tabWidth = 4;
@@ -417,14 +630,57 @@
 		925383BD1BD03B4A00F745DB /* tests */ = {
 			isa = PBXGroup;
 			children = (
-				0D468DCE1C7BEE74006FACF5 /* stack_logging_test.c */,
+				B6BE1D5D21BB120B00D5F315 /* MallocBenchTest */,
+				8CB962B01F7E9F610046942E /* asan.c */,
+				8CB962B11F7E9FD00046942E /* tsan.c */,
 				C931B58F1C81248100D0D230 /* madvise.c */,
-				C9571C3B1C18AD4F00A67EE3 /* MallocBench */,
+				C9F8C2691D74C93A008C4044 /* magazine_rack.c */,
+				B6A494971F9918DD0016A799 /* calloc_test.c */,
+				B6A9C48C1F991716007D0853 /* malloc_free_test.c */,
+				875E02E32125B62300A7FE8A /* aligned_alloc_test.c */,
+				875E02E42125C1D100A7FE8A /* posix_memalign_test.c */,
+				B6A414EA1FBDF01C0038DC53 /* malloc_claimed_address_tests.c */,
+				4DFE482725BA55C5004A50E8 /* malloc_zone_unregister_test.c */,
+				B6726EC92092473D00E8AF5A /* malloc_heap_check_test.c */,
+				C9F8C2681D70B521008C4044 /* magazine_small_test.c */,
+				B64E100A205311DC004C4BA6 /* malloc_size_test.c */,
+				C93F76D71D6B9F8C0088931B /* magazine_testing.h */,
+				C932D2631D6B6ED40063B19E /* magazine_tiny_test.c */,
+				B69B2B941FB3D00500FD5A8F /* magazine_malloc.c */,
+				B65A635D2252B3A000A95474 /* memory_pressure.c */,
 				925383D01BD03B4A00F745DB /* Makefile */,
-				C9571C661C18AD6A00A67EE3 /* MallocBench.cpp */,
+				B6536A6320475BA4005FBE22 /* basic_malloc_free_perf.c */,
+				B675F74520213D0A00B5038B /* nano_tests.c */,
+				B6C1C9C720D9B70F002CCC0B /* nano_trace_replay.c */,
+				4D87505A23F1D680005E25AA /* pguard_testing.h */,
+				4DD5962D23E22A3D00D573D2 /* pguard_internals.c */,
+				4D87505B23F1DB2E005E25AA /* pguard_allocator.c */,
+				B6536A62204754B6005FBE22 /* perf_contended_malloc_free.c */,
+				B670DABD2072D0BB00139A1D /* perf_realloc.c */,
+				B6D59B0E225EA90E009E5896 /* reallocarray.c */,
+				B68C985C2180BEB5003DAF36 /* region_cookie_test.c */,
 				925383D11BD03B4A00F745DB /* stress_test.c */,
+				96E1C8ED2653373700B23906 /* magazine_medium_test.c */,
 			);
 			path = tests;
+			sourceTree = "<group>";
+		};
+		B629CF45202BBDCC007719B9 /* resolver */ = {
+			isa = PBXGroup;
+			children = (
+				B629CF48202BBE3B007719B9 /* resolver.h */,
+				B629CF46202BBDEC007719B9 /* resolver_internal.h */,
+				B6D5C7ED202E26CA0035E376 /* resolver.c */,
+			);
+			path = resolver;
+			sourceTree = "<group>";
+		};
+		C901C4BC23EDEAAA00E9E7EB /* featureflags */ = {
+			isa = PBXGroup;
+			children = (
+				C901C4BD23EDEAAA00E9E7EB /* libmalloc.plist */,
+			);
+			path = featureflags;
 			sourceTree = "<group>";
 		};
 		C9571C381C18AA0A00A67EE3 /* private */ = {
@@ -432,49 +688,10 @@
 			children = (
 				C9571C391C18AA1D00A67EE3 /* stack_logging.h */,
 				C0352EC61C3F3C3600DB5126 /* malloc_private.h */,
+				08315121215ED9C700D97E04 /* malloc_implementation.h */,
+				2BED1E6A203E2F7700CB8C15 /* make_tapi_happy.h */,
 			);
 			path = private;
-			sourceTree = "<group>";
-		};
-		C9571C3B1C18AD4F00A67EE3 /* MallocBench */ = {
-			isa = PBXGroup;
-			children = (
-				C9571C3C1C18AD5F00A67EE3 /* balloon.cpp */,
-				C9571C3D1C18AD5F00A67EE3 /* balloon.h */,
-				C9571C3E1C18AD5F00A67EE3 /* Benchmark.cpp */,
-				C9571C3F1C18AD5F00A67EE3 /* Benchmark.h */,
-				C9571C401C18AD5F00A67EE3 /* big.cpp */,
-				C9571C411C18AD5F00A67EE3 /* big.h */,
-				C9571C421C18AD5F00A67EE3 /* churn.cpp */,
-				C9571C431C18AD5F00A67EE3 /* churn.h */,
-				C9571C441C18AD5F00A67EE3 /* CommandLine.cpp */,
-				C9571C451C18AD5F00A67EE3 /* CommandLine.h */,
-				C9571C461C18AD5F00A67EE3 /* CPUCount.cpp */,
-				C9571C471C18AD5F00A67EE3 /* CPUCount.h */,
-				C9571C4C1C18AD5F00A67EE3 /* fragment.cpp */,
-				C9571C4D1C18AD5F00A67EE3 /* fragment.h */,
-				C9571C4E1C18AD5F00A67EE3 /* Interpreter.cpp */,
-				C9571C4F1C18AD5F00A67EE3 /* Interpreter.h */,
-				C9571C501C18AD5F00A67EE3 /* list.cpp */,
-				C9571C511C18AD5F00A67EE3 /* list.h */,
-				C9571C521C18AD5F00A67EE3 /* mbmalloc.cpp */,
-				C9571C531C18AD5F00A67EE3 /* mbmalloc.h */,
-				C9571C541C18AD5F00A67EE3 /* medium.cpp */,
-				C9571C551C18AD5F00A67EE3 /* medium.h */,
-				C9571C561C18AD5F00A67EE3 /* memalign.cpp */,
-				C9571C571C18AD5F00A67EE3 /* memalign.h */,
-				C9571C581C18AD5F00A67EE3 /* message.cpp */,
-				C9571C591C18AD5F00A67EE3 /* message.h */,
-				C9571C5A1C18AD5F00A67EE3 /* realloc.cpp */,
-				C9571C5B1C18AD5F00A67EE3 /* realloc.h */,
-				C9571C5E1C18AD5F00A67EE3 /* stress_aligned.cpp */,
-				C9571C5F1C18AD5F00A67EE3 /* stress_aligned.h */,
-				C9571C601C18AD5F00A67EE3 /* stress.cpp */,
-				C9571C611C18AD5F00A67EE3 /* stress.h */,
-				C9571C641C18AD5F00A67EE3 /* tree.cpp */,
-				C9571C651C18AD5F00A67EE3 /* tree.h */,
-			);
-			path = MallocBench;
 			sourceTree = "<group>";
 		};
 /* End PBXGroup section */
@@ -486,23 +703,32 @@
 			files = (
 				C957428A1BF3FD290027269A /* base.h in Headers */,
 				C0352EC71C3F3C4400DB5126 /* malloc_private.h in Headers */,
-				0D468DD01C7BEF71006FACF5 /* stack_logging_internal.h in Headers */,
 				C95742731BF2C2880027269A /* internal.h in Headers */,
+				B6CA644E1FCE2C1900DEBA12 /* nanov2_zone.h in Headers */,
+				C99E320C1D6F7366005655A8 /* magazine_rack.h in Headers */,
 				C95742721BF2C2880027269A /* bitarray.h in Headers */,
+				C932D2691D6B8D840063B19E /* vm.h in Headers */,
+				08315123215EE9A100D97E04 /* stack_logging.h in Headers */,
+				B6CA64521FCF1AD200DEBA12 /* nano_zone_common.h in Headers */,
 				C938BBD31C74F7A400522BBD /* trace.h in Headers */,
 				C95742A81BF6842F0027269A /* frozen_malloc.h in Headers */,
+				08315122215ED9CF00D97E04 /* malloc_implementation.h in Headers */,
 				C957428D1BF411330027269A /* thresholds.h in Headers */,
 				C95742741BF2C2880027269A /* locking.h in Headers */,
 				C95742931BF41C970027269A /* magazine_inline.h in Headers */,
+				B68B7FA31FCDD67100BAD1AA /* nanov2_malloc.h in Headers */,
 				C95742761BF2C2880027269A /* platform.h in Headers */,
 				C957427A1BF2C67E0027269A /* nano_malloc.h in Headers */,
+				B66C71D92034BFAE0047E265 /* malloc_common.h in Headers */,
 				C957427C1BF2C8DE0027269A /* debug.h in Headers */,
+				2B67B5682040B3AF0003E78F /* _malloc.h in Headers */,
 				C95742961BF41E480027269A /* magazine_malloc.h in Headers */,
-				C9571C3A1C18AA1D00A67EE3 /* stack_logging.h in Headers */,
 				3FE91FFA16A90BEF00D1238A /* malloc.h in Headers */,
+				4DF3190223D796550064A673 /* pguard_malloc.h in Headers */,
 				C95742871BF3F9550027269A /* magazine_zone.h in Headers */,
 				C95742771BF2C2880027269A /* legacy_malloc.h in Headers */,
 				C95742A21BF681B00027269A /* purgeable_malloc.h in Headers */,
+				B68B7F9E1FCDCBC600BAD1AA /* nano_malloc_common.h in Headers */,
 				C957427F1BF33D130027269A /* nano_zone.h in Headers */,
 				C95742751BF2C2880027269A /* printf.h in Headers */,
 			);
@@ -514,6 +740,7 @@
 			files = (
 				C95742941BF41C970027269A /* magazine_inline.h in Headers */,
 				C95742801BF33D130027269A /* nano_zone.h in Headers */,
+				B6CA644F1FCE2C1A00DEBA12 /* nanov2_zone.h in Headers */,
 				C957428E1BF411330027269A /* thresholds.h in Headers */,
 				C957427D1BF2C8DE0027269A /* debug.h in Headers */,
 				C95742A91BF6842F0027269A /* frozen_malloc.h in Headers */,
@@ -521,6 +748,7 @@
 				C95742971BF41E480027269A /* magazine_malloc.h in Headers */,
 				C95742A31BF681B00027269A /* purgeable_malloc.h in Headers */,
 				C957428B1BF3FD290027269A /* base.h in Headers */,
+				B6CA64531FCF1AD400DEBA12 /* nano_zone_common.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -530,6 +758,7 @@
 			files = (
 				C0CE45401C52C90500C24048 /* magazine_inline.h in Headers */,
 				C0CE45411C52C90500C24048 /* nano_zone.h in Headers */,
+				B6CA64501FCE2C1B00DEBA12 /* nanov2_zone.h in Headers */,
 				C0CE45421C52C90500C24048 /* thresholds.h in Headers */,
 				C0CE45431C52C90500C24048 /* debug.h in Headers */,
 				C0CE45441C52C90500C24048 /* frozen_malloc.h in Headers */,
@@ -537,6 +766,7 @@
 				C0CE45461C52C90500C24048 /* magazine_malloc.h in Headers */,
 				C0CE45471C52C90500C24048 /* purgeable_malloc.h in Headers */,
 				C0CE45481C52C90500C24048 /* base.h in Headers */,
+				B6CA64541FCF1AD400DEBA12 /* nano_zone_common.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -568,10 +798,13 @@
 				3FE91FE516A90AEC00D1238A /* Frameworks */,
 				3FE91FE616A90AEC00D1238A /* Headers */,
 				C92853A11C767F78001FEAF3 /* Install Codes File */,
+				C901C4BE23EDEABF00E9E7EB /* Install FeatureFlags */,
 			);
 			buildRules = (
 			);
 			dependencies = (
+				B676F4AC202B66EF00933F6D /* PBXTargetDependency */,
+				B629CF44202BB389007719B9 /* PBXTargetDependency */,
 			);
 			name = libsystem_malloc;
 			productName = libmalloc;
@@ -612,6 +845,56 @@
 			productReference = 456E51C9197DF0D600A7E488 /* libmalloc_stress_test */;
 			productType = "com.apple.product-type.tool";
 		};
+		B629CF2B202BB337007719B9 /* libmalloc_alt */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = B629CF3F202BB337007719B9 /* Build configuration list for PBXNativeTarget "libmalloc_alt" */;
+			buildPhases = (
+				B629CF2C202BB337007719B9 /* Sources */,
+				B629CF3D202BB337007719B9 /* Frameworks */,
+				B629CF3E202BB337007719B9 /* Symlink normal variant */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = libmalloc_alt;
+			productName = libmalloc;
+			productReference = B629CF42202BB337007719B9 /* libmalloc_alt.a */;
+			productType = "com.apple.product-type.library.static";
+		};
+		B6910F65202B630D00FF2EB0 /* libmalloc_mp */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = B6910F86202B630D00FF2EB0 /* Build configuration list for PBXNativeTarget "libmalloc_mp" */;
+			buildPhases = (
+				B6910F66202B630D00FF2EB0 /* Sources */,
+				B6910F77202B630D00FF2EB0 /* Frameworks */,
+				B629CF2A202BB226007719B9 /* Symlink normal variant */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = libmalloc_mp;
+			productName = libmalloc;
+			productReference = B6910F89202B630D00FF2EB0 /* libmalloc_mp.a */;
+			productType = "com.apple.product-type.library.static";
+		};
+		B6D2ED492007D76F007AF994 /* libmalloc_replay */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = B6D2ED4E2007D76F007AF994 /* Build configuration list for PBXNativeTarget "libmalloc_replay" */;
+			buildPhases = (
+				B6D2ED4A2007D76F007AF994 /* Sources */,
+				B6D2ED4C2007D76F007AF994 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = libmalloc_replay;
+			productName = libmalloc_stress_test;
+			productReference = B6D2ED512007D76F007AF994 /* libmalloc_replay */;
+			productType = "com.apple.product-type.tool";
+		};
 		C0CE452F1C52C90500C24048 /* libmalloc_static */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = C0CE45491C52C90500C24048 /* Build configuration list for PBXNativeTarget "libmalloc_static" */;
@@ -619,7 +902,6 @@
 				C0CE45301C52C90500C24048 /* Sources */,
 				C0CE453E1C52C90500C24048 /* Frameworks */,
 				C0CE453F1C52C90500C24048 /* Headers */,
-				C0CE454D1C52C9D900C24048 /* CopyFiles */,
 			);
 			buildRules = (
 			);
@@ -636,8 +918,9 @@
 		3FFC1BE516A908F800027192 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
+				DefaultBuildSystemTypeForWorkspace = Latest;
 				LastSwiftUpdateCheck = 0700;
-				LastUpgradeCheck = 0710;
+				LastUpgradeCheck = 0900;
 				TargetAttributes = {
 					45039161198FFF73004EE2A3 = {
 						CreatedOnToolsVersion = 6.0;
@@ -648,6 +931,10 @@
 					925383D41BD03C0500F745DB = {
 						CreatedOnToolsVersion = 7.1;
 					};
+					B60A57932009307E006215CB = {
+						CreatedOnToolsVersion = 9.3;
+						ProvisioningStyle = Automatic;
+					};
 				};
 			};
 			buildConfigurationList = 3FFC1BE816A908F800027192 /* Build configuration list for PBXProject "libmalloc" */;
@@ -655,6 +942,7 @@
 			developmentRegion = English;
 			hasScannedForEncodings = 0;
 			knownRegions = (
+				English,
 				en,
 			);
 			mainGroup = 3FFC1BE416A908F800027192;
@@ -663,12 +951,17 @@
 			projectRoot = "";
 			targets = (
 				3FE9201116A9111000D1238A /* libmalloc */,
+				E4B7FCB222000DAD0010A840 /* libmalloc_driverkit */,
 				45039161198FFF73004EE2A3 /* libmalloc_test */,
 				3FE91FE716A90AEC00D1238A /* libsystem_malloc */,
+				B6910F65202B630D00FF2EB0 /* libmalloc_mp */,
+				B629CF2B202BB337007719B9 /* libmalloc_alt */,
 				3FE91FFD16A9109E00D1238A /* libmalloc_eOS */,
 				C0CE452F1C52C90500C24048 /* libmalloc_static */,
+				B6D2ED492007D76F007AF994 /* libmalloc_replay */,
 				456E51C8197DF0D600A7E488 /* libmalloc_stress_test */,
 				925383D41BD03C0500F745DB /* darwintests */,
+				B60A57932009307E006215CB /* executables */,
 			);
 		};
 /* End PBXProject section */
@@ -702,7 +995,39 @@
 			);
 			runOnlyForDeploymentPostprocessing = 1;
 			shellPath = /bin/sh;
-			shellScript = ". \"${SCRIPT_INPUT_FILE_0}\"";
+			shellScript = ". \"${SCRIPT_INPUT_FILE_0}\"\n";
+		};
+		B629CF2A202BB226007719B9 /* Symlink normal variant */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Symlink normal variant";
+			outputPaths = (
+				"$(CONFIGURATION_BUILD_DIR)/$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)_normal$(EXECUTABLE_SUFFIX)",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = "/bin/bash -e -x";
+			shellScript = "ln -fs \"${EXECUTABLE_PREFIX}${PRODUCT_NAME}${EXECUTABLE_SUFFIX}\" \"${SCRIPT_OUTPUT_FILE_0}\"";
+			showEnvVarsInLog = 0;
+		};
+		B629CF3E202BB337007719B9 /* Symlink normal variant */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			name = "Symlink normal variant";
+			outputPaths = (
+				"$(CONFIGURATION_BUILD_DIR)/$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)_normal$(EXECUTABLE_SUFFIX)",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = "/bin/bash -e -x";
+			shellScript = "ln -fs \"${EXECUTABLE_PREFIX}${PRODUCT_NAME}${EXECUTABLE_SUFFIX}\" \"${SCRIPT_OUTPUT_FILE_0}\"";
+			showEnvVarsInLog = 0;
 		};
 		C92853A11C767F78001FEAF3 /* Install Codes File */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -719,6 +1044,21 @@
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/bash;
 			shellScript = ". \"$PROJECT_DIR\"/xcodescripts/install-codes.sh";
+		};
+		E4B7FCBA22000DAD0010A840 /* Sanitise Headers (rdar://problem/10241868) */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 8;
+			files = (
+			);
+			inputPaths = (
+				"$(SRCROOT)/xcodescripts/sanitise_headers.sh",
+			);
+			name = "Sanitise Headers (rdar://problem/10241868)";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 1;
+			shellPath = /bin/sh;
+			shellScript = ". \"${SCRIPT_INPUT_FILE_0}\"\n";
 		};
 /* End PBXShellScriptBuildPhase section */
 
@@ -728,18 +1068,26 @@
 			buildActionMask = 2147483647;
 			files = (
 				3FE91FED16A90B9200D1238A /* bitarray.c in Sources */,
+				B66C71DA2034BFAE0047E265 /* malloc_common.c in Sources */,
 				C95742A01BF681B00027269A /* purgeable_malloc.c in Sources */,
 				C957429C1BF672F80027269A /* magazine_large.c in Sources */,
 				3FE91FF016A90B9200D1238A /* magazine_malloc.c in Sources */,
 				C95742991BF670D00027269A /* magazine_small.c in Sources */,
+				C99E320B1D6F7366005655A8 /* magazine_rack.c in Sources */,
 				C95742AB1BF685CB0027269A /* legacy_malloc.c in Sources */,
+				C932D2681D6B8D840063B19E /* vm.c in Sources */,
 				3FE91FF116A90B9200D1238A /* magmallocProvider.d in Sources */,
-				0D468DCF1C7BEF51006FACF5 /* magazine_lite.c in Sources */,
+				B6AFD93C214C6198007983DA /* msl_lite_support.c in Sources */,
+				4DF3190123D796550064A673 /* pguard_malloc.c in Sources */,
+				B68B7FA51FCDD9A500BAD1AA /* nanov2_malloc.c in Sources */,
+				B6D5C7F1202E26F80035E376 /* resolver.c in Sources */,
+				B68B7F9F1FCDCBC600BAD1AA /* nano_malloc_common.c in Sources */,
 				3FE91FF216A90B9200D1238A /* malloc.c in Sources */,
+				C94B447821925CA50005EA6F /* magazine_medium.c in Sources */,
 				C95742A61BF6842F0027269A /* frozen_malloc.c in Sources */,
 				3FE91FF416A90B9200D1238A /* nano_malloc.c in Sources */,
-				3FE91FF616A90B9200D1238A /* stack_logging_disk.c in Sources */,
 				C95742901BF419DF0027269A /* magazine_tiny.c in Sources */,
+				B65FBE2C2087AA2F00E21F59 /* malloc_printf.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -747,18 +1095,23 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				C94B447B21925CA70005EA6F /* magazine_medium.c in Sources */,
+				B66C71DB2034BFD30047E265 /* malloc_common.c in Sources */,
 				3FE91FFF16A9109E00D1238A /* bitarray.c in Sources */,
 				C95742A11BF681B00027269A /* purgeable_malloc.c in Sources */,
 				C957429D1BF672F80027269A /* magazine_large.c in Sources */,
 				3FE9200116A9109E00D1238A /* magazine_malloc.c in Sources */,
 				C957429A1BF670D00027269A /* magazine_small.c in Sources */,
 				C95742AC1BF685CB0027269A /* legacy_malloc.c in Sources */,
+				B68B7FA01FCDCBE700BAD1AA /* nano_malloc_common.c in Sources */,
+				B68B7FA61FCDD9B200BAD1AA /* nanov2_malloc.c in Sources */,
 				3FE9200216A9109E00D1238A /* magmallocProvider.d in Sources */,
 				3FE9200316A9109E00D1238A /* malloc.c in Sources */,
 				C95742A71BF6842F0027269A /* frozen_malloc.c in Sources */,
 				3FE9200416A9109E00D1238A /* nano_malloc.c in Sources */,
-				3FE9200616A9109E00D1238A /* stack_logging_disk.c in Sources */,
 				C95742911BF419DF0027269A /* magazine_tiny.c in Sources */,
+				B6D5C7F4202E26F90035E376 /* resolver.c in Sources */,
+				4D4812C023D7C99F00FE6CC3 /* pguard_malloc.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -770,23 +1123,84 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		B629CF2C202BB337007719B9 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				B629CF2E202BB337007719B9 /* bitarray.c in Sources */,
+				B629CF2F202BB337007719B9 /* purgeable_malloc.c in Sources */,
+				B6D5C7F3202E26F90035E376 /* resolver.c in Sources */,
+				B629CF30202BB337007719B9 /* magazine_large.c in Sources */,
+				B629CF31202BB337007719B9 /* magazine_malloc.c in Sources */,
+				C94B447A21925CA60005EA6F /* magazine_medium.c in Sources */,
+				B629CF32202BB337007719B9 /* empty.s in Sources */,
+				B629CF33202BB337007719B9 /* magazine_small.c in Sources */,
+				B629CF34202BB337007719B9 /* legacy_malloc.c in Sources */,
+				B629CF35202BB337007719B9 /* magmallocProvider.d in Sources */,
+				B629CF36202BB337007719B9 /* malloc.c in Sources */,
+				B629CF37202BB337007719B9 /* frozen_malloc.c in Sources */,
+				B629CF38202BB337007719B9 /* nanov2_malloc.c in Sources */,
+				B629CF39202BB337007719B9 /* nano_malloc.c in Sources */,
+				B629CF3B202BB337007719B9 /* magazine_tiny.c in Sources */,
+				B629CF3C202BB337007719B9 /* nano_malloc_common.c in Sources */,
+				4D4812BF23D7C99E00FE6CC3 /* pguard_malloc.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		B6910F66202B630D00FF2EB0 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				B6910F68202B630D00FF2EB0 /* bitarray.c in Sources */,
+				B6910F69202B630D00FF2EB0 /* purgeable_malloc.c in Sources */,
+				B6D5C7F2202E26F80035E376 /* resolver.c in Sources */,
+				B6910F6A202B630D00FF2EB0 /* magazine_large.c in Sources */,
+				B6910F6B202B630D00FF2EB0 /* magazine_malloc.c in Sources */,
+				C94B447921925CA60005EA6F /* magazine_medium.c in Sources */,
+				B6910F6C202B630D00FF2EB0 /* empty.s in Sources */,
+				B6910F6D202B630D00FF2EB0 /* magazine_small.c in Sources */,
+				B6910F6E202B630D00FF2EB0 /* legacy_malloc.c in Sources */,
+				B6910F6F202B630D00FF2EB0 /* magmallocProvider.d in Sources */,
+				B6910F70202B630D00FF2EB0 /* malloc.c in Sources */,
+				B6910F71202B630D00FF2EB0 /* frozen_malloc.c in Sources */,
+				B629CF28202BA149007719B9 /* nanov2_malloc.c in Sources */,
+				B6910F73202B630D00FF2EB0 /* nano_malloc.c in Sources */,
+				B6910F75202B630D00FF2EB0 /* magazine_tiny.c in Sources */,
+				B6910F76202B630D00FF2EB0 /* nano_malloc_common.c in Sources */,
+				4D4812BE23D7C99D00FE6CC3 /* pguard_malloc.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		B6D2ED4A2007D76F007AF994 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				B6D2ED572007D91A007AF994 /* malloc_replay.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		C0CE45301C52C90500C24048 /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
 				C0CE45311C52C90500C24048 /* bitarray.c in Sources */,
+				C94B447C21925CA80005EA6F /* magazine_medium.c in Sources */,
 				C0CE45321C52C90500C24048 /* purgeable_malloc.c in Sources */,
+				B6D5C7F5202E26FA0035E376 /* resolver.c in Sources */,
 				C0CE45331C52C90500C24048 /* magazine_large.c in Sources */,
 				C0CE45341C52C90500C24048 /* magazine_malloc.c in Sources */,
 				C9ABCA051CB6FC6800ECB399 /* empty.s in Sources */,
 				C0CE45351C52C90500C24048 /* magazine_small.c in Sources */,
+				4D4812C123D7C99F00FE6CC3 /* pguard_malloc.c in Sources */,
 				C0CE45361C52C90500C24048 /* legacy_malloc.c in Sources */,
 				C0CE45371C52C90500C24048 /* magmallocProvider.d in Sources */,
 				C0CE45381C52C90500C24048 /* malloc.c in Sources */,
 				C0CE45391C52C90500C24048 /* frozen_malloc.c in Sources */,
+				B68B7FA71FCDD9B200BAD1AA /* nanov2_malloc.c in Sources */,
+				B66C71DC2034BFD40047E265 /* malloc_common.c in Sources */,
 				C0CE453A1C52C90500C24048 /* nano_malloc.c in Sources */,
-				C0CE453C1C52C90500C24048 /* stack_logging_disk.c in Sources */,
 				C0CE453D1C52C90500C24048 /* magazine_tiny.c in Sources */,
+				B68B7FA11FCDCBE800BAD1AA /* nano_malloc_common.c in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -813,17 +1227,37 @@
 			target = 925383D41BD03C0500F745DB /* darwintests */;
 			targetProxy = 925383D81BD03D0000F745DB /* PBXContainerItemProxy */;
 		};
+		B60A579820093093006215CB /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = B6D2ED492007D76F007AF994 /* libmalloc_replay */;
+			targetProxy = B60A579720093093006215CB /* PBXContainerItemProxy */;
+		};
+		B629CF44202BB389007719B9 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = B629CF2B202BB337007719B9 /* libmalloc_alt */;
+			targetProxy = B629CF43202BB389007719B9 /* PBXContainerItemProxy */;
+		};
+		B676F4AC202B66EF00933F6D /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = B6910F65202B630D00FF2EB0 /* libmalloc_mp */;
+			targetProxy = B676F4AB202B66EF00933F6D /* PBXContainerItemProxy */;
+		};
 		C0CE45501C52CCBD00C24048 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = C0CE452F1C52C90500C24048 /* libmalloc_static */;
 			targetProxy = C0CE454F1C52CCBD00C24048 /* PBXContainerItemProxy */;
 		};
+		E4B7FCB522000DAD0010A840 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 3FE91FE716A90AEC00D1238A /* libsystem_malloc */;
+			targetProxy = E4B7FCB622000DAD0010A840 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
 		3FE91FEB16A90AEC00D1238A /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 3FE91FE016A90A8D00D1238A /* libmalloc.xcconfig */;
+			baseConfigurationReference = B629CF29202BA3C2007719B9 /* libmalloc_resolver.xcconfig */;
 			buildSettings = {
 				COMBINE_HIDPI_IMAGES = YES;
 			};
@@ -831,7 +1265,7 @@
 		};
 		3FE91FEC16A90AEC00D1238A /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = 3FE91FE016A90A8D00D1238A /* libmalloc.xcconfig */;
+			baseConfigurationReference = B629CF29202BA3C2007719B9 /* libmalloc_resolver.xcconfig */;
 			buildSettings = {
 				COMBINE_HIDPI_IMAGES = YES;
 			};
@@ -872,6 +1306,7 @@
 		3FFC1BE916A908F800027192 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ONLY_ACTIVE_ARCH = YES;
 			};
 			name = Debug;
 		};
@@ -898,42 +1333,25 @@
 		456E51CD197DF0D600A7E488 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
-				CLANG_CXX_LIBRARY = "libc++";
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_ENABLE_OBJC_ARC = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = NO;
-				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PREPROCESSOR_DEFINITIONS = (
 					"DEBUG=1",
 					"$(inherited)",
 				);
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				METAL_ENABLE_DEBUG_INFO = YES;
-				ONLY_ACTIVE_ARCH = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
-				SDKROOT = "";
-				SKIP_INSTALL = NO;
+				SDKROOT = macosx.internal;
 				SUPPORTED_PLATFORMS = "macosx iphoneos appletvos watchos";
 			};
 			name = Debug;
@@ -941,37 +1359,20 @@
 		456E51CE197DF0D600A7E488 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
-				CLANG_CXX_LIBRARY = "libc++";
-				CLANG_ENABLE_MODULES = YES;
-				CLANG_ENABLE_OBJC_ARC = YES;
 				CLANG_WARN_BOOL_CONVERSION = YES;
 				CLANG_WARN_CONSTANT_CONVERSION = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 				CLANG_WARN_EMPTY_BODY = YES;
 				CLANG_WARN_ENUM_CONVERSION = YES;
 				CLANG_WARN_INT_CONVERSION = YES;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 				CLANG_WARN_UNREACHABLE_CODE = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				ENABLE_NS_ASSERTIONS = NO;
-				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.10;
-				METAL_ENABLE_DEBUG_INFO = NO;
-				ONLY_ACTIVE_ARCH = NO;
 				PRODUCT_NAME = "$(TARGET_NAME)";
-				SDKROOT = "";
-				SKIP_INSTALL = NO;
+				SDKROOT = macosx.internal;
 				"SKIP_INSTALL[sdk=iphonesimulator*]" = YES;
 				SUPPORTED_PLATFORMS = "macosx iphoneos appletvos watchos";
 			};
@@ -995,21 +1396,155 @@
 			};
 			name = Release;
 		};
-		C0CE454A1C52C90500C24048 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = C0CE450E1C52B9E300C24048 /* libmalloc_static.xcconfig */;
+		B60A57942009307E006215CB /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		B60A57952009307E006215CB /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		B629CF40202BB337007719B9 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = B66AA658202A70B00019D607 /* libmalloc_resolved.xcconfig */;
 			buildSettings = {
 				COMBINE_HIDPI_IMAGES = YES;
 				PRODUCT_NAME = "$(PRODUCT_NAME)";
+				RESOLVED_VARIANT = alt;
 			};
 			name = Debug;
 		};
-		C0CE454B1C52C90500C24048 /* Release */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = C0CE450E1C52B9E300C24048 /* libmalloc_static.xcconfig */;
+		B629CF41202BB337007719B9 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = B66AA658202A70B00019D607 /* libmalloc_resolved.xcconfig */;
 			buildSettings = {
 				COMBINE_HIDPI_IMAGES = YES;
 				PRODUCT_NAME = "$(PRODUCT_NAME)";
+				RESOLVED_VARIANT = alt;
+			};
+			name = Release;
+		};
+		B6910F87202B630D00FF2EB0 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = B66AA658202A70B00019D607 /* libmalloc_resolved.xcconfig */;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				PRODUCT_NAME = "$(PRODUCT_NAME)";
+				RESOLVED_VARIANT = mp;
+			};
+			name = Debug;
+		};
+		B6910F88202B630D00FF2EB0 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = B66AA658202A70B00019D607 /* libmalloc_resolved.xcconfig */;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				PRODUCT_NAME = "$(PRODUCT_NAME)";
+				RESOLVED_VARIANT = mp;
+			};
+			name = Release;
+		};
+		B6D2ED4F2007D76F007AF994 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				COPY_PHASE_STRIP = NO;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(SDKROOT)/System/Library/PrivateFrameworks",
+					"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks",
+				);
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = "$(SRCROOT)/src";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx.internal;
+				SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
+				VALID_ARCHS = "armv6 armv7 arm64 arm64_32 armv7k x86_64 x86_64h";
+			};
+			name = Debug;
+		};
+		B6D2ED502007D76F007AF994 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(SDKROOT)/System/Library/PrivateFrameworks",
+					"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = "$(SRCROOT)/src";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx.internal;
+				"SKIP_INSTALL[sdk=iphonesimulator*]" = YES;
+				SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
+				VALID_ARCHS = "armv6 armv7 arm64 arm64_32 armv7k x86_64 x86_64h";
+			};
+			name = Release;
+		};
+		C0CE454A1C52C90500C24048 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = C0CE450E1C52B9E300C24048 /* libmalloc_static.xcconfig */;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				PRODUCT_NAME = "$(PRODUCT_NAME)";
+			};
+			name = Debug;
+		};
+		C0CE454B1C52C90500C24048 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = C0CE450E1C52B9E300C24048 /* libmalloc_static.xcconfig */;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				PRODUCT_NAME = "$(PRODUCT_NAME)";
+			};
+			name = Release;
+		};
+		E4B7FCBC22000DAD0010A840 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		E4B7FCBD22000DAD0010A840 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COMBINE_HIDPI_IMAGES = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
 			};
 			name = Release;
 		};
@@ -1079,6 +1614,42 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		B60A57962009307E006215CB /* Build configuration list for PBXAggregateTarget "executables" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				B60A57942009307E006215CB /* Debug */,
+				B60A57952009307E006215CB /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		B629CF3F202BB337007719B9 /* Build configuration list for PBXNativeTarget "libmalloc_alt" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				B629CF40202BB337007719B9 /* Debug */,
+				B629CF41202BB337007719B9 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		B6910F86202B630D00FF2EB0 /* Build configuration list for PBXNativeTarget "libmalloc_mp" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				B6910F87202B630D00FF2EB0 /* Debug */,
+				B6910F88202B630D00FF2EB0 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		B6D2ED4E2007D76F007AF994 /* Build configuration list for PBXNativeTarget "libmalloc_replay" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				B6D2ED4F2007D76F007AF994 /* Debug */,
+				B6D2ED502007D76F007AF994 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 		C0CE45491C52C90500C24048 /* Build configuration list for PBXNativeTarget "libmalloc_static" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
@@ -1088,6 +1659,15 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		E4B7FCBB22000DAD0010A840 /* Build configuration list for PBXAggregateTarget "libmalloc_driverkit" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				E4B7FCBC22000DAD0010A840 /* Debug */,
+				E4B7FCBD22000DAD0010A840 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 3FFC1BE516A908F800027192 /* Project object */;