Closed Bug 1488763 Opened 6 years ago Closed 6 years ago

JIT should touch stack pages on all platforms

Categories

(Core :: JavaScript Engine: JIT, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: tcampbell, Assigned: mgaudet)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

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: 6 years 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.

Attachment

General

Created:
Updated:
Size: