Open Bug 1742718 Opened 3 years ago Updated 7 months ago

CacheIR: Consider splitting up ops

Categories

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

task

Tracking

()

People

(Reporter: iain, Unassigned)

References

(Blocks 1 open bug)

Details

In a patch for bug 1742594, anba added loadArgumentsObjectExistsResult. With a bit of massaging, we could replace it with something along the lines of:

GuardInt32IsNonNegative
GuardArgumentsObjectFlags
LoadArgumentsObjectLength
CompareInt32Result

If we did that, then we wouldn't need any specialized code for x in arguments in Warp; we would just use the existing implementation for those ops.

The slightly tricky part is that LoadArgumentsObjectLength currently doesn't exist; we only have LoadArgumentsObjectLengthResult, which returns the value immediately. Splitting that up into LoadArgumentsObjectLength and Int32Result is straightforward, but if we're going to do that then it seems worthwhile to survey the existing ops and see if there are any other opportunities to implement complicated CacheIR ops in terms of simpler primitives.

Blocks: 1620996
Severity: -- → N/A
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.