Closed Bug 964005 Opened 6 years ago Closed 6 years ago

Odinmonkey (ARM): D15 callee saved register is not being preserved in calls into Odin code.

Categories

(Core :: JavaScript Engine: JIT, defect)

ARM
All
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: dougc, Assigned: dougc)

References

Details

Attachments

(1 file)

The ARM simulator in bug 959597 appears to be detecting that the D15 register is not being preserved across calls into the ARM JIT code.  D15 is a callee saved register and it needs to be preserved.

Initial suspect is the removal of D15 from the NonVolatileMask set which occur in bug 937944, but it needs to be analysed further.

The calling conventions are a real mess: different conventions for Ion, Odin and the system ABI, with no clear separation in the code.
All the jit-test failures appear to be related to Odin compiled code.
Summary: ARM: D15 callee saved register is not being preserved in calls into JIT code. → Odinmonkey (ARM): D15 callee saved register is not being preserved in calls into Odin code.
Assignee: nobody → dtc-moz
Attachment #8365644 - Flags: review?(mrosenberg)
Attachment #8365644 - Flags: review?(mrosenberg) → review+
Keywords: checkin-needed
Note that this bug is detected by the jit-tests, but using assertions in the ARM simulator being explored in bug 959597.  Could I ask how this should be flagged?  in-testsuite+?
https://hg.mozilla.org/mozilla-central/rev/ad73fa1d8abb
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
You need to log in before you can comment on or make changes to this bug.