This assert breaks Kraken. The problem is that MResumePoint::setOperand unwraps MPassArg, but initOperand calls addUse on the MPassArg instead of its argument:
void MNode::initOperand(size_t index, MDefinition *ins)
Easiest fix is to change initOperand:
Not sure if it's the best fix though. Any thoughts?
Created attachment 608862 [details] [diff] [review]
Fix in a better way.
The unwrapping shouldn't have been done in setOperand(); the actual bug was that we missed unwrapping in encodeSlots(). We could also elect to unwrap in getOperand().
This passes earley-boyer, but still fails Kraken and a few other tests with TI errors. These regressions appear to be merge fallout.