Closed Bug 1435222 Opened 3 years ago Closed 1 year ago

LLambdaArrow could request a temp-register instead of reusing the ValueOperand's scratch-register

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
mozilla73
Tracking Status
firefox60 --- wontfix
firefox73 --- fixed

People

(Reporter: anba, Assigned: anba)

Details

(Keywords: perf)

Attachments

(3 files)

https://searchfox.org/mozilla-central/rev/eeb7190f9ad6f1a846cd6df09986325b3f2c3117/js/src/jit/CodeGenerator.cpp#2783-2785:
---
    // There's not enough registers on x86 with the profiler enabled to request
    // a temp. Instead, spill part of one of the values, being prepared to
    // restore it if necessary on the out of line path.
---

I don't think that's true anymore since bug 1132183. So if we want to, we probably could add a temp-register for LLambdaArrow.
Keywords: perf
Priority: -- → P3

Taking so I can piggyback two other clean-ups without having to open new bugs.

Assignee: nobody → andrebargull
Status: NEW → ASSIGNED

Bug 941617 changed LComputeThis to not use boxAtStart because of backtracking
allocator assertions (see also bug 936891). These assertions were relaxed in
bug 968931, so we can now use boxAtStart again. There are even other
operations which work similarly and use boxAtStart, like for example
LToNumeric, which also demonstrates that it's now okay to use boxAtStart.

Depends on D56372

This flag was used for the linear scan register allocator.

Depends on D56373

Pushed by nerli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bc7562ddd7ce
Part 1: Use temp register for LLambdaArrow. r=jandem
https://hg.mozilla.org/integration/autoland/rev/9cdca7c93123
Part 2: Use boxAtStart for LComputeThis. r=jandem
https://hg.mozilla.org/integration/autoland/rev/60a806a049ca
Part 3: Remove unused modifiesFrameArguments_ flag. r=jandem
You need to log in before you can comment on or make changes to this bug.