Index: src/compiler/code-generator.cc |
diff --git a/src/compiler/code-generator.cc b/src/compiler/code-generator.cc |
index f1a0975fe286f225a379131c65f0f665f7e24ee5..1fa61041d9b0648d3a39d988aaeaa4fd2b84cd21 100644 |
--- a/src/compiler/code-generator.cc |
+++ b/src/compiler/code-generator.cc |
@@ -176,9 +176,11 @@ void CodeGenerator::RecordSafepoint(PointerMap* pointers, Safepoint::Kind kind, |
for (int i = 0; i < operands->length(); i++) { |
InstructionOperand* pointer = operands->at(i); |
if (pointer->IsStackSlot()) { |
- safepoint.DefinePointerSlot(pointer->index(), zone()); |
+ safepoint.DefinePointerSlot(StackSlotOperand::cast(pointer)->index(), |
+ zone()); |
} else if (pointer->IsRegister() && (kind & Safepoint::kWithRegisters)) { |
- Register reg = Register::FromAllocationIndex(pointer->index()); |
+ Register reg = Register::FromAllocationIndex( |
+ RegisterOperand::cast(pointer)->index()); |
safepoint.DefinePointerRegister(reg, zone()); |
} |
} |
@@ -512,18 +514,19 @@ void CodeGenerator::AddTranslationForOperand(Translation* translation, |
// rather than creating an int value. |
if (type == kMachBool || type == kRepBit || type == kMachInt32 || |
type == kMachInt8 || type == kMachInt16) { |
- translation->StoreInt32StackSlot(op->index()); |
+ translation->StoreInt32StackSlot(StackSlotOperand::cast(op)->index()); |
} else if (type == kMachUint32 || type == kMachUint16 || |
type == kMachUint8) { |
- translation->StoreUint32StackSlot(op->index()); |
+ translation->StoreUint32StackSlot(StackSlotOperand::cast(op)->index()); |
} else if ((type & kRepMask) == kRepTagged) { |
- translation->StoreStackSlot(op->index()); |
+ translation->StoreStackSlot(StackSlotOperand::cast(op)->index()); |
} else { |
CHECK(false); |
} |
} else if (op->IsDoubleStackSlot()) { |
DCHECK((type & (kRepFloat32 | kRepFloat64)) != 0); |
- translation->StoreDoubleStackSlot(op->index()); |
+ translation->StoreDoubleStackSlot( |
+ DoubleStackSlotOperand::cast(op)->index()); |
} else if (op->IsRegister()) { |
InstructionOperandConverter converter(this, instr); |
// TODO(jarin) kMachBool and kRepBit should materialize true and false |