Chromium Code Reviews| Index: runtime/vm/flow_graph_allocator.h |
| diff --git a/runtime/vm/flow_graph_allocator.h b/runtime/vm/flow_graph_allocator.h |
| index ab05f25dcb44ecbffbb9e55f95112bf94c4b7427..b36e105ff4776cb5e5d21cb8dec6a1d078c0ce72 100644 |
| --- a/runtime/vm/flow_graph_allocator.h |
| +++ b/runtime/vm/flow_graph_allocator.h |
| @@ -113,7 +113,8 @@ class FlowGraphAllocator : public ValueObject { |
| intptr_t pos, |
| Location* in_ref, |
| Value* input, |
| - intptr_t vreg); |
| + intptr_t vreg, |
| + RegisterSet* live_registers); |
| void ProcessOneOutput(BlockEntryInstr* block, |
| Instruction* current, |
| intptr_t pos, |
| @@ -317,6 +318,10 @@ class FlowGraphAllocator : public ValueObject { |
| // are disjoint. |
| GrowableArray<bool> quad_spill_slots_; |
| + // Track whether a spill slot is expected to hold a tagged or untagged value. |
| + // This is used to keep tagged and untagged spill slots disjoint. |
|
srdjan
2014/05/21 17:12:49
Add a comment why we keep them disjoint
Cutch
2014/05/22 06:08:58
Done.
|
| + GrowableArray<bool> untagged_spill_slots_; |
| + |
| intptr_t cpu_spill_slot_count_; |
| DISALLOW_COPY_AND_ASSIGN(FlowGraphAllocator); |
| @@ -498,6 +503,7 @@ class AllocationFinger : public ValueObject { |
| Location FirstHint(); |
| UsePosition* FirstRegisterUse(intptr_t after_pos); |
| UsePosition* FirstRegisterBeneficialUse(intptr_t after_pos); |
| + UsePosition* FirstInterferingUse(intptr_t after_pos); |
| private: |
| UseInterval* first_pending_use_interval_; |