Remove uses of arguments rectifier in CodeGenerator::emitApplyGeneric
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox145 | --- | fixed |
People
(Reporter: iain, Assigned: iain)
References
Details
Attachments
(2 files)
This is the final user of the rectifier trampoline.
| Assignee | ||
Comment 1•1 month ago
|
||
| Assignee | ||
Comment 2•1 month ago
|
||
The tricky part here is that we have no scratch registers available on x86 until after pushing newTarget, but if we need padding, it needs to be pushed before newTarget. The best approach I could find for x86 was to unconditionally push newTarget twice, and then possibly overwrite the second copy with the last argument. This is a little suboptimal for non-x86 targets, but for now I decided to use the same strategy on all platforms, to avoid two separate implementations of some fairly tricky code.
Comment 4•1 month ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/4913ac14b95a
https://hg.mozilla.org/mozilla-central/rev/35c77e7ecf60
Updated•1 month ago
|
Comment 5•1 month ago
|
||
(In reply to Pulsebot from comment #3)
Pushed by [email protected]:
https://github.com/mozilla-firefox/firefox/commit/19ad14a754ef
https://hg.mozilla.org/integration/autoland/rev/4913ac14b95a
Handle arguments underflow in AllocateSpaceForApply r=jandem
https://github.com/mozilla-firefox/firefox/commit/e277fc4fc606
https://hg.mozilla.org/integration/autoland/rev/35c77e7ecf60
Handle arguments underflow in AllocateSpaceForConstructAndPushNewTarget
r=jandem
Hello!
Do you think it's possible the push mentioned in the referenced comment could have caused the improvement below ?
We are unable to run backfills on the following push range, and it's difficult to determine which of the patches in that push range caused the improvement.
Perfherder has detected a browsertime performance change from push e3f1fd706322ba441f886715b7d6dc5cf1e62c60.
If you have any questions, please reach out to a performance sheriff. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Improvements:
| Ratio | Test | Platform | Options | Absolute values (old vs new) |
|---|---|---|---|---|
| 5% | speedometer React-TodoMVC/DeletingAllItems | windows11-64-24h2-shippable | fission webrender | 11.45 -> 10.92 |
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a performance sheriff to do that for you.
You can run all of these tests on try with ./mach try perf --alert 47215
The following documentation link provides more information about this command.
| Assignee | ||
Comment 6•1 month ago
|
||
It's possible that this helped, but if I had to bet on a patch in that push range, I would go with bug 1991101. I don't recall seeing many samples in the rectifier trampoline prior to this change.
Description
•