Index: src/compiler/mips64/instruction-selector-mips64.cc |
diff --git a/src/compiler/mips64/instruction-selector-mips64.cc b/src/compiler/mips64/instruction-selector-mips64.cc |
index 0aa4f1837b601f8a5b2fce152f92febfac50425d..cc1323162ca3a6c3f86704bfc52a1e73ef92ea7f 100644 |
--- a/src/compiler/mips64/instruction-selector-mips64.cc |
+++ b/src/compiler/mips64/instruction-selector-mips64.cc |
@@ -352,6 +352,17 @@ static void VisitBinop(InstructionSelector* selector, Node* node, |
VisitBinop(selector, node, opcode, false, kArchNop); |
} |
+void InstructionSelector::VisitStackSlot(Node* node) { |
+ StackSlotRepresentation rep = StackSlotRepresentationOf(node->op()); |
+ int alignment = rep.alignment(); |
+ int slot = frame_->AllocateSpillSlot(rep.size(), alignment); |
+ OperandGenerator g(this); |
+ |
+ Emit(kArchStackSlot, g.DefineAsRegister(node), |
+ sequence()->AddImmediate(Constant(slot)), |
+ sequence()->AddImmediate(Constant(alignment)), 0, nullptr); |
+} |
+ |
void EmitLoad(InstructionSelector* selector, Node* node, InstructionCode opcode, |
Node* output = nullptr) { |
Mips64OperandGenerator g(selector); |