[macOS 10.14] Use MAP_JIT for all executable JIT pages for 10.14 Enhanced Runtime
Categories
(Core :: JavaScript Engine: JIT, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox63 | --- | affected |
People
(Reporter: haik, Unassigned)
References
(Blocks 2 open bugs)
Details
Reporter | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Reporter | ||
Comment 3•6 years ago
|
||
Reporter | ||
Comment 4•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 5•6 years ago
|
||
(In reply to Haik Aftandilian [:haik] from comment #3)
(In reply to Nicolas B. Pierron [:nbp] {backlog: 39} from comment #1)
What is the deadline for 10.14 release?
We don't have a specific deadline for this work. Before we can adopt
Enhanced Runtime (and then consider using MAP_JIT), we have to build Firefox
with the 10.14 SDK and we haven't prioritized that work yet.
That was incorrect. Building with the 10.14 SDK is not required to enable Hardened Runtime (aka Enhanced Runtime.) It does require running the codesign command on 10.13.6 or newer, but that's a build/releng issue.
Comment 6•3 years ago
|
||
I looked into this a bit today. I think we could make this work with a number of changes to the JIT code allocator, but when I tried to switch from com.apple.security.cs.allow-unsigned-executable-memory = true
to com.apple.security.cs.allow-jit = true
I ran into issues with the IOInterposer patching binary code, so turning off allow-unsigned-executable-memory
will require more work...
Updated•2 years ago
|
Comment 7•1 years ago
|
||
Bug 1837194 is doing this for Apple Silicon hardware for performance reasons. We could probably also fix this for Intel machines now. It depends a bit on which operations the kernel allows there for MAP_JIT
pages.
Description
•