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 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 const AbstractType& dst_type, | 456 const AbstractType& dst_type, |
457 const String& dst_name); | 457 const String& dst_name); |
458 | 458 |
459 // Helpers for allocating and deallocating temporary locals on top of the | 459 // Helpers for allocating and deallocating temporary locals on top of the |
460 // expression stack. | 460 // expression stack. |
461 LocalVariable* EnterTempLocalScope(Value* value); | 461 LocalVariable* EnterTempLocalScope(Value* value); |
462 Definition* ExitTempLocalScope(LocalVariable* var); | 462 Definition* ExitTempLocalScope(LocalVariable* var); |
463 | 463 |
464 void BuildLetTempExpressions(LetNode* node); | 464 void BuildLetTempExpressions(LetNode* node); |
465 | 465 |
466 void BuildAwaitJump(LocalScope* lookup_scope, | 466 void BuildAwaitJump(LocalVariable* old_context, |
| 467 LocalVariable* continuation_result, |
| 468 LocalVariable* continuation_error, |
467 const intptr_t old_ctx_level, | 469 const intptr_t old_ctx_level, |
468 JoinEntryInstr* target); | 470 JoinEntryInstr* target); |
469 | 471 |
470 Isolate* isolate() const { return owner()->isolate(); } | 472 Isolate* isolate() const { return owner()->isolate(); } |
471 | 473 |
472 private: | 474 private: |
473 friend class TempLocalScope; // For ReturnDefinition. | 475 friend class TempLocalScope; // For ReturnDefinition. |
474 | 476 |
475 // Helper to drop the result value. | 477 // Helper to drop the result value. |
476 virtual void ReturnValue(Value* value) { | 478 virtual void ReturnValue(Value* value) { |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 // Output parameters. | 600 // Output parameters. |
599 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 601 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
600 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 602 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
601 | 603 |
602 intptr_t condition_token_pos_; | 604 intptr_t condition_token_pos_; |
603 }; | 605 }; |
604 | 606 |
605 } // namespace dart | 607 } // namespace dart |
606 | 608 |
607 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 609 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |