Index: runtime/vm/flow_graph_allocator.h |
diff --git a/runtime/vm/flow_graph_allocator.h b/runtime/vm/flow_graph_allocator.h |
index 5268c312b6bf0dfce9fac36b409c3697eccbdbee..ab60b824466d3b2ceadacdae0198572c123d231b 100644 |
--- a/runtime/vm/flow_graph_allocator.h |
+++ b/runtime/vm/flow_graph_allocator.h |
@@ -38,7 +38,7 @@ class ReachingDefs : public ValueObject { |
class FlowGraphAllocator : public ValueObject { |
public: |
// Number of stack slots needed for a fpu register spill slot. |
- static const intptr_t kFpuRegisterSpillFactor = kFpuRegisterSize / kWordSize; |
+ static const intptr_t kDoubleSpillFactor = kDoubleSize / kWordSize; |
explicit FlowGraphAllocator(const FlowGraph& flow_graph); |
@@ -227,8 +227,8 @@ class FlowGraphAllocator : public ValueObject { |
MoveOperands* AddMoveAt(intptr_t pos, Location to, Location from); |
- Location MakeRegisterLocation(intptr_t reg, Representation rep) { |
- return Location::MachineRegisterLocation(register_kind_, reg, rep); |
+ Location MakeRegisterLocation(intptr_t reg) { |
+ return Location::MachineRegisterLocation(register_kind_, reg); |
} |
void PrintLiveRanges(); |
@@ -309,8 +309,13 @@ class FlowGraphAllocator : public ValueObject { |
// List of used spill slots. Contains positions after which spill slots |
// become free and can be reused for allocation. |
GrowableArray<intptr_t> spill_slots_; |
- intptr_t cpu_spill_slot_count_; |
+ // For every used spill slot contains a flag determines whether it is |
+ // QuadSpillSlot to ensure that indexes of quad and double spill slots |
+ // are disjoint. |
+ GrowableArray<bool> quad_spill_slots_; |
+ |
+ intptr_t cpu_spill_slot_count_; |
DISALLOW_COPY_AND_ASSIGN(FlowGraphAllocator); |
}; |