| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 1658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1669 | 1669 |
| 1670 virtual intptr_t ArgumentCount() const; | 1670 virtual intptr_t ArgumentCount() const; |
| 1671 intptr_t InputCount() const; | 1671 intptr_t InputCount() const; |
| 1672 Value* InputAt(intptr_t i) const; | 1672 Value* InputAt(intptr_t i) const; |
| 1673 void SetInputAt(intptr_t i, Value* value); | 1673 void SetInputAt(intptr_t i, Value* value); |
| 1674 virtual bool CanDeoptimize() const; | 1674 virtual bool CanDeoptimize() const; |
| 1675 | 1675 |
| 1676 virtual bool HasSideEffect() const; | 1676 virtual bool HasSideEffect() const; |
| 1677 | 1677 |
| 1678 ComparisonInstr* comparison() const { return comparison_; } | 1678 ComparisonInstr* comparison() const { return comparison_; } |
| 1679 void set_comparison(ComparisonInstr* value) { comparison_ = value; } | 1679 void SetComparison(ComparisonInstr* comp); |
| 1680 | 1680 |
| 1681 bool is_checked() const { return is_checked_; } | 1681 bool is_checked() const { return is_checked_; } |
| 1682 | 1682 |
| 1683 virtual LocationSummary* locs(); | 1683 virtual LocationSummary* locs(); |
| 1684 virtual intptr_t DeoptimizationTarget() const; | 1684 virtual intptr_t DeoptimizationTarget() const; |
| 1685 virtual Representation RequiredInputRepresentation(intptr_t i) const; | 1685 virtual Representation RequiredInputRepresentation(intptr_t i) const; |
| 1686 | 1686 |
| 1687 // Replace the comparison with another, leaving the branch intact. | 1687 // A misleadingly named function for use in template functions that also |
| 1688 // replace definitions. In this case, leave the branch intact and replace |
| 1689 // its comparison with another comparison that has been removed from the |
| 1690 // graph but still has uses properly linked into their definition's use |
| 1691 // list. |
| 1688 void ReplaceWith(ComparisonInstr* other, | 1692 void ReplaceWith(ComparisonInstr* other, |
| 1689 ForwardInstructionIterator* ignored) { | 1693 ForwardInstructionIterator* ignored); |
| 1690 comparison_ = other; | |
| 1691 } | |
| 1692 | 1694 |
| 1693 virtual Instruction* Canonicalize(FlowGraphOptimizer* optimizer); | 1695 virtual Instruction* Canonicalize(FlowGraphOptimizer* optimizer); |
| 1694 | 1696 |
| 1695 virtual void PrintTo(BufferFormatter* f) const; | 1697 virtual void PrintTo(BufferFormatter* f) const; |
| 1696 | 1698 |
| 1697 private: | 1699 private: |
| 1698 ComparisonInstr* comparison_; | 1700 ComparisonInstr* comparison_; |
| 1699 const bool is_checked_; | 1701 const bool is_checked_; |
| 1700 | 1702 |
| 1701 DISALLOW_COPY_AND_ASSIGN(BranchInstr); | 1703 DISALLOW_COPY_AND_ASSIGN(BranchInstr); |
| (...skipping 2784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4486 ForwardInstructionIterator* current_iterator_; | 4488 ForwardInstructionIterator* current_iterator_; |
| 4487 | 4489 |
| 4488 private: | 4490 private: |
| 4489 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 4491 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 4490 }; | 4492 }; |
| 4491 | 4493 |
| 4492 | 4494 |
| 4493 } // namespace dart | 4495 } // namespace dart |
| 4494 | 4496 |
| 4495 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 4497 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |