Remove old arguments analysis code
Categories
(Core :: JavaScript Engine: JIT, task, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox90 | --- | fixed |
People
(Reporter: iain, Assigned: iain)
References
Details
Attachments
(12 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Bug 1688033 rewrote the arguments analysis using escape analysis. That code will ride the trains in 89; once 90 opens, we should remove the old code.
| Assignee | ||
Comment 1•4 years ago
|
||
This patch removes the needsArgsAnalysis flag. Other flags will be cleaned up in a later patch.
| Assignee | ||
Comment 2•4 years ago
|
||
Depends on D114032
| Assignee | ||
Comment 3•4 years ago
|
||
The HAS_ARGS_OBJ flag in BaselineFrame needs to stick around for the baseline interpreter, but it's immutable for the baseline compiler. (The next patch will move needsArgsObj from MutableFlags to ImmutableFlags.)
Depends on D114033
| Assignee | ||
Comment 4•4 years ago
|
||
After the previous patches, JSScript still has three flags related to arguments analysis. Two of them are immutable (argumentsHasVarBinding and alwaysNeedsArgsObj), and one is mutable (needsArgsObj). We can simplify this down to just needsArgsObj, which is now immutable.
After the simplification, there's no longer any difference between argsObjAliasesFormals and argumentsAliasesFormals.
Depends on D114034
| Assignee | ||
Comment 5•4 years ago
|
||
Depends on D114035
| Assignee | ||
Comment 6•4 years ago
|
||
The next patch removes CallFlags::FunApplyMagicArgs.
Depends on D114036
| Assignee | ||
Comment 7•4 years ago
|
||
Depends on D114169
| Assignee | ||
Comment 8•4 years ago
|
||
Depends on D114170
| Assignee | ||
Comment 9•4 years ago
|
||
There's a separate usecase here that overloaded JS_OPTIMIZED_ARGUMENTS. getMissingArgumentsMaybeSentinelValue returns JS_OPTIMIZED_ARGUMENTS if it can't recreate the arguments object. The comment on createMissingArguments explains that this occurs if the environment is dead; see tests/debug/Frame-eval-12.js, where we return an inner function that subsequently tries to access its parent's arguments. There's a bunch of code on the devtools side of the wall to handle this case, and we have test coverage, so instead of ripping this out I'm just rewriting it to use a different magic value.
Depends on D114171
| Assignee | ||
Comment 10•4 years ago
|
||
The only remaining caller of SetFrameArgumentsObject is FinishBailoutToBaseline.
Depends on D114172
| Assignee | ||
Comment 11•4 years ago
|
||
Depends on D114173
| Assignee | ||
Comment 12•4 years ago
|
||
Depends on D114174
Updated•4 years ago
|
Updated•4 years ago
|
Comment 13•4 years ago
|
||
Comment 14•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/ce61dab689b9
https://hg.mozilla.org/mozilla-central/rev/bf132d76a357
https://hg.mozilla.org/mozilla-central/rev/c7784fbc5ac7
https://hg.mozilla.org/mozilla-central/rev/2d6ddfca0a01
https://hg.mozilla.org/mozilla-central/rev/97a240f4593b
https://hg.mozilla.org/mozilla-central/rev/f0c3565b1841
https://hg.mozilla.org/mozilla-central/rev/de19cbf58624
https://hg.mozilla.org/mozilla-central/rev/1532bdab7a74
https://hg.mozilla.org/mozilla-central/rev/43d61f75ce6f
https://hg.mozilla.org/mozilla-central/rev/1738078ae073
https://hg.mozilla.org/mozilla-central/rev/e2cacd540779
https://hg.mozilla.org/mozilla-central/rev/11741e1b7f70
Description
•