Closed Bug 1801897 Opened 3 years ago Closed 3 years ago

Avoid saving extra registers in CacheIRCompiler::emitCallNumberToString and MacroAssembler::initTypedArraySlots

Categories

(Core :: JavaScript Engine: JIT, task, P1)

task

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: anba, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

No description provided.

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().

It shouldn't be necessary to save the scratch float register across an ABI call.

Depends on D162735

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

The instruction is now called LBinaryValueCache instead of just LBinaryCache.

Depends on D162737

Blocks: sm-jits
Severity: -- → N/A
Priority: -- → P1
Attachment #9304738 - Attachment description: Bug 1801897 - Part 4: Update a comment. r=iain! → Bug 1801897 - Part 4: Remove no longer needed comments. r=iain!
Pushed by andre.bargull@gmail.com: https://hg.mozilla.org/integration/autoland/rev/d37f559cfb32 Part 1: Add an explicit assert to document the output is not a live register. r=iain https://hg.mozilla.org/integration/autoland/rev/c4d620ae9c71 Part 2: Don't unnecessarily save the scratch float register across an ABI call. r=iain https://hg.mozilla.org/integration/autoland/rev/103df637eb59 Part 3: Only save live volatile registers across the ABI call in initTypedArraySlots. r=iain https://hg.mozilla.org/integration/autoland/rev/465d2264fed5 Part 4: Remove no longer needed comments. r=iain
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: