Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(612)

Side by Side Diff: runtime/vm/parser.h

Issue 678763004: Make CTX allocatable by the register allocator. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_PARSER_H_ 5 #ifndef VM_PARSER_H_
6 #define VM_PARSER_H_ 6 #define VM_PARSER_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 9
10 #include "platform/assert.h" 10 #include "platform/assert.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 } 118 }
119 void set_finally_return_temp_var(LocalVariable* value) { 119 void set_finally_return_temp_var(LocalVariable* value) {
120 ASSERT(!has_finally_return_temp_var()); 120 ASSERT(!has_finally_return_temp_var());
121 finally_return_temp_var_ = value; 121 finally_return_temp_var_ = value;
122 } 122 }
123 bool has_finally_return_temp_var() const { 123 bool has_finally_return_temp_var() const {
124 return finally_return_temp_var_ != NULL; 124 return finally_return_temp_var_ != NULL;
125 } 125 }
126 void EnsureFinallyReturnTemp(); 126 void EnsureFinallyReturnTemp();
127 127
128 static LocalVariable* CreateExpressionTempVar(intptr_t token_pos);
129 LocalVariable* EnsureExpressionTemp(); 128 LocalVariable* EnsureExpressionTemp();
129 LocalVariable* EnsureSavedCurrentContext();
130 130
131 bool HasDeferredPrefixes() const { return deferred_prefixes_->length() != 0; } 131 bool HasDeferredPrefixes() const { return deferred_prefixes_->length() != 0; }
132 ZoneGrowableArray<const LibraryPrefix*>* deferred_prefixes() const { 132 ZoneGrowableArray<const LibraryPrefix*>* deferred_prefixes() const {
133 return deferred_prefixes_; 133 return deferred_prefixes_;
134 } 134 }
135 void AddDeferredPrefix(const LibraryPrefix& prefix); 135 void AddDeferredPrefix(const LibraryPrefix& prefix);
136 136
137 int first_parameter_index() const { return first_parameter_index_; } 137 int first_parameter_index() const { return first_parameter_index_; }
138 int first_stack_local_index() const { return first_stack_local_index_; } 138 int first_stack_local_index() const { return first_stack_local_index_; }
139 int num_copied_params() const { return num_copied_params_; } 139 int num_copied_params() const { return num_copied_params_; }
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 const Function* func); 726 const Function* func);
727 727
728 void SetupSavedTryContext(LocalVariable* saved_try_context); 728 void SetupSavedTryContext(LocalVariable* saved_try_context);
729 void RestoreSavedTryContext(LocalScope* saved_try_context_scope, 729 void RestoreSavedTryContext(LocalScope* saved_try_context_scope,
730 int16_t try_index, 730 int16_t try_index,
731 SequenceNode* target); 731 SequenceNode* target);
732 732
733 void CheckOperatorArity(const MemberDesc& member); 733 void CheckOperatorArity(const MemberDesc& member);
734 734
735 void EnsureExpressionTemp(); 735 void EnsureExpressionTemp();
736 void EnsureContextVar();
736 void EnsureSavedCurrentContext(); 737 void EnsureSavedCurrentContext();
737 bool IsLegalAssignableSyntax(AstNode* expr, intptr_t end_pos); 738 bool IsLegalAssignableSyntax(AstNode* expr, intptr_t end_pos);
738 AstNode* CreateAssignmentNode(AstNode* original, 739 AstNode* CreateAssignmentNode(AstNode* original,
739 AstNode* rhs, 740 AstNode* rhs,
740 const String* left_ident, 741 const String* left_ident,
741 intptr_t left_pos); 742 intptr_t left_pos);
742 AstNode* InsertClosureCallNodes(AstNode* condition); 743 AstNode* InsertClosureCallNodes(AstNode* condition);
743 744
744 ConstructorCallNode* CreateConstructorCallNode( 745 ConstructorCallNode* CreateConstructorCallNode(
745 intptr_t token_pos, 746 intptr_t token_pos,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 bool unregister_pending_function_; 814 bool unregister_pending_function_;
814 815
815 LocalScope* async_temp_scope_; 816 LocalScope* async_temp_scope_;
816 817
817 DISALLOW_COPY_AND_ASSIGN(Parser); 818 DISALLOW_COPY_AND_ASSIGN(Parser);
818 }; 819 };
819 820
820 } // namespace dart 821 } // namespace dart
821 822
822 #endif // VM_PARSER_H_ 823 #endif // VM_PARSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698