Try to remove BaselineFrame override-pc mechanism
Categories
(Core :: JavaScript Engine: JIT, task, P3)
Tracking
()
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.
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
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 | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
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.
Updated•5 years ago
|
Comment 4•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/6d8101792443
https://hg.mozilla.org/mozilla-central/rev/62715ff2dd65
Description
•