Closed Bug 1567920 Opened 3 months ago Closed 2 months ago

Try to remove BaselineFrame override-pc mechanism

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(2 files)

Interpreter follow-up work has removed various override-pc uses from DebugModeOSR, Ion bailouts, OSR etc. We might be able to remove the remaining consumers if we always use the baseline interpreter for GeneratorThrowOrReturn and fix the exception handler case somehow. This would let us remove the RetAddrEntry::Kind::Invalid case from DebugModeOSR, one of the remaining sources of complexity after bug 1566330.

Priority: -- → P3
Depends on: 1570241
Depends on: 1570246

The exception handler was the last place where we set the frame's override pc.
We can stop doing that if we switch the frame to interpreter mode.

This simplifies BaselineDebugModeOSR because it no longer has to handle the
"triggered from exception handler" case when patching frames.

Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Blocks: 1552154

When we remove the override-pc mechanism, the bug1261324.js jit-test failed on
the ARM simulator because the profiler would see the nullptr return address we
push for GeneratorThrowOrReturn.

This patch tries to simplify that code by turning it into a plain callVM in
the interpreter code and jumping to that in the Baseline JIT code.

Attachment #9082248 - Attachment description: Bug 1567920 - Switch Baseline frames from JIT to Interpreter in the exception handler, remove the override-pc mechanism. r?iain!,tcampbell! → Bug 1567920 part 1 - Switch Baseline frames from JIT to Interpreter in the exception handler, remove the override-pc mechanism. r?iain!,tcampbell!
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6d8101792443
part 0 - Simplify the GeneratorThrowOrReturn callVM code. r=tcampbell
https://hg.mozilla.org/integration/autoland/rev/62715ff2dd65
part 1 - Switch Baseline frames from JIT to Interpreter in the exception handler, remove the override-pc mechanism. r=iain,tcampbell
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.