Avoid saving extra registers in CacheIRCompiler::emitCallNumberToString and MacroAssembler::initTypedArraySlots
Categories
(Core :: JavaScript Engine: JIT, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox109 | --- | fixed |
People
(Reporter: anba, Assigned: anba)
References
(Blocks 1 open bug)
Details
Attachments
(4 files)
Assignee | ||
Comment 1•3 years ago
|
||
In other code we're explicitly ignoring the output register when restoring
volatile registers, cf. CodeGeneratorShared::restoreLiveIgnore()
. At least
document through an assertion why it's not necessary to exclude the output
register in visitNewArrayCallVM()
and visitNewObjectVMCall()
.
Assignee | ||
Comment 2•3 years ago
|
||
It shouldn't be necessary to save the scratch float register across an ABI call.
Depends on D162735
Assignee | ||
Comment 3•3 years ago
|
||
Instead of saving all volatile registers, only save the live volatile registers
when calling initTypedArraySlots()
. And additionally don't save more temp
registers in initTypedArraySlots()
itself.
Depends on D162736
Assignee | ||
Comment 4•3 years ago
|
||
The instruction is now called LBinaryValueCache
instead of just LBinaryCache
.
Depends on D162737
Updated•3 years ago
|
Updated•3 years ago
|
Comment 6•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d37f559cfb32
https://hg.mozilla.org/mozilla-central/rev/c4d620ae9c71
https://hg.mozilla.org/mozilla-central/rev/103df637eb59
https://hg.mozilla.org/mozilla-central/rev/465d2264fed5
Description
•