Disable IsoHeaps when Gigacage is off
authormsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jul 2018 23:12:04 +0000 (23:12 +0000)
committermsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 Jul 2018 23:12:04 +0000 (23:12 +0000)
commita23ee626ded293bb47d9253f68991a2b1f291c08
treeb5d78069d09edc1dbbd6cf44721ca438aa3b63d3
parent71178c969aa67b9bd0bcf884eae87cefc2282caf
Disable IsoHeaps when Gigacage is off
https://bugs.webkit.org/show_bug.cgi?id=187160

Reviewed by Saam Barati.

Updated determineMallocFallbackState to base enabling of Iso Heaps on Gigacage
being enabled.  We do this because if Gigacage is disabled, it may be due to lack
of address space.

To work around a compiler issue uncovered by the change above, I added explicit
instantiation of PerThread's static variables.  Defined the same explicit
instantiated static variables with export scope in the new file PerThread.cpp
to eliminate separate variables allocations in each linked framework / library.

* CMakeLists.txt:
* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/IsoTLS.cpp:
(bmalloc::IsoTLS::determineMallocFallbackState):
* bmalloc/PerThread.cpp: Added.
* bmalloc/PerThread.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/bmalloc/CMakeLists.txt
Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc.xcodeproj/project.pbxproj
Source/bmalloc/bmalloc/IsoTLS.cpp
Source/bmalloc/bmalloc/PerThread.cpp [new file with mode: 0644]
Source/bmalloc/bmalloc/PerThread.h