| 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_FLOW_GRAPH_BUILDER_H_ | 5 #ifndef VM_FLOW_GRAPH_BUILDER_H_ |
| 6 #define VM_FLOW_GRAPH_BUILDER_H_ | 6 #define VM_FLOW_GRAPH_BUILDER_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
| 10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 // actually added to the graph. | 338 // actually added to the graph. |
| 339 void AddReturnExit(intptr_t token_pos, Value* value); | 339 void AddReturnExit(intptr_t token_pos, Value* value); |
| 340 | 340 |
| 341 protected: | 341 protected: |
| 342 Definition* BuildStoreTemp(const LocalVariable& local, Value* value); | 342 Definition* BuildStoreTemp(const LocalVariable& local, Value* value); |
| 343 Definition* BuildStoreExprTemp(Value* value); | 343 Definition* BuildStoreExprTemp(Value* value); |
| 344 Definition* BuildLoadExprTemp(); | 344 Definition* BuildLoadExprTemp(); |
| 345 | 345 |
| 346 Definition* BuildStoreLocal(const LocalVariable& local, Value* value); | 346 Definition* BuildStoreLocal(const LocalVariable& local, Value* value); |
| 347 Definition* BuildLoadLocal(const LocalVariable& local); | 347 Definition* BuildLoadLocal(const LocalVariable& local); |
| 348 LoadLocalInstr* BuildLoadThisVar(LocalScope* scope); |
| 348 | 349 |
| 349 // Helpers for translating parts of the AST. | 350 // Helpers for translating parts of the AST. |
| 350 void BuildPushArguments(const ArgumentListNode& node, | 351 void BuildPushArguments(const ArgumentListNode& node, |
| 351 ZoneGrowableArray<PushArgumentInstr*>* values); | 352 ZoneGrowableArray<PushArgumentInstr*>* values); |
| 352 | 353 |
| 353 // Creates an instantiated type argument vector used in preparation of an | 354 // Creates an instantiated type argument vector used in preparation of an |
| 354 // allocation call. | 355 // allocation call. |
| 355 // May be called only if allocating an object of a parameterized class. | 356 // May be called only if allocating an object of a parameterized class. |
| 356 Value* BuildInstantiatedTypeArguments( | 357 Value* BuildInstantiatedTypeArguments( |
| 357 intptr_t token_pos, | 358 intptr_t token_pos, |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 // Output parameters. | 588 // Output parameters. |
| 588 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 589 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
| 589 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 590 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
| 590 | 591 |
| 591 intptr_t condition_token_pos_; | 592 intptr_t condition_token_pos_; |
| 592 }; | 593 }; |
| 593 | 594 |
| 594 } // namespace dart | 595 } // namespace dart |
| 595 | 596 |
| 596 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 597 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
| OLD | NEW |