Optimize non-nullable references access for struct/array/call_ref ops
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Tracking
()
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?
Comment 1•3 years ago
|
||
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.
Comment 2•3 years ago
|
||
We went with using signal handling in bug 1799971.
Description
•