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 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 const AbstractType& dst_type, | 460 const AbstractType& dst_type, |
461 const String& dst_name); | 461 const String& dst_name); |
462 | 462 |
463 // Helpers for allocating and deallocating temporary locals on top of the | 463 // Helpers for allocating and deallocating temporary locals on top of the |
464 // expression stack. | 464 // expression stack. |
465 LocalVariable* EnterTempLocalScope(Value* value); | 465 LocalVariable* EnterTempLocalScope(Value* value); |
466 Definition* ExitTempLocalScope(LocalVariable* var); | 466 Definition* ExitTempLocalScope(LocalVariable* var); |
467 | 467 |
468 void BuildLetTempExpressions(LetNode* node); | 468 void BuildLetTempExpressions(LetNode* node); |
469 | 469 |
| 470 void BuildYieldJump(LocalVariable* old_context, |
| 471 LocalVariable* iterator_param, |
| 472 const intptr_t old_ctx_level, |
| 473 JoinEntryInstr* target); |
| 474 |
470 void BuildAwaitJump(LocalVariable* old_context, | 475 void BuildAwaitJump(LocalVariable* old_context, |
471 LocalVariable* continuation_result, | 476 LocalVariable* continuation_result, |
472 LocalVariable* continuation_error, | 477 LocalVariable* continuation_error, |
473 const intptr_t old_ctx_level, | 478 const intptr_t old_ctx_level, |
474 JoinEntryInstr* target); | 479 JoinEntryInstr* target); |
475 | 480 |
476 Isolate* isolate() const { return owner()->isolate(); } | 481 Isolate* isolate() const { return owner()->isolate(); } |
477 | 482 |
478 private: | 483 private: |
479 friend class TempLocalScope; // For ReturnDefinition. | 484 friend class TempLocalScope; // For ReturnDefinition. |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 // Output parameters. | 609 // Output parameters. |
605 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 610 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
606 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 611 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
607 | 612 |
608 intptr_t condition_token_pos_; | 613 intptr_t condition_token_pos_; |
609 }; | 614 }; |
610 | 615 |
611 } // namespace dart | 616 } // namespace dart |
612 | 617 |
613 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 618 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |