Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index f71bf38e42a0ecae4453f12dd29b9a018c5c550d..b3c4bc827d8f98ca76ea6d0427167a9137271cfd 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -464,15 +464,7 @@ Operand LCodeGen::ToOperand(LOperand* op) const { |
// Does not handle registers. In X64 assembler, plain registers are not |
// representable as an Operand. |
ASSERT(op->IsStackSlot() || op->IsDoubleStackSlot()); |
- int index = op->index(); |
- if (index >= 0) { |
- // Local or spill slot. Skip the frame pointer, function, and |
- // context in the fixed part of the frame. |
- return Operand(rbp, -(index + 3) * kPointerSize); |
- } else { |
- // Incoming parameter. Skip the return address. |
- return Operand(rbp, -(index - 1) * kPointerSize); |
- } |
+ return Operand(rbp, StackSlotOffset(op->index())); |
} |