Closed Bug 1467496 Opened 2 years ago Closed 2 years ago

Simplify JSOP_LOOPENTRY handling in IonBuilder

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
The CFG generator skips the JSOP_LOOPENTRY ops, and IonBuilder has to call initLoopEntry to insert interrupt checks. It's much simpler to not skip these ops in the first place and then JSOP_LOOPENTRY can be compiled by IonBuilder like any other op and this way we always know its pc.

I ran into this while working on bug 1382650 and it's also causing problems for bhackett in bug 1465289, so I split off my fix for this from the patch for bug 1382650.
Attachment #8984188 - Flags: review?(bhackett1024)
I tested this on some benchmarks and verified for/while/do-while loops still enter Ion via OSR and we have a single interrupt check.
Comment on attachment 8984188 [details] [diff] [review]
Patch

Review of attachment 8984188 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks!
Attachment #8984188 - Flags: review?(bhackett1024) → review+
Pushed by jandemooij@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/c9ee59766684
Simplify JSOP_LOOPENTRY handling in IonBuilder. r=bhackett
https://hg.mozilla.org/mozilla-central/rev/c9ee59766684
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.