Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Bug 21514: Restore W^X JIT implementation removed from ESR45.
The JIT W^X implemetation in question was removed by https://hg.mozilla.org/releases/mozilla-esr45/rev/347c10e4d6d1 That patch also coalesced the three JIT allocator implementations into a single, cross-platform version. So in this patch I added back the new cross-platform ReprotectRegion function as seen in https://dxr.mozilla.org/mozilla-central/rev/e150eaff1f83e4e4a97d1e30c57d233859efe9cb/js/src/jit/ProcessExecutableMemory.cpp#636 which has equivalent functionality to the old platform-specific "reprotectRegion" functions in three ExecutableAlloctor*.cpp files. I also updated the LIRGenerator::visitInterruptCheck function to match the old behavior when nonWritableJitCode=true. And I updated the ProtectionSettingToFlags functions so they provide the correct flags for the different ProtectionSettings states. This patch appears to restore all behavior controlled by the old nonWritableJitCode flag.
- Loading branch information
Showing
with
51 additions
and 13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters