Clean up and unify some of the iterator-phi code in IonBuilder
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox76 | --- | fixed |
People
(Reporter: jandem, Assigned: jandem)
References
Details
Attachments
(5 files)
Some cleanup to make it easier to implement this in WarpBuilder.
Assignee | ||
Comment 1•4 years ago
|
||
Later patches will use this.
Assignee | ||
Comment 2•4 years ago
|
||
Rename to TryNoteIterAllNoGC and refactor things a bit so that we don't need
a JSContext* and RootedScript. WarpBuilder will likely want to use this iterator
off-thread.
Depends on D66002
Assignee | ||
Comment 3•4 years ago
|
||
This function is only interested in the (network of) phis that use iterators
and we can ignore other uses.
Depends on D66003
Assignee | ||
Comment 4•4 years ago
|
||
Use the same mechanism for for-in and destructuring loops. Add loop phis to
the iterators_ Vector and at the end of IonBuilder mark these phis and phis
depending on them as having implicit uses.
Depends on D66004
Assignee | ||
Comment 5•4 years ago
|
||
This lets us reuse the same code for WarpBuilder.
Depends on D66005
Updated•4 years ago
|
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/52182abf4baa part 1 - Add JSTryNote::isLoop. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/cc7da5257846 part 2 - Make TryNoteIterAll a no-GC iterator. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/b14f8b30f3e5 part 3 - Only add phis to the worklist in IonBuilder::processIterators. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/2aae66fa276e part 4 - Unify some of the iterator code in IonBuilder. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/9c8cd9594be0 part 5 - Replace IonBuilder::processIterators with MPhi::markIteratorPhis. r=tcampbell
Comment 7•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/52182abf4baa
https://hg.mozilla.org/mozilla-central/rev/cc7da5257846
https://hg.mozilla.org/mozilla-central/rev/b14f8b30f3e5
https://hg.mozilla.org/mozilla-central/rev/2aae66fa276e
https://hg.mozilla.org/mozilla-central/rev/9c8cd9594be0
Description
•