Remove loop source notes
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(5 files)
After bug 1598548 loops won't have any source note offsets anymore, but there will still be a note indicating the loop kind. This is only used to determine stackPhiCount in Ionbuilder - we should try to remove the stackPhiCount logic or else store it as loop head operand (just like the loop depth and canOsr flag).
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
I think we can remove stackPhiCount, the canIonOSR flag from JSOP_LOOPHEAD and the JSOP_LOOPHEAD source notes.
Assignee | ||
Comment 2•5 years ago
|
||
This is necessary once we support OSR for spread expressions.
Assignee | ||
Comment 3•5 years ago
|
||
This test failed with the upcoming changes without bug 1602720, because
the old isNewArray() condition ignored loop phis.
Depends on D56698
Assignee | ||
Comment 4•5 years ago
|
||
Before this bug:
- We did not add phis for expression stack slots that aren't part of the loop.
- We disallowed OSR into Ion at loops that have such non-loop stack slots.
This goes back to bug 980263 to fix the following problem: JSOP_INITPROP in
IonBuilder assumed it found MNewObject on the stack and got confused when it
found a loop phi instead. There was a similar issue with MNewArray.
Since then the affected ops have been fixed and supporting OSR at these loops
(and inserting phis for all stack slots) simplifies the code and fixes a potential
perf cliff.
Depends on D56699
Assignee | ||
Comment 5•5 years ago
|
||
Depends on D56700
Assignee | ||
Comment 6•5 years ago
|
||
IonBuilder no longer has to know the loop type.
Depends on D56701
Assignee | ||
Comment 7•5 years ago
|
||
Getting this green is turning out to be a bit of a rabbit hole because it required cleaning up some confusing parts of TI, see bug 1603373 and bug 1603708. That was long overdue and I'm happy with how it's all turning out so far.
Comment 9•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/307481f32d44
https://hg.mozilla.org/mozilla-central/rev/4903b1b93526
https://hg.mozilla.org/mozilla-central/rev/93842c3971f8
https://hg.mozilla.org/mozilla-central/rev/d9c1e44eb0ad
https://hg.mozilla.org/mozilla-central/rev/ba6bf1f3c391
Description
•