Take advantage of fast permissions switching of JIT memory for devices that support it
authormsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Mar 2017 01:51:19 +0000 (01:51 +0000)
committermsaboff@apple.com <msaboff@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Mar 2017 01:51:19 +0000 (01:51 +0000)
commitfbfcf8855eca14001c147235f38b4098f5e6eae1
tree47f5f749e12ee79e7f8341991c7fd108d084bfe6
parent0e7ac4eee9becb6c11a5b64f3a1bc94135a1e12d
Take advantage of fast permissions switching of JIT memory for devices that support it
https://bugs.webkit.org/show_bug.cgi?id=169155

Reviewed by Saam Barati.

Source/JavaScriptCore:

Start using the os_thread_self_restrict_rwx_to_XX() SPIs when available to
control access to JIT memory.

Had to update the Xcode config files to handle various build variations of
public and internal SDKs.

* Configurations/Base.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* jit/ExecutableAllocator.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):
* jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):

Source/WebCore:

Updated the Xcode config files to match what is in the JavaScriptCore ones.

* Configurations/Base.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/WebCore.xcconfig:

Source/WebCore/PAL:

Updated the Xcode config files to match what is in the JavaScriptCore ones.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Updated the Xcode config files to match what is in the JavaScriptCore ones.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Updated the Xcode config files to match what is in the JavaScriptCore ones.

* Configurations/FeatureDefines.xcconfig:

Tools:

Updated the Xcode config files to match what is in the JavaScriptCore ones.

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
18 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/Base.xcconfig
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/JavaScriptCore/Configurations/ToolExecutable.xcconfig
Source/JavaScriptCore/jit/ExecutableAllocator.cpp
Source/JavaScriptCore/jit/ExecutableAllocator.h
Source/WebCore/ChangeLog
Source/WebCore/Configurations/Base.xcconfig
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/Configurations/WebCore.xcconfig
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/FeatureDefines.xcconfig
Tools/ChangeLog
Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig