Implement switch statements in WebAssembly
Created attachment 260972 [details] Patch
Here's what buildSwitch() in the LLVM IR generator will look like: void buildSwitch(LValue expression, const Vector<int64_t>& cases, const Vector<LBasicBlock>& targets, LBasicBlock defaultTarget) { Vector<FTL::SwitchCase> switchCases; switchCases.reserveInitialCapacity(cases.size()); for (size_t i = 0; i < cases.size(); ++i) switchCases.uncheckedAppend(FTL::SwitchCase(m_out.constInt32(static_cast<int32_t>(cases[i])), targets[i])); m_out.switchInstruction(expression, switchCases, defaultTarget, FTL::Weight()); }
Comment on attachment 260972 [details] Patch r=me
Comment on attachment 260972 [details] Patch Clearing flags on attachment: 260972 Committed r189599: <http://trac.webkit.org/changeset/189599>
All reviewed patches have been landed. Closing bug.