Closed Bug 1636942 Opened 2 months ago Closed 1 month ago

Add an IC for JSOp::ToId

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

WarpBuilder currently always emits MToId for the JSOp::ToId for x[i] += y. We should consider adding an IC for JSOp::ToId, similar to what we did for JSOp::Pos (bug 1626297) and JSOp::ToNumeric (bug 1632761). Then we can easily add a fast path for int32/symbol/string and transpile it.

Blocks: 1620996
Severity: normal → N/A
Priority: -- → P3

Doesn't rename the MToId instruction because the next patch will make changes to
that anyway.

The comment in Interpreter.cpp was removed because this op is already (and better)
documented in vm/Opcodes.h

Assignee: nobody → jdemooij
Status: NEW → ASSIGNED

Just the fallback path, the next patch will add CacheIR support.

Depends on D78039

The only new op we needed was LoadSymbolResult.

Also adds transpiler support for GuardToSymbol.

Depends on D78040

Blocks: 1643135
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9eaf61ddb56f
part 1 - Rename JSOp::ToId to JSOp::ToPropertyKey. r=evilpie
https://hg.mozilla.org/integration/autoland/rev/ea8ef46857c8
part 2 - Add IC support for JSOp::ToPropertyKey. r=evilpie
https://hg.mozilla.org/integration/autoland/rev/a58c521bb767
part 3 - Add CacheIR generator for JSOp::ToPropertyKey. r=evilpie
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
Blocks: 1644117
You need to log in before you can comment on or make changes to this bug.