Closed Bug 1700398 Opened 3 years ago Closed 3 years ago

Support Rest in scalar replacement

Categories

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

task

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: iain, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

We implemented scalar replacement of arguments in bug 1688033. Rest is the more modern equivalent, and it might be worth looking into. In particular, optimizing foo(...rest) is very similar to optimizing foo.apply({}, arguments). (We might have to skip some arguments in cases like function foo(a, b, ...rest), but the number of formals is known and fixed, so that should be pretty straightforward.)

Scalar replacement of arrays already almost supports the code we generate in inlined functions, except for the SetArrayLength.

Assignee: nobody → andrebargull
Status: NEW → ASSIGNED

Depends on D130483

Attachment #9249449 - Attachment description: WIP: Bug 1700398 - Part 1: Recover MRest. → Bug 1700398 - Part 1: Recover MRest. r=iain!
Attachment #9249450 - Attachment description: WIP: Bug 1700398 - Part 2: Scalar replace rest arrays. → Bug 1700398 - Part 2: Scalar replace rest arrays. r=iain!
Attachment #9249451 - Attachment description: WIP: Bug 1700398 - Part 3: Support scalar replacement for rest arguments in construct calls. → Bug 1700398 - Part 3: Support scalar replacement for rest arguments in construct calls. r=iain!
Pushed by andre.bargull@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/ed6099a0ae3c
Part 1: Recover MRest. r=iain
https://hg.mozilla.org/integration/autoland/rev/f4c2a72cad24
Part 2: Scalar replace rest arrays. r=iain
https://hg.mozilla.org/integration/autoland/rev/547b8858819c
Part 3: Support scalar replacement for rest arguments in construct calls. r=iain
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
Regressions: 1741635
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: