| 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_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 1499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1510 if (locs_ == NULL) { | 1510 if (locs_ == NULL) { |
| 1511 locs_ = MakeLocationSummary(); | 1511 locs_ = MakeLocationSummary(); |
| 1512 } | 1512 } |
| 1513 return locs_; | 1513 return locs_; |
| 1514 } | 1514 } |
| 1515 | 1515 |
| 1516 virtual LocationSummary* MakeLocationSummary() const = 0; | 1516 virtual LocationSummary* MakeLocationSummary() const = 0; |
| 1517 | 1517 |
| 1518 private: | 1518 private: |
| 1519 LocationSummary* locs_; | 1519 LocationSummary* locs_; |
| 1520 DISALLOW_COPY_AND_ASSIGN(InstructionWithInputs); |
| 1520 }; | 1521 }; |
| 1521 | 1522 |
| 1522 | 1523 |
| 1523 // Basic block entries are administrative nodes. There is a distinguished | 1524 // Basic block entries are administrative nodes. There is a distinguished |
| 1524 // graph entry with no predecessor. Joins are the only nodes with multiple | 1525 // graph entry with no predecessor. Joins are the only nodes with multiple |
| 1525 // predecessors. Targets are all other basic block entries. The types | 1526 // predecessors. Targets are all other basic block entries. The types |
| 1526 // enforce edge-split form---joins are forbidden as the successors of | 1527 // enforce edge-split form---joins are forbidden as the successors of |
| 1527 // branches. | 1528 // branches. |
| 1528 class BlockEntryInstr : public Instruction { | 1529 class BlockEntryInstr : public Instruction { |
| 1529 public: | 1530 public: |
| (...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1982 const GrowableArray<BlockEntryInstr*>& block_order_; | 1983 const GrowableArray<BlockEntryInstr*>& block_order_; |
| 1983 | 1984 |
| 1984 private: | 1985 private: |
| 1985 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 1986 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 1986 }; | 1987 }; |
| 1987 | 1988 |
| 1988 | 1989 |
| 1989 } // namespace dart | 1990 } // namespace dart |
| 1990 | 1991 |
| 1991 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 1992 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |