| 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 cd30405b6f2d7da8b6e620d129b98061f210ec12..b84fa78d262606f352727f11c0b99aac4e36776b 100644
|
| --- a/src/compiler/mips64/instruction-selector-mips64.cc
|
| +++ b/src/compiler/mips64/instruction-selector-mips64.cc
|
| @@ -1199,9 +1199,9 @@ void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) {
|
| }
|
|
|
|
|
| -void InstructionSelector::EmitPrepareArguments(NodeVector* arguments,
|
| - const CallDescriptor* descriptor,
|
| - Node* node) {
|
| +void InstructionSelector::EmitPrepareArguments(
|
| + ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor,
|
| + Node* node) {
|
| Mips64OperandGenerator g(this);
|
|
|
| // Prepare for C function call.
|
| @@ -1212,8 +1212,8 @@ void InstructionSelector::EmitPrepareArguments(NodeVector* arguments,
|
|
|
| // Poke any stack arguments.
|
| int slot = kCArgSlotCount;
|
| - for (Node* input : (*arguments)) {
|
| - Emit(kMips64StoreToStackSlot, g.NoOutput(), g.UseRegister(input),
|
| + for (PushParameter input : (*arguments)) {
|
| + Emit(kMips64StoreToStackSlot, g.NoOutput(), g.UseRegister(input.node()),
|
| g.TempImmediate(slot << kPointerSizeLog2));
|
| ++slot;
|
| }
|
| @@ -1224,8 +1224,9 @@ void InstructionSelector::EmitPrepareArguments(NodeVector* arguments,
|
| g.TempImmediate(push_count << kPointerSizeLog2));
|
| }
|
| for (size_t n = 0; n < arguments->size(); ++n) {
|
| - if (Node* input = (*arguments)[n]) {
|
| - Emit(kMips64StoreToStackSlot, g.NoOutput(), g.UseRegister(input),
|
| + PushParameter input = (*arguments)[n];
|
| + if (input.node()) {
|
| + Emit(kMips64StoreToStackSlot, g.NoOutput(), g.UseRegister(input.node()),
|
| g.TempImmediate(static_cast<int>(n << kPointerSizeLog2)));
|
| }
|
| }
|
|
|