Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: runtime/vm/flow_graph_allocator.cc

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/flow_graph_allocator.h ('k') | runtime/vm/flow_graph_builder.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_allocator.cc
diff --git a/runtime/vm/flow_graph_allocator.cc b/runtime/vm/flow_graph_allocator.cc
index 903d17bf8314294221714a5a8098c729dccd9e65..e70a5b781eec4f1a248a02ceca48921dbac1fdbe 100644
--- a/runtime/vm/flow_graph_allocator.cc
+++ b/runtime/vm/flow_graph_allocator.cc
@@ -5,10 +5,10 @@
#include "vm/flow_graph_allocator.h"
#include "vm/bit_vector.h"
-#include "vm/intermediate_language.h"
-#include "vm/il_printer.h"
#include "vm/flow_graph.h"
#include "vm/flow_graph_compiler.h"
+#include "vm/il_printer.h"
+#include "vm/intermediate_language.h"
#include "vm/log.h"
#include "vm/parser.h"
#include "vm/stack_frame.h"
@@ -24,7 +24,6 @@ namespace dart {
#define TRACE_ALLOC(statement)
#endif
-
static const intptr_t kNoVirtualRegister = -1;
static const intptr_t kTempVirtualRegister = -2;
static const intptr_t kIllegalPosition = -1;
@@ -41,32 +40,26 @@ static intptr_t ToSecondPairVreg(intptr_t vreg) {
return vreg + kPairVirtualRegisterOffset;
}
-
static intptr_t MinPosition(intptr_t a, intptr_t b) {
return (a < b) ? a : b;
}
-
static bool IsInstructionStartPosition(intptr_t pos) {
return (pos & 1) == 0;
}
-
static bool IsInstructionEndPosition(intptr_t pos) {
return (pos & 1) == 1;
}
-
static intptr_t ToInstructionStart(intptr_t pos) {
return (pos & ~1);
}
-
static intptr_t ToInstructionEnd(intptr_t pos) {
return (pos | 1);
}
-
FlowGraphAllocator::FlowGraphAllocator(const FlowGraph& flow_graph,
bool intrinsic_mode)
: flow_graph_(flow_graph),
@@ -117,7 +110,6 @@ FlowGraphAllocator::FlowGraphAllocator(const FlowGraph& flow_graph,
}
}
-
static void DeepLiveness(MaterializeObjectInstr* mat, BitVector* live_in) {
if (mat->was_visited_for_liveness()) {
return;
@@ -138,7 +130,6 @@ static void DeepLiveness(MaterializeObjectInstr* mat, BitVector* live_in) {
}
}
-
void SSALivenessAnalysis::ComputeInitialSets() {
const intptr_t block_count = postorder_.length();
for (intptr_t i = 0; i < block_count; i++) {
@@ -267,7 +258,6 @@ void SSALivenessAnalysis::ComputeInitialSets() {
}
}
-
UsePosition* LiveRange::AddUse(intptr_t pos, Location* location_slot) {
ASSERT(location_slot != NULL);
ASSERT((first_use_interval_->start_ <= pos) &&
@@ -303,7 +293,6 @@ UsePosition* LiveRange::AddUse(intptr_t pos, Location* location_slot) {
return uses_;
}
-
void LiveRange::AddSafepoint(intptr_t pos, LocationSummary* locs) {
ASSERT(IsInstructionStartPosition(pos));
SafepointPosition* safepoint =
@@ -322,7 +311,6 @@ void LiveRange::AddSafepoint(intptr_t pos, LocationSummary* locs) {
}
}
-
void LiveRange::AddHintedUse(intptr_t pos,
Location* location_slot,
Location* hint) {
@@ -330,7 +318,6 @@ void LiveRange::AddHintedUse(intptr_t pos,
AddUse(pos, location_slot)->set_hint(hint);
}
-
void LiveRange::AddUseInterval(intptr_t start, intptr_t end) {
ASSERT(start < end);
@@ -367,7 +354,6 @@ void LiveRange::AddUseInterval(intptr_t start, intptr_t end) {
}
}
-
void LiveRange::DefineAt(intptr_t pos) {
// Live ranges are being build by visiting instructions in post-order.
// This implies that use intervals will be prepended in a monotonically
@@ -388,7 +374,6 @@ void LiveRange::DefineAt(intptr_t pos) {
}
}
-
LiveRange* FlowGraphAllocator::GetLiveRange(intptr_t vreg) {
if (live_ranges_[vreg] == NULL) {
Representation rep = value_representations_[vreg];
@@ -398,7 +383,6 @@ LiveRange* FlowGraphAllocator::GetLiveRange(intptr_t vreg) {
return live_ranges_[vreg];
}
-
LiveRange* FlowGraphAllocator::MakeLiveRangeForTemporary() {
// Representation does not matter for temps.
Representation ignored = kNoRepresentation;
@@ -409,7 +393,6 @@ LiveRange* FlowGraphAllocator::MakeLiveRangeForTemporary() {
return range;
}
-
void FlowGraphAllocator::BlockRegisterLocation(Location loc,
intptr_t from,
intptr_t to,
@@ -432,7 +415,6 @@ void FlowGraphAllocator::BlockRegisterLocation(Location loc,
blocking_ranges[loc.register_code()]->AddUseInterval(from, to);
}
-
// Block location from the start of the instruction to its end.
void FlowGraphAllocator::BlockLocation(Location loc,
intptr_t from,
@@ -450,7 +432,6 @@ void FlowGraphAllocator::BlockLocation(Location loc,
}
}
-
void LiveRange::Print() {
if (first_use_interval() == NULL) {
return;
@@ -494,7 +475,6 @@ void LiveRange::Print() {
}
}
-
void FlowGraphAllocator::PrintLiveRanges() {
#if defined(DEBUG)
for (intptr_t i = 0; i < temporaries_.length(); i++) {
@@ -509,7 +489,6 @@ void FlowGraphAllocator::PrintLiveRanges() {
}
}
-
// Returns true if all uses of the given range inside the given loop
// have Any allocation policy.
static bool HasOnlyUnconstrainedUsesInLoop(LiveRange* range,
@@ -527,7 +506,6 @@ static bool HasOnlyUnconstrainedUsesInLoop(LiveRange* range,
return true;
}
-
// Returns true if all uses of the given range have Any allocation policy.
static bool HasOnlyUnconstrainedUses(LiveRange* range) {
UsePosition* use = range->first_use();
@@ -540,7 +518,6 @@ static bool HasOnlyUnconstrainedUses(LiveRange* range) {
return true;
}
-
void FlowGraphAllocator::BuildLiveRanges() {
const intptr_t block_count = postorder_.length();
ASSERT(postorder_.Last()->IsGraphEntry());
@@ -586,7 +563,6 @@ void FlowGraphAllocator::BuildLiveRanges() {
current = current->previous();
}
-
// Check if any values live into the loop can be spilled for free.
if (block_info->is_loop_header()) {
current_interference_set = NULL;
@@ -647,7 +623,6 @@ void FlowGraphAllocator::BuildLiveRanges() {
}
}
-
void FlowGraphAllocator::SplitInitialDefinitionAt(LiveRange* range,
intptr_t pos) {
if (range->End() > pos) {
@@ -656,7 +631,6 @@ void FlowGraphAllocator::SplitInitialDefinitionAt(LiveRange* range,
}
}
-
void FlowGraphAllocator::ProcessInitialDefinition(Definition* defn,
LiveRange* range,
BlockEntryInstr* block) {
@@ -787,7 +761,6 @@ void FlowGraphAllocator::ProcessInitialDefinition(Definition* defn,
}
}
-
static Location::Kind RegisterKindFromPolicy(Location loc) {
if (loc.policy() == Location::kRequiresFpuRegister) {
return Location::kFpuRegister;
@@ -796,7 +769,6 @@ static Location::Kind RegisterKindFromPolicy(Location loc) {
}
}
-
static Location::Kind RegisterKindForResult(Instruction* instr) {
const Representation rep = instr->representation();
#if !defined(TARGET_ARCH_DBC)
@@ -815,7 +787,6 @@ static Location::Kind RegisterKindForResult(Instruction* instr) {
#endif
}
-
//
// When describing shape of live ranges in comments below we are going to use
// the following notation:
@@ -913,7 +884,6 @@ Instruction* FlowGraphAllocator::ConnectOutgoingPhiMoves(
return goto_instr->previous();
}
-
void FlowGraphAllocator::ConnectIncomingPhiMoves(JoinEntryInstr* join) {
// For join blocks we need to add destinations of phi resolution moves
// to phi's live range so that register allocator will fill them with moves.
@@ -975,7 +945,6 @@ void FlowGraphAllocator::ConnectIncomingPhiMoves(JoinEntryInstr* join) {
}
}
-
void FlowGraphAllocator::ProcessEnvironmentUses(BlockEntryInstr* block,
Instruction* current) {
ASSERT(current->env() != NULL);
@@ -1057,7 +1026,6 @@ void FlowGraphAllocator::ProcessEnvironmentUses(BlockEntryInstr* block,
}
}
-
void FlowGraphAllocator::ProcessMaterializationUses(
BlockEntryInstr* block,
const intptr_t block_start_pos,
@@ -1111,7 +1079,6 @@ void FlowGraphAllocator::ProcessMaterializationUses(
}
}
-
void FlowGraphAllocator::ProcessOneInput(BlockEntryInstr* block,
intptr_t pos,
Location* in_ref,
@@ -1175,7 +1142,6 @@ void FlowGraphAllocator::ProcessOneInput(BlockEntryInstr* block,
}
}
-
void FlowGraphAllocator::ProcessOneOutput(BlockEntryInstr* block,
intptr_t pos,
Location* out,
@@ -1283,7 +1249,6 @@ void FlowGraphAllocator::ProcessOneOutput(BlockEntryInstr* block,
CompleteRange(range, RegisterKindForResult(def));
}
-
// Create and update live ranges corresponding to instruction's inputs,
// temporaries and output.
void FlowGraphAllocator::ProcessOneInstruction(BlockEntryInstr* block,
@@ -1433,7 +1398,6 @@ void FlowGraphAllocator::ProcessOneInstruction(BlockEntryInstr* block,
pos + 1);
}
-
#if defined(DEBUG)
// Verify that temps, inputs and output were specified as fixed
// locations. Every register is blocked now so attempt to
@@ -1533,7 +1497,6 @@ void FlowGraphAllocator::ProcessOneInstruction(BlockEntryInstr* block,
}
}
-
static ParallelMoveInstr* CreateParallelMoveBefore(Instruction* instr,
intptr_t pos) {
ASSERT(pos > 0);
@@ -1548,7 +1511,6 @@ static ParallelMoveInstr* CreateParallelMoveBefore(Instruction* instr,
return move;
}
-
static ParallelMoveInstr* CreateParallelMoveAfter(Instruction* instr,
intptr_t pos) {
Instruction* next = instr->next();
@@ -1558,7 +1520,6 @@ static ParallelMoveInstr* CreateParallelMoveAfter(Instruction* instr,
return CreateParallelMoveBefore(next, pos);
}
-
// Linearize the control flow graph. The chosen order will be used by the
// linear-scan register allocator. Number most instructions with a pair of
// numbers representing lifetime positions. Introduce explicit parallel
@@ -1623,7 +1584,6 @@ void FlowGraphAllocator::NumberInstructions() {
}
}
-
// Discover structural (reducible) loops nesting structure.
void FlowGraphAllocator::DiscoverLoops() {
// This algorithm relies on the assumption that we emit blocks in reverse
@@ -1673,22 +1633,18 @@ void FlowGraphAllocator::DiscoverLoops() {
}
}
-
Instruction* FlowGraphAllocator::InstructionAt(intptr_t pos) const {
return instructions_[pos / 2];
}
-
BlockInfo* FlowGraphAllocator::BlockInfoAt(intptr_t pos) const {
return block_info_[pos / 2];
}
-
bool FlowGraphAllocator::IsBlockEntry(intptr_t pos) const {
return IsInstructionStartPosition(pos) && InstructionAt(pos)->IsBlockEntry();
}
-
void AllocationFinger::Initialize(LiveRange* range) {
first_pending_use_interval_ = range->first_use_interval();
first_register_use_ = range->first_use();
@@ -1696,7 +1652,6 @@ void AllocationFinger::Initialize(LiveRange* range) {
first_hinted_use_ = range->first_use();
}
-
bool AllocationFinger::Advance(const intptr_t start) {
UseInterval* a = first_pending_use_interval_;
while (a != NULL && a->end() <= start)
@@ -1705,7 +1660,6 @@ bool AllocationFinger::Advance(const intptr_t start) {
return (first_pending_use_interval_ == NULL);
}
-
Location AllocationFinger::FirstHint() {
UsePosition* use = first_hinted_use_;
@@ -1717,7 +1671,6 @@ Location AllocationFinger::FirstHint() {
return Location::NoLocation();
}
-
static UsePosition* FirstUseAfter(UsePosition* use, intptr_t after) {
while ((use != NULL) && (use->pos() < after)) {
use = use->next();
@@ -1725,7 +1678,6 @@ static UsePosition* FirstUseAfter(UsePosition* use, intptr_t after) {
return use;
}
-
UsePosition* AllocationFinger::FirstRegisterUse(intptr_t after) {
for (UsePosition* use = FirstUseAfter(first_register_use_, after);
use != NULL; use = use->next()) {
@@ -1740,7 +1692,6 @@ UsePosition* AllocationFinger::FirstRegisterUse(intptr_t after) {
return NULL;
}
-
UsePosition* AllocationFinger::FirstRegisterBeneficialUse(intptr_t after) {
for (UsePosition* use = FirstUseAfter(first_register_beneficial_use_, after);
use != NULL; use = use->next()) {
@@ -1753,7 +1704,6 @@ UsePosition* AllocationFinger::FirstRegisterBeneficialUse(intptr_t after) {
return NULL;
}
-
UsePosition* AllocationFinger::FirstInterferingUse(intptr_t after) {
if (IsInstructionEndPosition(after)) {
// If after is a position at the end of the instruction disregard
@@ -1763,7 +1713,6 @@ UsePosition* AllocationFinger::FirstInterferingUse(intptr_t after) {
return FirstRegisterUse(after);
}
-
void AllocationFinger::UpdateAfterSplit(intptr_t first_use_after_split_pos) {
if ((first_register_use_ != NULL) &&
(first_register_use_->pos() >= first_use_after_split_pos)) {
@@ -1776,7 +1725,6 @@ void AllocationFinger::UpdateAfterSplit(intptr_t first_use_after_split_pos) {
}
}
-
intptr_t UseInterval::Intersect(UseInterval* other) {
if (this->start() <= other->start()) {
if (other->start() < this->end()) return other->start();
@@ -1786,7 +1734,6 @@ intptr_t UseInterval::Intersect(UseInterval* other) {
return kIllegalPosition;
}
-
static intptr_t FirstIntersection(UseInterval* a, UseInterval* u) {
while (a != NULL && u != NULL) {
const intptr_t pos = a->Intersect(u);
@@ -1802,7 +1749,6 @@ static intptr_t FirstIntersection(UseInterval* a, UseInterval* u) {
return kMaxPosition;
}
-
template <typename PositionType>
PositionType* SplitListOfPositions(PositionType** head,
intptr_t split_pos,
@@ -1830,7 +1776,6 @@ PositionType* SplitListOfPositions(PositionType** head,
return pos;
}
-
LiveRange* LiveRange::SplitAt(intptr_t split_pos) {
if (Start() == split_pos) return this;
@@ -1894,7 +1839,6 @@ LiveRange* LiveRange::SplitAt(intptr_t split_pos) {
return next_sibling_;
}
-
LiveRange* FlowGraphAllocator::SplitBetween(LiveRange* range,
intptr_t from,
intptr_t to) {
@@ -1933,7 +1877,6 @@ LiveRange* FlowGraphAllocator::SplitBetween(LiveRange* range,
return range->SplitAt(split_pos);
}
-
void FlowGraphAllocator::SpillBetween(LiveRange* range,
intptr_t from,
intptr_t to) {
@@ -1954,7 +1897,6 @@ void FlowGraphAllocator::SpillBetween(LiveRange* range,
}
}
-
void FlowGraphAllocator::SpillAfter(LiveRange* range, intptr_t from) {
TRACE_ALLOC(THR_Print("spill v%" Pd " [%" Pd ", %" Pd ") after %" Pd "\n",
range->vreg(), range->Start(), range->End(), from));
@@ -1979,7 +1921,6 @@ void FlowGraphAllocator::SpillAfter(LiveRange* range, intptr_t from) {
Spill(tail);
}
-
void FlowGraphAllocator::AllocateSpillSlotFor(LiveRange* range) {
#if defined(TARGET_ARCH_DBC)
// There is no need to support spilling on DBC because we have a lot of
@@ -2077,7 +2018,6 @@ void FlowGraphAllocator::AllocateSpillSlotFor(LiveRange* range) {
spilled_.Add(range);
}
-
void FlowGraphAllocator::MarkAsObjectAtSafepoints(LiveRange* range) {
intptr_t stack_index = range->spill_slot().stack_index();
ASSERT(stack_index >= 0);
@@ -2092,7 +2032,6 @@ void FlowGraphAllocator::MarkAsObjectAtSafepoints(LiveRange* range) {
}
}
-
void FlowGraphAllocator::Spill(LiveRange* range) {
LiveRange* parent = GetLiveRange(range->vreg());
if (parent->spill_slot().IsInvalid()) {
@@ -2105,7 +2044,6 @@ void FlowGraphAllocator::Spill(LiveRange* range) {
ConvertAllUses(range);
}
-
intptr_t FlowGraphAllocator::FirstIntersectionWithAllocated(
intptr_t reg,
LiveRange* unallocated) {
@@ -2125,7 +2063,6 @@ intptr_t FlowGraphAllocator::FirstIntersectionWithAllocated(
return intersection;
}
-
void ReachingDefs::AddPhi(PhiInstr* phi) {
if (phi->reaching_defs() == NULL) {
Zone* zone = flow_graph_.zone();
@@ -2150,7 +2087,6 @@ void ReachingDefs::AddPhi(PhiInstr* phi) {
}
}
-
void ReachingDefs::Compute() {
// Transitively collect all phis that are used by the given phi.
for (intptr_t i = 0; i < phis_.length(); i++) {
@@ -2185,7 +2121,6 @@ void ReachingDefs::Compute() {
phis_.Clear();
}
-
BitVector* ReachingDefs::Get(PhiInstr* phi) {
if (phi->reaching_defs() == NULL) {
ASSERT(phis_.is_empty());
@@ -2195,7 +2130,6 @@ BitVector* ReachingDefs::Get(PhiInstr* phi) {
return phi->reaching_defs();
}
-
bool FlowGraphAllocator::AllocateFreeRegister(LiveRange* unallocated) {
intptr_t candidate = kNoRegister;
intptr_t free_until = 0;
@@ -2325,7 +2259,6 @@ bool FlowGraphAllocator::AllocateFreeRegister(LiveRange* unallocated) {
return true;
}
-
bool FlowGraphAllocator::RangeHasOnlyUnconstrainedUsesInLoop(LiveRange* range,
intptr_t loop_id) {
if (range->vreg() >= 0) {
@@ -2335,7 +2268,6 @@ bool FlowGraphAllocator::RangeHasOnlyUnconstrainedUsesInLoop(LiveRange* range,
return false;
}
-
bool FlowGraphAllocator::IsCheapToEvictRegisterInLoop(BlockInfo* loop,
intptr_t reg) {
const intptr_t loop_start = loop->entry()->start_pos();
@@ -2357,7 +2289,6 @@ bool FlowGraphAllocator::IsCheapToEvictRegisterInLoop(BlockInfo* loop,
return true;
}
-
bool FlowGraphAllocator::HasCheapEvictionCandidate(LiveRange* phi_range) {
ASSERT(phi_range->is_loop_phi());
@@ -2375,7 +2306,6 @@ bool FlowGraphAllocator::HasCheapEvictionCandidate(LiveRange* phi_range) {
return false;
}
-
void FlowGraphAllocator::AllocateAnyRegister(LiveRange* unallocated) {
// If a loop phi has no register uses we might still want to allocate it
// to the register to reduce amount of memory moves on the back edge.
@@ -2428,7 +2358,6 @@ void FlowGraphAllocator::AllocateAnyRegister(LiveRange* unallocated) {
AssignNonFreeRegister(unallocated, candidate);
}
-
bool FlowGraphAllocator::UpdateFreeUntil(intptr_t reg,
LiveRange* unallocated,
intptr_t* cur_free_until,
@@ -2482,7 +2411,6 @@ bool FlowGraphAllocator::UpdateFreeUntil(intptr_t reg,
return true;
}
-
void FlowGraphAllocator::RemoveEvicted(intptr_t reg, intptr_t first_evicted) {
intptr_t to = first_evicted;
intptr_t from = first_evicted + 1;
@@ -2493,7 +2421,6 @@ void FlowGraphAllocator::RemoveEvicted(intptr_t reg, intptr_t first_evicted) {
registers_[reg]->TruncateTo(to);
}
-
void FlowGraphAllocator::AssignNonFreeRegister(LiveRange* unallocated,
intptr_t reg) {
intptr_t first_evicted = -1;
@@ -2521,7 +2448,6 @@ void FlowGraphAllocator::AssignNonFreeRegister(LiveRange* unallocated,
#endif
}
-
bool FlowGraphAllocator::EvictIntersection(LiveRange* allocated,
LiveRange* unallocated) {
UseInterval* first_unallocated =
@@ -2546,7 +2472,6 @@ bool FlowGraphAllocator::EvictIntersection(LiveRange* allocated,
return true;
}
-
MoveOperands* FlowGraphAllocator::AddMoveAt(intptr_t pos,
Location to,
Location from) {
@@ -2572,7 +2497,6 @@ MoveOperands* FlowGraphAllocator::AddMoveAt(intptr_t pos,
return parallel_move->AddMove(to, from);
}
-
void FlowGraphAllocator::ConvertUseTo(UsePosition* use, Location loc) {
ASSERT(!loc.IsPairLocation());
ASSERT(use->location_slot() != NULL);
@@ -2584,7 +2508,6 @@ void FlowGraphAllocator::ConvertUseTo(UsePosition* use, Location loc) {
*slot = loc;
}
-
void FlowGraphAllocator::ConvertAllUses(LiveRange* range) {
if (range->vreg() == kNoVirtualRegister) return;
@@ -2620,7 +2543,6 @@ void FlowGraphAllocator::ConvertAllUses(LiveRange* range) {
}
}
-
void FlowGraphAllocator::AdvanceActiveIntervals(const intptr_t start) {
for (intptr_t reg = 0; reg < NumberOfRegisters(); reg++) {
if (registers_[reg]->is_empty()) continue;
@@ -2639,7 +2561,6 @@ void FlowGraphAllocator::AdvanceActiveIntervals(const intptr_t start) {
}
}
-
bool LiveRange::Contains(intptr_t pos) const {
if (!CanCover(pos)) return false;
@@ -2653,7 +2574,6 @@ bool LiveRange::Contains(intptr_t pos) const {
return false;
}
-
void FlowGraphAllocator::AssignSafepoints(Definition* defn, LiveRange* range) {
for (intptr_t i = safepoints_.length() - 1; i >= 0; i--) {
Instruction* safepoint_instr = safepoints_[i];
@@ -2673,13 +2593,11 @@ void FlowGraphAllocator::AssignSafepoints(Definition* defn, LiveRange* range) {
}
}
-
static inline bool ShouldBeAllocatedBefore(LiveRange* a, LiveRange* b) {
// TODO(vegorov): consider first hint position when ordering live ranges.
return a->Start() <= b->Start();
}
-
static void AddToSortedListOfRanges(GrowableArray<LiveRange*>* list,
LiveRange* range) {
range->finger()->Initialize(range);
@@ -2698,12 +2616,10 @@ static void AddToSortedListOfRanges(GrowableArray<LiveRange*>* list,
list->InsertAt(0, range);
}
-
void FlowGraphAllocator::AddToUnallocated(LiveRange* range) {
AddToSortedListOfRanges(&unallocated_, range);
}
-
void FlowGraphAllocator::CompleteRange(LiveRange* range, Location::Kind kind) {
switch (kind) {
case Location::kRegister:
@@ -2719,7 +2635,6 @@ void FlowGraphAllocator::CompleteRange(LiveRange* range, Location::Kind kind) {
}
}
-
#if defined(DEBUG)
bool FlowGraphAllocator::UnallocatedIsSorted() {
for (intptr_t i = unallocated_.length() - 1; i >= 1; i--) {
@@ -2734,7 +2649,6 @@ bool FlowGraphAllocator::UnallocatedIsSorted() {
}
#endif
-
void FlowGraphAllocator::PrepareForAllocation(
Location::Kind register_kind,
intptr_t number_of_registers,
@@ -2765,7 +2679,6 @@ void FlowGraphAllocator::PrepareForAllocation(
}
}
-
void FlowGraphAllocator::AllocateUnallocatedRanges() {
#if defined(DEBUG)
ASSERT(UnallocatedIsSorted());
@@ -2800,7 +2713,6 @@ void FlowGraphAllocator::AllocateUnallocatedRanges() {
TRACE_ALLOC(THR_Print("Allocation completed\n"));
}
-
bool FlowGraphAllocator::TargetLocationIsSpillSlot(LiveRange* range,
Location target) {
if (target.IsStackSlot() || target.IsDoubleStackSlot() ||
@@ -2811,7 +2723,6 @@ bool FlowGraphAllocator::TargetLocationIsSpillSlot(LiveRange* range,
return false;
}
-
void FlowGraphAllocator::ConnectSplitSiblings(LiveRange* parent,
BlockEntryInstr* source_block,
BlockEntryInstr* target_block) {
@@ -2881,7 +2792,6 @@ void FlowGraphAllocator::ConnectSplitSiblings(LiveRange* parent,
}
}
-
void FlowGraphAllocator::ResolveControlFlow() {
// Resolve linear control flow between touching split siblings
// inside basic blocks.
@@ -2937,7 +2847,6 @@ void FlowGraphAllocator::ResolveControlFlow() {
}
}
-
static Representation RepresentationForRange(Representation definition_rep) {
if (definition_rep == kUnboxedMint) {
// kUnboxedMint is split into two ranges, each of which are kUntagged.
@@ -2949,7 +2858,6 @@ static Representation RepresentationForRange(Representation definition_rep) {
return definition_rep;
}
-
void FlowGraphAllocator::CollectRepresentations() {
// Parameters.
GraphEntryInstr* graph_entry = flow_graph_.graph_entry();
@@ -3006,7 +2914,6 @@ void FlowGraphAllocator::CollectRepresentations() {
}
}
-
void FlowGraphAllocator::AllocateRegisters() {
CollectRepresentations();
@@ -3108,5 +3015,4 @@ void FlowGraphAllocator::AllocateRegisters() {
}
}
-
} // namespace dart
« no previous file with comments | « runtime/vm/flow_graph_allocator.h ('k') | runtime/vm/flow_graph_builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698