Closed Bug 1710140 Opened 1 month ago Closed 1 month ago

Clean up inlined FunCall/FunApply bailout code

Categories

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

task

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: iain, Assigned: iain)

Details

Attachments

(1 file)

Jan pointed out in #warpbuilder that some of the FunCall/FunApply bailout code was missing code coverage.

FunCall is missing a test for inlining foo.call() with no arguments. The FunApply code is just dead; we optimize FunApply into a direct call to the callee in some cases, but we no longer support inlining the callee. (Ion supported inlining only in the case of foo.apply({}, arguments) inside an already inlined function, where we knew the exact contents of arguments.) We can clean it up.

While removing dead code I accidentally broke getters and setters, and noticed that only setters currently have coverage (ion/bug765454.js), so I'm adding a testcase for bailing out inlined getters as well.

Driveby: I've had a local patch floating around for a while to tweak trial inlining jitspew, but I've been too lazy to open a bug and land it; this is just related enough to justify folding it in.

Pushed by iireland@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/60d0ce3bf4d4
Improve test coverage of inlined bailout code r=jandem
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.