Closed Bug 2050860 Opened 4 months ago Closed 4 months ago

Improve RISCV64 move emitter

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox154 --- fixed

People

(Reporter: anba, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(2 external files)

  • Apply the changes from bug 2050858 for riscv64.
  • Remove support for aliased registers, which is arm32-specific.
  • Port of bug 1713180 to riscv64.

This allows to simplify the move-emitter quite a bit.

Also includes the remaining clean-ups from bug 2050858 which weren't yet
applied for riscv64.

Port of bug 1713180, but to avoid repeating bug 1939962, only use another
scratch register if there's still plenty of available scratch registers.

Pushed by andre.bargull@gmail.com: https://github.com/mozilla-firefox/firefox/commit/0e80360532b3 https://hg.mozilla.org/integration/autoland/rev/e45d2ce24dc6 Part 1: Riscv64 doesn't have aliased registers. r=spidermonkey-reviewers,jandem https://github.com/mozilla-firefox/firefox/commit/057945e60646 https://hg.mozilla.org/integration/autoland/rev/ac9c1ca86510 Part 2: Prefer register instead of memory to break cycles. r=spidermonkey-reviewers,jandem
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch
QA Whiteboard: [qa-triage-done-c155/b154]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: