| 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 2354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2365 if (propagated_type.IsNull()) { | 2365 if (propagated_type.IsNull()) { |
| 2366 // Not a typed definition, e.g. access to a VM field. | 2366 // Not a typed definition, e.g. access to a VM field. |
| 2367 return false; | 2367 return false; |
| 2368 } | 2368 } |
| 2369 const bool changed = | 2369 const bool changed = |
| 2370 propagated_type_.IsNull() || !propagated_type.Equals(propagated_type_); | 2370 propagated_type_.IsNull() || !propagated_type.Equals(propagated_type_); |
| 2371 propagated_type_ = propagated_type.raw(); | 2371 propagated_type_ = propagated_type.raw(); |
| 2372 return changed; | 2372 return changed; |
| 2373 } | 2373 } |
| 2374 | 2374 |
| 2375 virtual Instruction* RemoveFromGraph(bool return_previous = true); |
| 2376 |
| 2375 UseVal* use_list() { return use_list_; } | 2377 UseVal* use_list() { return use_list_; } |
| 2376 void set_use_list(UseVal* head) { | 2378 void set_use_list(UseVal* head) { |
| 2377 ASSERT(head == NULL || head->previous_use() == NULL); | 2379 ASSERT(head == NULL || head->previous_use() == NULL); |
| 2378 use_list_ = head; | 2380 use_list_ = head; |
| 2379 } | 2381 } |
| 2380 | 2382 |
| 2381 private: | 2383 private: |
| 2382 intptr_t temp_index_; | 2384 intptr_t temp_index_; |
| 2383 intptr_t ssa_temp_index_; | 2385 intptr_t ssa_temp_index_; |
| 2384 // TODO(regis): GrowableArray<const AbstractType*> propagated_types_; | 2386 // TODO(regis): GrowableArray<const AbstractType*> propagated_types_; |
| (...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2882 const GrowableArray<BlockEntryInstr*>& block_order_; | 2884 const GrowableArray<BlockEntryInstr*>& block_order_; |
| 2883 | 2885 |
| 2884 private: | 2886 private: |
| 2885 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 2887 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 2886 }; | 2888 }; |
| 2887 | 2889 |
| 2888 | 2890 |
| 2889 } // namespace dart | 2891 } // namespace dart |
| 2890 | 2892 |
| 2891 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 2893 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |