Support inline allocation of inlined arguments object
Categories
(Core :: JavaScript Engine: JIT, enhancement, P1)
Tracking
()
People
(Reporter: anba, Assigned: anba)
Details
Attachments
(2 files)
The initial implementation of MCreateInlinedArgumentsObject
(bug 1688033) didn't add support for inline allocation, which can sometimes lead to surprising performance differences when compared to non-inlined arguments (LCreateArgumentsObject
). When we provide one additional register, which is available even on x86 with profiling enabled, we can add inline allocation support. Adding one additional register also doesn't lead to increased register pressure, because MCreateInlinedArgumentsObject
is a call expression, so we have to save all live registers anyway.
Assignee | ||
Comment 1•3 years ago
|
||
The ArgumentsObject for inlined arguments was always allocated through a VM-call,
which made it slower when compared to non-inlined arguments.
Assignee | ||
Comment 2•3 years ago
|
||
The comment about running code is no longer relevant after bug 1277278, see
patch part 1 in bug 1277278.
Depends on D144012
Updated•3 years ago
|
Comment 3•3 years ago
|
||
There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:anba, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit auto_nag documentation.
Updated•3 years ago
|
Comment 5•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5881f9f5fb6a
https://hg.mozilla.org/mozilla-central/rev/c78a69dfa074
Updated•3 years ago
|
Description
•