Closed
Bug 1185757
Opened 10 years ago
Closed 10 years ago
ARM64: Fix manual manipulation of StackPointer in JSOP_IN
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
FIXED
mozilla42
| Tracking | Status | |
|---|---|---|
| firefox42 | --- | fixed |
People
(Reporter: sstangl, Assigned: sstangl)
References
Details
Attachments
(1 file)
|
1.48 KB,
patch
|
efaust
:
review+
|
Details | Diff | Splinter Review |
Two days of ARM64/x64 cross-debugging, finally ending in a very lucky guess as to where the problem might be -- it turns out, someone added an innocuous StackPointer addition to an IC in JSOP_IN, which resulted in the stack being ever-so-slightly out of alignment on ARM64.
Please remind your friends about the sp manipulation helper functions! At least until we get ARM64 on TBPL and I remove StackPointer and BaselineStackReg from the ARM64 code entirely.
One-line fix plus an unrelated assertion I noticed was missing.
Fixes basic/unboxed-object-clear-new-script.js.
Attachment #8636283 -
Flags: review?(efaustbmo)
Comment 1•10 years ago
|
||
Comment on attachment 8636283 [details] [diff] [review]
0001-Fix-manual-manipulation-of-StackPointer-for-JSOP_IN.patch
Review of attachment 8636283 [details] [diff] [review]:
-----------------------------------------------------------------
Some day ARM64 will be a primary platform and people won't be able to do this to you. Sigh.
Attachment #8636283 -
Flags: review?(efaustbmo) → review+
Comment 3•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Comment 4•10 years ago
|
||
(In reply to Sean Stangl [:sstangl] from comment #0)
> Please remind your friends about the sp manipulation helper functions! At
> least until we get ARM64 on TBPL and I remove StackPointer and
> BaselineStackReg from the ARM64 code entirely.
Would it make sense to have addPtr/subPtr/etc assert the register != StackPointer?
You need to log in
before you can comment on or make changes to this bug.
Description
•