Closed Bug 774922 Opened 8 years ago Closed 7 years ago

IonMonkey: Unhoisted bounds checks in v8-crypto.

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED DUPLICATE of bug 766592

People

(Reporter: sstangl, Unassigned)

References

(Depends on 1 open bug)

Details

(Whiteboard: [ion:t])

Attachments

(1 file)

Attached file Test case from am3().
Attached test case is reduced from v8-crypto's am3(). The same problem occurs in every function that's ion-compiled in that benchmark.

Bounds check hoisting logic is currently really hokey, having been shoved uncomfortably into LICM instead of some dedicated range analysis pass. It's also extremely narrow, as in Bug 769518.

Crypto bounds checks are of the form given in the attached test case. It would be nice to use RangeAnalysis to mark them hoistable.
Blocks: 768572
Added dependencies for handling this with RangeAnalysis. We could always go with yet another narrow optimization in LICM if RangeAnalysis looks far off.
Depends on: 766592, 765119
Depends on: 765128
All bounds checks in am3() are now being hoisted.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 766592
You need to log in before you can comment on or make changes to this bug.