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)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: sstangl, Assigned: sstangl)

References

Details

Attachments

(1 file)

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 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+
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
(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.

Attachment

General

Created:
Updated:
Size: