Index: src/compiler/register-allocator.h |
diff --git a/src/compiler/register-allocator.h b/src/compiler/register-allocator.h |
index 41f00af2d5f0035590939113600add1f59ebdf90..447e92f54a56eacfd6881308d83633636ca49320 100644 |
--- a/src/compiler/register-allocator.h |
+++ b/src/compiler/register-allocator.h |
@@ -418,9 +418,13 @@ class LiveRange final : public ZoneObject { |
void SetUseHints(int register_index); |
void UnsetUseHints() { SetUseHints(kUnassignedRegister); } |
- private: |
struct SpillAtDefinitionList; |
+ SpillAtDefinitionList* spills_at_definition() const { |
+ return spills_at_definition_; |
+ } |
+ |
+ private: |
void set_spill_type(SpillType value) { |
bits_ = SpillTypeField::update(bits_, value); |
} |
@@ -855,6 +859,21 @@ class GreedyAllocator final : public RegisterAllocator { |
}; |
+class SpillSlotLocator final : public ZoneObject { |
+ public: |
+ explicit SpillSlotLocator(RegisterAllocationData* data); |
+ |
+ void LocateSpillSlots(); |
+ |
+ private: |
+ RegisterAllocationData* data() const { return data_; } |
+ |
+ RegisterAllocationData* const data_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(SpillSlotLocator); |
+}; |
+ |
+ |
class OperandAssigner final : public ZoneObject { |
public: |
explicit OperandAssigner(RegisterAllocationData* data); |