Warp: Transpile LoadArgumentsObjectArgResult, LoadArgumentsObjectLengthResult, and LoadFunctionLengthResult
Categories
(Core :: JavaScript Engine: JIT, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox82 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
(Blocks 1 open bug)
Details
Attachments
(8 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Assignee | ||
Comment 1•4 years ago
|
||
Don't attach LoadArgumentsObjectArgResult when it will fail anyway. The checks mirror
the dynamic checks from CacheIRCompiler.
Assignee | ||
Comment 2•4 years ago
|
||
Add MacroAssembler::loadArgumentsObjectElement
in preparation for the next
part.
Assignee | ||
Comment 3•4 years ago
|
||
Uses the same alias set as MGetArgumentsObjectArg
. A more narrow alias set
may be possible, but we need to be sure not to run into any issues with mapped
arguments.
Depends on D90403
Assignee | ||
Comment 4•4 years ago
|
||
Add in preparation for the next part.
Depends on D90404
Assignee | ||
Comment 5•4 years ago
|
||
Depends on D90405
Assignee | ||
Comment 6•4 years ago
|
||
This avoids calling LookupPropertyPure
unless the property name is actually "length".
Depends on D90406
Assignee | ||
Comment 7•4 years ago
|
||
No self-hosted code reads BOUND_FUN_LENGTH_SLOT
, so we might as well move it
to the other constants in FunctionExtended
.
Drive-by fix:
- Use fallibleUnboxInt32 in
MacroAssembler::loadFunctionLength()
.
Depends on D90407
Assignee | ||
Comment 8•4 years ago
|
||
Also change CacheIR to not attach the stub if it will fail.
Depends on D90408
Updated•4 years ago
|
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/58aa6d7e066e
https://hg.mozilla.org/mozilla-central/rev/7f927ef4d046
https://hg.mozilla.org/mozilla-central/rev/d418a39177ad
https://hg.mozilla.org/mozilla-central/rev/b04893b59aba
https://hg.mozilla.org/mozilla-central/rev/2fd7fe53abd9
https://hg.mozilla.org/mozilla-central/rev/37353059ea5a
https://hg.mozilla.org/mozilla-central/rev/237faf2a86b3
https://hg.mozilla.org/mozilla-central/rev/ad05bb3bcd45
Description
•