| Index: runtime/vm/flow_graph_optimizer.h
|
| diff --git a/runtime/vm/flow_graph_optimizer.h b/runtime/vm/flow_graph_optimizer.h
|
| index 5a13707787f21dcc179eabc04b38adf30b5601b6..83515bc50105d19292b921e70f2119e2c59e790e 100644
|
| --- a/runtime/vm/flow_graph_optimizer.h
|
| +++ b/runtime/vm/flow_graph_optimizer.h
|
| @@ -162,19 +162,25 @@ class ParsedFunction;
|
|
|
|
|
| // Loop invariant code motion.
|
| -class LICM : public AllStatic {
|
| +class LICM : public ValueObject {
|
| public:
|
| - static void Optimize(FlowGraph* flow_graph);
|
| + explicit LICM(FlowGraph* flow_graph);
|
| +
|
| + void Optimize();
|
|
|
| private:
|
| - static void Hoist(ForwardInstructionIterator* it,
|
| - BlockEntryInstr* pre_header,
|
| - Instruction* current);
|
| -
|
| - static void TryHoistCheckSmiThroughPhi(ForwardInstructionIterator* it,
|
| - BlockEntryInstr* header,
|
| - BlockEntryInstr* pre_header,
|
| - CheckSmiInstr* current);
|
| + FlowGraph* flow_graph() const { return flow_graph_; }
|
| +
|
| + void Hoist(ForwardInstructionIterator* it,
|
| + BlockEntryInstr* pre_header,
|
| + Instruction* current);
|
| +
|
| + void TryHoistCheckSmiThroughPhi(ForwardInstructionIterator* it,
|
| + BlockEntryInstr* header,
|
| + BlockEntryInstr* pre_header,
|
| + CheckSmiInstr* current);
|
| +
|
| + FlowGraph* const flow_graph_;
|
| };
|
|
|
|
|
|
|