Closed Bug 1672650 Opened 3 months ago Closed 3 months ago

Transpile TypeOf ICs

Categories

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

task

Tracking

()

RESOLVED FIXED
84 Branch
Tracking Status
firefox84 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

This is a measurable speedup on some tests like the hash-map test in JetStream2.

Instead of always boxing the input, we now allow unboxed objects and use
LTypeOfO instead of LTypeOfV in that case.

This will let us transpile LoadTypeOfObjectResult more efficiently.

This is a small improvement on the hash-map test in JetStream 2 because we can
fold more MIR instructions and don't unbox to double.

Depends on D94429

Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2ab695d09f52
part 1 - Optimize MTypeOf with known-object input better. r=anba
https://hg.mozilla.org/integration/autoland/rev/73b7bc28e9af
part 2 - Support LoadConstantStringResult and LoadTypeOfObjectResult in the transpiler. r=anba
https://hg.mozilla.org/integration/autoland/rev/e8571ec1606b
part 3 - Support transpiling TypeOf CacheIR. r=anba
https://hg.mozilla.org/integration/autoland/rev/0e882aaf85ab
part 4 - Don't use GuardIsNumber for typeof on int32 values. r=anba
You need to log in before you can comment on or make changes to this bug.