blob: 8a5cadac9c17cc38b8c2857f8073886bdeaaf186 [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#ifndef RUNTIME_VM_BLOCK_SCHEDULER_H_
#define RUNTIME_VM_BLOCK_SCHEDULER_H_
#include "vm/allocation.h"
namespace dart {
class FlowGraph;
class BlockScheduler : public ValueObject {
public:
explicit BlockScheduler(FlowGraph* flow_graph) : flow_graph_(flow_graph) {}
FlowGraph* flow_graph() const { return flow_graph_; }
void AssignEdgeWeights() const;
void ReorderBlocks() const;
private:
FlowGraph* const flow_graph_;
};
} // namespace dart
#endif // RUNTIME_VM_BLOCK_SCHEDULER_H_