| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_FLOW_GRAPH_OPTIMIZER_H_ | 5 #ifndef VM_FLOW_GRAPH_OPTIMIZER_H_ |
| 6 #define VM_FLOW_GRAPH_OPTIMIZER_H_ | 6 #define VM_FLOW_GRAPH_OPTIMIZER_H_ |
| 7 | 7 |
| 8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" |
| 9 #include "vm/flow_graph.h" | 9 #include "vm/flow_graph.h" |
| 10 | 10 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 | 35 |
| 36 void PropagateSminess(); | 36 void PropagateSminess(); |
| 37 | 37 |
| 38 void InferSmiRanges(); | 38 void InferSmiRanges(); |
| 39 | 39 |
| 40 virtual void VisitStaticCall(StaticCallInstr* instr); | 40 virtual void VisitStaticCall(StaticCallInstr* instr); |
| 41 virtual void VisitInstanceCall(InstanceCallInstr* instr); | 41 virtual void VisitInstanceCall(InstanceCallInstr* instr); |
| 42 virtual void VisitRelationalOp(RelationalOpInstr* instr); | 42 virtual void VisitRelationalOp(RelationalOpInstr* instr); |
| 43 virtual void VisitEqualityCompare(EqualityCompareInstr* instr); | 43 virtual void VisitEqualityCompare(EqualityCompareInstr* instr); |
| 44 virtual void VisitBranch(BranchInstr* instr); | 44 virtual void VisitBranch(BranchInstr* instr); |
| 45 virtual void VisitStrictCompare(StrictCompareInstr* instr); |
| 45 | 46 |
| 46 void InsertBefore(Instruction* next, | 47 void InsertBefore(Instruction* next, |
| 47 Instruction* instr, | 48 Instruction* instr, |
| 48 Environment* env, | 49 Environment* env, |
| 49 Definition::UseKind use_kind); | 50 Definition::UseKind use_kind); |
| 50 | 51 |
| 51 private: | 52 private: |
| 52 // Attempt to build ICData for call using propagated class-ids. | 53 // Attempt to build ICData for call using propagated class-ids. |
| 53 bool TryCreateICData(InstanceCallInstr* call); | 54 bool TryCreateICData(InstanceCallInstr* call); |
| 54 | 55 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 | 229 |
| 229 // Worklists of blocks and definitions. | 230 // Worklists of blocks and definitions. |
| 230 GrowableArray<BlockEntryInstr*> block_worklist_; | 231 GrowableArray<BlockEntryInstr*> block_worklist_; |
| 231 GrowableArray<Definition*> definition_worklist_; | 232 GrowableArray<Definition*> definition_worklist_; |
| 232 }; | 233 }; |
| 233 | 234 |
| 234 | 235 |
| 235 } // namespace dart | 236 } // namespace dart |
| 236 | 237 |
| 237 #endif // VM_FLOW_GRAPH_OPTIMIZER_H_ | 238 #endif // VM_FLOW_GRAPH_OPTIMIZER_H_ |
| OLD | NEW |