JIT should touch stack pages on all platforms

RESOLVED FIXED in Firefox 65

Status

()

enhancement
P2
normal
RESOLVED FIXED
11 months ago
5 months ago

People

(Reporter: tcampbell, Assigned: mgaudet)

Tracking

(Blocks 1 bug)

unspecified
mozilla65
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox65 fixed)

Details

Attachments

(1 attachment)

Other Windows platforms have code similar to [1], but we don't have this on arm64. I believe it is still needed. Do we have test cases that cover this?

[1] https://searchfox.org/mozilla-central/source/js/src/jit/arm/Trampoline-arm.cpp#260-280
Priority: -- → P3
I believe https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2017#stack indicates that we need to do the necessary guard page touching on this platform as well.
After some discussion with Jan, I'm instead proposing we making the page touching of stack in EnterJit trampoline always enabled. Consistency across platforms seems to outweight saving a handful of cycles on the non-Windows platorms.
Summary: Check stack guard-page behavior for JIT on Windows aarch64 → Use stack guard-page behavior for JIT always
Summary: Use stack guard-page behavior for JIT always → JIT should touch stack pages on all platforms
Matthew, can you take a look at this in next few weeks? It is needed for ARM64 Windows. It should be a pretty straightforward change.
Flags: needinfo?(mgaudet)
Priority: P3 → P2
This incidentally also -adds- the stack touch logic to ARM64.
Assignee: nobody → mgaudet
Flags: needinfo?(mgaudet)
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e3a9e32b069a
Unify stack touch logic across all platforms r=jandem
https://hg.mozilla.org/mozilla-central/rev/e3a9e32b069a
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Depends on: 1524419
You need to log in before you can comment on or make changes to this bug.