Closed Bug 1794901 Opened 3 years ago Closed 3 years ago

Optimize non-nullable references access for struct/array/call_ref ops

Categories

(Core :: JavaScript: WebAssembly, enhancement, P3)

enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: yury, Unassigned)

References

Details

https://phabricator.services.mozilla.com/D158607 (temporary?) removes optimization for a non-nullable reference for call_ref.

Maybe we can add that back? Can we add it consistently to struct and array instructions too?

Nearly every GC instruction could use type information from operands to determine if the type is non-nullable.

Right now communicating this information from OpIter to the compilers is tricky, because OpIter uses popWithType which has no way of communicating if the popped type was non-nullable. There's of course trickiness with dead code here, where the bottom type should probably be considered nullable too.

When fixing this, we should also consider if it's feasible for us to use the signal handling machinery instead of null branches. In which case, this optimization isn't important.

Severity: -- → N/A
Priority: -- → P3

We went with using signal handling in bug 1799971.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.