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 2133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2144 | 2144 |
2145 ComparisonInstr* comparison() const { return comparison_; } | 2145 ComparisonInstr* comparison() const { return comparison_; } |
2146 void SetComparison(ComparisonInstr* comp); | 2146 void SetComparison(ComparisonInstr* comp); |
2147 | 2147 |
2148 bool is_checked() const { return is_checked_; } | 2148 bool is_checked() const { return is_checked_; } |
2149 | 2149 |
2150 virtual LocationSummary* locs(); | 2150 virtual LocationSummary* locs(); |
2151 virtual intptr_t DeoptimizationTarget() const; | 2151 virtual intptr_t DeoptimizationTarget() const; |
2152 virtual Representation RequiredInputRepresentation(intptr_t i) const; | 2152 virtual Representation RequiredInputRepresentation(intptr_t i) const; |
2153 | 2153 |
2154 // A misleadingly named function for use in template functions that also | |
2155 // replace definitions. In this case, leave the branch intact and replace | |
2156 // its comparison with another comparison that has been removed from the | |
2157 // graph but still has uses properly linked into their definition's use | |
2158 // list. | |
2159 void ReplaceWith(ComparisonInstr* other, | |
2160 ForwardInstructionIterator* ignored); | |
2161 | |
2162 virtual Instruction* Canonicalize(FlowGraph* flow_graph); | 2154 virtual Instruction* Canonicalize(FlowGraph* flow_graph); |
2163 | 2155 |
2164 virtual void PrintTo(BufferFormatter* f) const; | 2156 virtual void PrintTo(BufferFormatter* f) const; |
2165 | 2157 |
2166 // Set compile type constrained by the comparison of this branch. | 2158 // Set compile type constrained by the comparison of this branch. |
2167 // FlowGraphPropagator propagates it downwards into either true or false | 2159 // FlowGraphPropagator propagates it downwards into either true or false |
2168 // successor. | 2160 // successor. |
2169 void set_constrained_type(ConstrainedCompileType* type) { | 2161 void set_constrained_type(ConstrainedCompileType* type) { |
2170 constrained_type_ = type; | 2162 constrained_type_ = type; |
2171 } | 2163 } |
(...skipping 4759 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6931 ForwardInstructionIterator* current_iterator_; | 6923 ForwardInstructionIterator* current_iterator_; |
6932 | 6924 |
6933 private: | 6925 private: |
6934 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 6926 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
6935 }; | 6927 }; |
6936 | 6928 |
6937 | 6929 |
6938 } // namespace dart | 6930 } // namespace dart |
6939 | 6931 |
6940 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 6932 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |