@@ -1571,6 +1571,7 @@ EmitInfo WasmBytecodeGenerator::EmitReplaceLaneExpr(Js::OpCodeAsmJs op, const Wa
15711571
15721572 m_writer->AsmReg4 (op, resultReg, simdArg.location , indexInfo.location , valueArg.location );
15731573 ReleaseLocation (&indexInfo);
1574+ ReleaseLocation (&valueArg);
15741575 return result;
15751576}
15761577
@@ -1579,6 +1580,11 @@ EmitInfo WasmBytecodeGenerator::EmitM128BitSelect()
15791580 EmitInfo mask = PopEvalStack (WasmTypes::M128);
15801581 EmitInfo arg2Info = PopEvalStack (WasmTypes::M128);
15811582 EmitInfo arg1Info = PopEvalStack (WasmTypes::M128);
1583+
1584+ ReleaseLocation (&mask);
1585+ ReleaseLocation (&arg2Info);
1586+ ReleaseLocation (&arg1Info);
1587+
15821588 Js::RegSlot resultReg = GetRegisterSpace (WasmTypes::M128)->AcquireTmpRegister ();
15831589 EmitInfo resultInfo (resultReg, WasmTypes::M128);
15841590 m_writer->AsmReg4 (Js::OpCodeAsmJs::Simd128_BitSelect_I4, resultReg, arg1Info.location , arg2Info.location , mask.location );
@@ -1590,6 +1596,8 @@ EmitInfo WasmBytecodeGenerator::EmitV8X16Shuffle()
15901596 EmitInfo arg2Info = PopEvalStack (WasmTypes::M128);
15911597 EmitInfo arg1Info = PopEvalStack (WasmTypes::M128);
15921598
1599+ // FIXME Release arg2Info and arg1Info
1600+
15931601 Js::RegSlot resultReg = GetRegisterSpace (WasmTypes::M128)->AcquireTmpRegister ();
15941602 EmitInfo resultInfo (resultReg, WasmTypes::M128);
15951603
@@ -1612,16 +1620,16 @@ EmitInfo WasmBytecodeGenerator::EmitExtractLaneExpr(Js::OpCodeAsmJs op, const Wa
16121620 WasmTypes::WasmType simdArgType = signature[1 ];
16131621
16141622 EmitInfo simdArgInfo = PopEvalStack (simdArgType, _u (" Argument should be of type M128" ));
1623+ ReleaseLocation (&simdArgInfo);
16151624
16161625 Js::RegSlot resultReg = GetRegisterSpace (resultType)->AcquireTmpRegister ();
16171626 EmitInfo resultInfo (resultReg, resultType);
16181627
16191628 // put index into a register to reuse the existing infra in Interpreter and Compiler
16201629 EmitInfo indexInfo = EmitLaneIndex (op);
1630+ ReleaseLocation (&indexInfo);
16211631
16221632 m_writer->AsmReg3 (op, resultReg, simdArgInfo.location , indexInfo.location );
1623- ReleaseLocation (&indexInfo);
1624- ReleaseLocation (&simdArgInfo);
16251633 return resultInfo;
16261634}
16271635
0 commit comments