| 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_FLOW_GRAPH_H_ | 5 #ifndef VM_FLOW_GRAPH_H_ |
| 6 #define VM_FLOW_GRAPH_H_ | 6 #define VM_FLOW_GRAPH_H_ |
| 7 | 7 |
| 8 #include "vm/bit_vector.h" | 8 #include "vm/bit_vector.h" |
| 9 #include "vm/growable_array.h" | 9 #include "vm/growable_array.h" |
| 10 #include "vm/hash_map.h" | 10 #include "vm/hash_map.h" |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 ZoneGrowableArray<BitVector*>* loop_invariant_loads() const { | 270 ZoneGrowableArray<BitVector*>* loop_invariant_loads() const { |
| 271 return loop_invariant_loads_; | 271 return loop_invariant_loads_; |
| 272 } | 272 } |
| 273 void set_loop_invariant_loads( | 273 void set_loop_invariant_loads( |
| 274 ZoneGrowableArray<BitVector*>* loop_invariant_loads) { | 274 ZoneGrowableArray<BitVector*>* loop_invariant_loads) { |
| 275 loop_invariant_loads_ = loop_invariant_loads; | 275 loop_invariant_loads_ = loop_invariant_loads; |
| 276 } | 276 } |
| 277 | 277 |
| 278 bool IsCompiledForOsr() const { return graph_entry()->IsCompiledForOsr(); } | 278 bool IsCompiledForOsr() const { return graph_entry()->IsCompiledForOsr(); } |
| 279 | 279 |
| 280 static void AddToGuardedFields(ZoneGrowableArray<const Field*>* array, | |
| 281 const Field* field); | |
| 282 void AddToDeferredPrefixes(ZoneGrowableArray<const LibraryPrefix*>* from); | 280 void AddToDeferredPrefixes(ZoneGrowableArray<const LibraryPrefix*>* from); |
| 283 | 281 |
| 284 ZoneGrowableArray<const Field*>* guarded_fields() const { | |
| 285 return guarded_fields_; | |
| 286 } | |
| 287 | |
| 288 ZoneGrowableArray<const LibraryPrefix*>* deferred_prefixes() const { | 282 ZoneGrowableArray<const LibraryPrefix*>* deferred_prefixes() const { |
| 289 return deferred_prefixes_; | 283 return deferred_prefixes_; |
| 290 } | 284 } |
| 291 | 285 |
| 292 BitVector* captured_parameters() const { | 286 BitVector* captured_parameters() const { |
| 293 return captured_parameters_; | 287 return captured_parameters_; |
| 294 } | 288 } |
| 295 | 289 |
| 296 intptr_t inlining_id() const { return inlining_id_; } | 290 intptr_t inlining_id() const { return inlining_id_; } |
| 297 void set_inlining_id(intptr_t value) { inlining_id_ = value; } | 291 void set_inlining_id(intptr_t value) { inlining_id_ = value; } |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 GrowableArray<BlockEntryInstr*> optimized_block_order_; | 373 GrowableArray<BlockEntryInstr*> optimized_block_order_; |
| 380 ConstantInstr* constant_null_; | 374 ConstantInstr* constant_null_; |
| 381 ConstantInstr* constant_dead_; | 375 ConstantInstr* constant_dead_; |
| 382 ConstantInstr* constant_empty_context_; | 376 ConstantInstr* constant_empty_context_; |
| 383 | 377 |
| 384 BlockEffects* block_effects_; | 378 BlockEffects* block_effects_; |
| 385 bool licm_allowed_; | 379 bool licm_allowed_; |
| 386 | 380 |
| 387 ZoneGrowableArray<BlockEntryInstr*>* loop_headers_; | 381 ZoneGrowableArray<BlockEntryInstr*>* loop_headers_; |
| 388 ZoneGrowableArray<BitVector*>* loop_invariant_loads_; | 382 ZoneGrowableArray<BitVector*>* loop_invariant_loads_; |
| 389 ZoneGrowableArray<const Field*>* guarded_fields_; | |
| 390 ZoneGrowableArray<const LibraryPrefix*>* deferred_prefixes_; | 383 ZoneGrowableArray<const LibraryPrefix*>* deferred_prefixes_; |
| 391 DirectChainedHashMap<ConstantPoolTrait> constant_instr_pool_; | 384 DirectChainedHashMap<ConstantPoolTrait> constant_instr_pool_; |
| 392 BitVector* captured_parameters_; | 385 BitVector* captured_parameters_; |
| 393 | 386 |
| 394 intptr_t inlining_id_; | 387 intptr_t inlining_id_; |
| 395 }; | 388 }; |
| 396 | 389 |
| 397 | 390 |
| 398 class LivenessAnalysis : public ValueObject { | 391 class LivenessAnalysis : public ValueObject { |
| 399 public: | 392 public: |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 | 533 |
| 541 private: | 534 private: |
| 542 GrowableArray<Definition*> defs_; | 535 GrowableArray<Definition*> defs_; |
| 543 BitVector* contains_vector_; | 536 BitVector* contains_vector_; |
| 544 }; | 537 }; |
| 545 | 538 |
| 546 | 539 |
| 547 } // namespace dart | 540 } // namespace dart |
| 548 | 541 |
| 549 #endif // VM_FLOW_GRAPH_H_ | 542 #endif // VM_FLOW_GRAPH_H_ |
| OLD | NEW |