Heap: avoid reentrancy when Instruments enables ObjectAlloc
Heap: avoid reentrancy when Instruments enables ObjectAlloc

We need a custom but simple map table for two reasons:
1) To precisely control our allocations to avoid reentrancy via Instruments.
2) To prepare for out-of-process introspection via Mach VM calls.

This fixes: <rdar://problem/16718231> Swift allocator must not call malloc nor global operator new

Swift SVN r17769

adrfer/swift,devincoughlin/swift,milseman/swift,shajrawi/swift,uasys/swift,codestergit/swift,amraboelela/swift,gottesmm/swift,Ivacker/swift,devincoughlin/swift,deyton/swift,KrishMunot/swift,danielmartin/swift,gregomni/swift,cbrentharris/swift,KrishMunot/swift,dduan/swift,huonw/swift,kperryua/swift,amraboelela/swift,xedin/swift,IngmarStein/swift,adrfer/swift,modocache/swift,dduan/swift,benlangmuir/swift,emilstahl/swift,gregomni/swift,shahmishal/swift,hughbe/swift,sdulal/swift,stephentyrone/swift,allevato/swift,natecook1000/swift,russbishop/swift,manavgabhawala/swift,gmilos/swift,ahoppen/swift,Jnosh/swift,swiftix/swift.old,nathawes/swift,aschwaighofer/swift,shahmishal/swift,LeoShimonaka/swift,hooman/swift,kentya6/swift,swiftix/swift.old,aschwaighofer/swift,SwiftAndroid/swift,uasys/swift,SwiftAndroid/swift,jtbandes/swift,milseman/swift,parkera/swift,emilstahl/swift,return/swift,felix91gr/swift,milseman/swift,therealbnut/swift,airspeedswift/swift,kentya6/swift,stephentyrone/swift,jopamer/swift,LeoShimonaka/swift,swiftix/swift.old,austinzheng/swift,gribozavr/swift,alblue/swift,sschiau/swift,ben-ng/swift,modocache/swift,MukeshKumarS/Swift,kentya6/swift,russbishop/swift,xedin/swift,tjw/swift,huonw/swift,shahmishal/swift,jtbandes/swift,swiftix/swift,alblue/swift,CodaFi/swift,danielmartin/swift,return/swift,tkremenek/swift,natecook1000/swift,return/swift,swiftix/swift.old,JGiola/swift,adrfer/swift,ben-ng/swift,OscarSwanros/swift,allevato/swift,glessard/swift,jopamer/swift,kperryua/swift,mightydeveloper/swift,amraboelela/swift,nathawes/swift,ken0nek/swift,ahoppen/swift,bitjammer/swift,hooman/swift,slavapestov/swift,ahoppen/swift,khizkhiz/swift,modocache/swift,hooman/swift,hughbe/swift,arvedviehweger/swift,calebd/swift,dduan/swift,zisko/swift,kstaring/swift,kperryua/swift,parkera/swift,ahoppen/swift,SwiftAndroid/swift,harlanhaskins/swift,practicalswift/swift,manavgabhawala/swift,russbishop/swift,adrfer/swift,parkera/swift,aschwaighofer/swift,zisko/swift,lorentey/swift,LeoShimonaka/swift,sschiau/swift,therealbnut/swift,tkremenek/swift,JaSpa/swift,bitjammer/swift,alblue/swift,bitjammer/swift,natecook1000/swift,emilstahl/swift,shajrawi/swift,allevato/swift,kentya6/swift,shajrawi/swift,gribozavr/swift,adrfer/swift,JGiola/swift,CodaFi/swift,airspeedswift/swift,return/swift,uasys/swift,gmilos/swift,IngmarStein/swift,Jnosh/swift,ben-ng/swift,MukeshKumarS/Swift,SwiftAndroid/swift,parkera/swift,natecook1000/swift,nathawes/swift,OscarSwanros/swift,slavapestov/swift,huonw/swift,amraboelela/swift,kusl/swift,johnno1962d/swift,ben-ng/swift,xedin/swift,gottesmm/swift,arvedviehweger/swift,cbrentharris/swift,emilstahl/swift,xwu/swift,ken0nek/swift,rudkx/swift,djwbrown/swift,Ivacker/swift,alblue/swift,lorentey/swift,SwiftAndroid/swift,slavapestov/swift,parkera/swift,atrick/swift,jopamer/swift,practicalswift/swift,gottesmm/swift,ken0nek/swift,hughbe/swift,jopamer/swift,karwa/swift,mightydeveloper/swift,mightydeveloper/swift,benlangmuir/swift,slavapestov/swift,calebd/swift,hughbe/swift,johnno1962d/swift,arvedviehweger/swift,LeoShimonaka/swift,austinzheng/swift,kstaring/swift,OscarSwanros/swift,stephentyrone/swift,atrick/swift,JaSpa/swift,OscarSwanros/swift,jtbandes/swift,shajrawi/swift,lorentey/swift,parkera/swift,aschwaighofer/swift,CodaFi/swift,danielmartin/swift,russbishop/swift,russbishop/swift,tjw/swift,uasys/swift,calebd/swift,bitjammer/swift,jtbandes/swift,codestergit/swift,cbrentharris/swift,ken0nek/swift,xedin/swift,kstaring/swift,russbishop/swift,jckarter/swift,sschiau/swift,shahmishal/swift,mightydeveloper/swift,brentdax/swift,sdulal/swift,IngmarStein/swift,mightydeveloper/swift,roambotics/swift,huonw/swift,deyton/swift,aschwaighofer/swift,apple/swift,arvedviehweger/swift,benlangmuir/swift,kusl/swift,frootloops/swift,brentdax/swift,nathawes/swift,codestergit/swift,rudkx/swift,gregomni/swift,tardieu/swift,lorentey/swift,uasys/swift,jmgc/swift,alblue/swift,CodaFi/swift,kstaring/swift,nathawes/swift,swiftix/swift,swiftix/swift,sschiau/swift,practicalswift/swift,harlanhaskins/swift,cbrentharris/swift,MukeshKumarS/Swift,gmilos/swift,johnno1962d/swift,jckarter/swift,gregomni/swift,xwu/swift,kstaring/swift,sdulal/swift,LeoShimonaka/swift,djwbrown/swift,shahmishal/swift,johnno1962d/swift,harlanhaskins/swift,deyton/swift,kperryua/swift,harlanhaskins/swift,dduan/swift,felix91gr/swift,swiftix/swift.old,gregomni/swift,gmilos/swift,natecook1000/swift,bitjammer/swift,johnno1962d/swift,cbrentharris/swift,Ivacker/swift,IngmarStein/swift,karwa/swift,devincoughlin/swift,atrick/swift,milseman/swift,austinzheng/swift,jmgc/swift,SwiftAndroid/swift,kusl/swift,benlangmuir/swift,khizkhiz/swift,gregomni/swift,MukeshKumarS/Swift,brentdax/swift,kusl/swift,KrishMunot/swift,brentdax/swift,frootloops/swift,tjw/swift,frootloops/swift,gribozavr/swift,parkera/swift,dreamsxin/swift,manavgabhawala/swift,tinysun212/swift-windows,parkera/swift,hooman/swift,ken0nek/swift,russbishop/swift,codestergit/swift,karwa/swift,Ivacker/swift,xedin/swift,gribozavr/swift,gribozavr/swift,xedin/swift,brentdax/swift,ken0nek/swift,hooman/swift,karwa/swift,ken0nek/swift,manavgabhawala/swift,lorentey/swift,JaSpa/swift,hughbe/swift,xwu/swift,practicalswift/swift,rudkx/swift,kentya6/swift,kentya6/swift,mightydeveloper/swift,atrick/swift,tinysun212/swift-windows,gribozavr/swift,emilstahl/swift,return/swift,KrishMunot/swift,devincoughlin/swift,apple/swift,gribozavr/swift,Jnosh/swift,rudkx/swift,harlanhaskins/swift,frootloops/swift,tkremenek/swift,shahmishal/swift,jopamer/swift,lorentey/swift,sschiau/swift,swiftix/swift.old,tinysun212/swift-windows,gmilos/swift,stephentyrone/swift,khizkhiz/swift,roambotics/swift,kperryua/swift,therealbnut/swift,IngmarStein/swift,lorentey/swift,xwu/swift,arvedviehweger/swift,devincoughlin/swift,jckarter/swift,return/swift,sdulal/swift,danielmartin/swift,shajrawi/swift,sschiau/swift,djwbrown/swift,deyton/swift,amraboelela/swift,modocache/swift,devincoughlin/swift,gottesmm/swift,glessard/swift,Jnosh/swift,tardieu/swift,atrick/swift,kstaring/swift,JGiola/swift,codestergit/swift,mightydeveloper/swift,manavgabhawala/swift,ahoppen/swift,ben-ng/swift,therealbnut/swift,LeoShimonaka/swift,jmgc/swift,sdulal/swift,sschiau/swift,tjw/swift,khizkhiz/swift,jtbandes/swift,tinysun212/swift-windows,gottesmm/swift,jtbandes/swift,khizkhiz/swift,hughbe/swift,airspeedswift/swift,milseman/swift,mightydeveloper/swift,milseman/swift,tinysun212/swift-windows,CodaFi/swift,karwa/swift,slavapestov/swift,shajrawi/swift,practicalswift/swift,milseman/swift,dduan/swift,arvedviehweger/swift,roambotics/swift,Jnosh/swift,harlanhaskins/swift,jopamer/swift,tardieu/swift,devincoughlin/swift,airspeedswift/swift,devincoughlin/swift,manavgabhawala/swift,MukeshKumarS/Swift,emilstahl/swift,Ivacker/swift,bitjammer/swift,xwu/swift,natecook1000/swift,Jnosh/swift,danielmartin/swift,brentdax/swift,CodaFi/swift,allevato/swift,xedin/swift,tkremenek/swift,karwa/swift,benlangmuir/swift,OscarSwanros/swift,kusl/swift,CodaFi/swift,bitjammer/swift,allevato/swift,khizkhiz/swift,tjw/swift,shajrawi/swift,tinysun212/swift-windows,aschwaighofer/swift,apple/swift,harlanhaskins/swift,natecook1000/swift,uasys/swift,tjw/swift,jopamer/swift,KrishMunot/swift,xedin/swift,cbrentharris/swift,jckarter/swift,roambotics/swift,stephentyrone/swift,ben-ng/swift,practicalswift/swift,karwa/swift,JaSpa/swift,austinzheng/swift,tardieu/swift,LeoShimonaka/swift,airspeedswift/swift,JaSpa/swift,roambotics/swift,djwbrown/swift,brentdax/swift,calebd/swift,arvedviehweger/swift,therealbnut/swift,apple/swift,nathawes/swift,calebd/swift,IngmarStein/swift,alblue/swift,sdulal/swift,MukeshKumarS/Swift,karwa/swift,LeoShimonaka/swift,rudkx/swift,uasys/swift,glessard/swift,felix91gr/swift,frootloops/swift,alblue/swift,felix91gr/swift,johnno1962d/swift,xwu/swift,austinzheng/swift,Ivacker/swift,tkremenek/swift,amraboelela/swift,djwbrown/swift,JGiola/swift,amraboelela/swift,adrfer/swift,modocache/swift,cbrentharris/swift,kusl/swift,cbrentharris/swift,jmgc/swift,djwbrown/swift,tardieu/swift,tinysun212/swift-windows,calebd/swift,kstaring/swift,glessard/swift,frootloops/swift,airspeedswift/swift,KrishMunot/swift,JGiola/swift,OscarSwanros/swift,deyton/swift,zisko/swift,gottesmm/swift,gottesmm/swift,swiftix/swift,return/swift,hooman/swift,huonw/swift,airspeedswift/swift,ahoppen/swift,danielmartin/swift,tkremenek/swift,shajrawi/swift,jckarter/swift,kusl/swift,jtbandes/swift,hooman/swift,shahmishal/swift,swiftix/swift.old,jckarter/swift,JaSpa/swift,gmilos/swift,OscarSwanros/swift,emilstahl/swift,Jnosh/swift,felix91gr/swift,sdulal/swift,allevato/swift,atrick/swift,deyton/swift,danielmartin/swift,tardieu/swift,jmgc/swift,Ivacker/swift,hughbe/swift,manavgabhawala/swift,austinzheng/swift,glessard/swift,therealbnut/swift,swiftix/swift,zisko/swift,tardieu/swift,dreamsxin/swift,sschiau/swift,glessard/swift,deyton/swift,kperryua/swift,tkremenek/swift,aschwaighofer/swift,felix91gr/swift,codestergit/swift,benlangmuir/swift,stephentyrone/swift,MukeshKumarS/Swift,kentya6/swift,roambotics/swift,dduan/swift,zisko/swift,felix91gr/swift,nathawes/swift,johnno1962d/swift,tjw/swift,austinzheng/swift,KrishMunot/swift,xwu/swift,zisko/swift,allevato/swift,zisko/swift,huonw/swift,swiftix/swift.old,Ivacker/swift,emilstahl/swift,slavapestov/swift,modocache/swift,apple/swift,practicalswift/swift,kperryua/swift,gmilos/swift,gribozavr/swift,IngmarStein/swift,jmgc/swift,dduan/swift,frootloops/swift,slavapestov/swift,adrfer/swift,apple/swift,kentya6/swift,swiftix/swift,SwiftAndroid/swift,kusl/swift,khizkhiz/swift,huonw/swift,rudkx/swift,modocache/swift,djwbrown/swift,practicalswift/swift,stephentyrone/swift,lorentey/swift,sdulal/swift,calebd/swift,jckarter/swift,codestergit/swift,jmgc/swift,shahmishal/swift,JaSpa/swift,ben-ng/swift,JGiola/swift,swiftix/swift,therealbnut/swift