Closed Bug 1661861 Opened 4 years ago Closed 4 years ago

Warp: Generate arguments rectifier for trial inlining

Categories

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

task

Tracking

()

RESOLVED FIXED
82 Branch
Tracking Status
firefox82 --- fixed

People

(Reporter: iain, Assigned: iain)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

After it has pushed the right arguments, the arguments rectifier loads the jitcode address from the callee. This doesn't work with BaselineCacheIRCompiler::CallInlinedFunction, which has to call the baseline version of the code.

The fix is to generate a second copy of the arguments rectifier to use when calling trial-inlined functions. This allows us to trial-inline functions that are called with missing arguments, and also removes an obstacle to inlining FunApply and spread calls.

We don't have to store a separate return offset for trial inlining, because the rectifier code after returning from the call is exactly the same. Post-bailout, inline frames will return into the normal non-inline code.

Severity: -- → N/A
Pushed by iireland@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0911c872a1f6 Generate arguments rectifier for trial inlining r=jandem
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: