Index: src/compiler/mips/instruction-selector-mips.cc |
diff --git a/src/compiler/mips/instruction-selector-mips.cc b/src/compiler/mips/instruction-selector-mips.cc |
index 98ed5ae450497e2cc5b5ef2046efc23821e782a3..149d4bc7a7dcf20d48d6f8bfe1272d8a38caee27 100644 |
--- a/src/compiler/mips/instruction-selector-mips.cc |
+++ b/src/compiler/mips/instruction-selector-mips.cc |
@@ -505,13 +505,14 @@ void InstructionSelector::VisitCall(Node* node, BasicBlock* handler) { |
// Possibly align stack here for functions. |
int push_count = buffer.pushed_nodes.size(); |
if (push_count > 0) { |
- Emit(kMipsStackClaim | MiscField::encode(push_count), g.NoOutput()); |
+ Emit(kMipsStackClaim, g.NoOutput(), |
+ g.TempImmediate(push_count << kPointerSizeLog2)); |
} |
int slot = buffer.pushed_nodes.size() - 1; |
for (auto i = buffer.pushed_nodes.rbegin(); i != buffer.pushed_nodes.rend(); |
++i) { |
- Emit(kMipsStoreToStackSlot | MiscField::encode(slot), g.NoOutput(), |
- g.UseRegister(*i)); |
+ Emit(kMipsStoreToStackSlot, g.NoOutput(), g.UseRegister(*i), |
+ g.TempImmediate(slot << kPointerSizeLog2)); |
slot--; |
} |