Closed Bug 1570241 Opened 5 years ago Closed 5 years ago

Make GeneratorThrowOrReturn always use an interpreter frame

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(2 files)

GeneratorThrowOrReturn is a bit complicated to handle in the Baseline JIT, it requires an override pc and special casing in BaselineDebugModeOSR.

We can now simplify this by always using a Baseline Interpreter frame. That's fine perf wise because GeneratorThrowOrReturn always enters the exception handler anyway.

The Baseline JIT can no longer be enabled without the Baseline Interpreter.

This removes the override-pc and DebugModeOSR special case.

Performance shouldn't be affected because GeneratorThrowOrReturn always enters
the exception handler anyway, and it's pretty uncommon compared to normal
generator resumes.

Depends on D40009

Priority: -- → P1
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b01eeb4958be part 1 - Remove now unnecessary IsBaselineInterpreterEnabled() checks in the generator code. r=iain https://hg.mozilla.org/integration/autoland/rev/5830fcb3e49d part 2 - Simplify GeneratorThrowOrReturn by always using an interpreter frame. r=iain
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: