Closed Bug 1763163 Opened 2 years ago Closed 2 years ago

Reduce register usage in LIsNullOrLikeUndefinedV, LNotV, and LIsNullOrLikeUndefinedV

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
101 Branch
Tracking Status
firefox101 --- fixed

People

(Reporter: anba, Assigned: anba)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

We can save 1-2 temp registers in these LIR nodes.

IIRC I saw some extra moves in µ-benchmarks which were caused by these unnecessary temp registers.

Split the strict equality case from LIsNullOrLikeUndefined(AndBranch)V, which
saves two registers on 64-bit systems.

For the next patches, testValueTruthy needs to work on Register instead of
LDefinition*.

Depends on D142954

We can use the output register as a temp register for testValueTruthy().

Depends on D142955

TI is gone.

Depends on D142956

We can use the output register as an additional temp register for
branchTestObjectEmulatesUndefined().

Depends on D142957

That way it matches the temp-unbox register use in LIsNullOrLikeUndefined(AndBranch)V.

Depends on D142958

Blocks: sm-opt-jits
Severity: -- → N/A
Priority: -- → P1
Pushed by andre.bargull@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/1696bfed1cc1
Part 1: Use no temp registers for strict equality against null or undefined. r=iain
https://hg.mozilla.org/integration/autoland/rev/6b1882146ddb
Part 2: Use registers instead of definitions for testValueTruthy. r=iain
https://hg.mozilla.org/integration/autoland/rev/a2cc738fe932
Part 3: Reduce temp registers for LNotV. r=iain
https://hg.mozilla.org/integration/autoland/rev/5f9460d2258f
Part 4: Update a comment about TI. r=iain
https://hg.mozilla.org/integration/autoland/rev/a5a909a61e2b
Part 5: Reduce temp registers for LIsNullOrLikeUndefinedV. r=iain
https://hg.mozilla.org/integration/autoland/rev/fc1c4e52f54f
Part 6: Use temp-unbox registers for LNotV and LTestVAndBranch. r=iain
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: