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

Unified Diff: runtime/vm/ast.h

Issue 149603003: Fix stack height assertion code and free up a bit in the Function tag bits. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 11 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/vm/flow_graph_builder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/ast.h
===================================================================
--- runtime/vm/ast.h (revision 32017)
+++ runtime/vm/ast.h (working copy)
@@ -509,11 +509,15 @@
explicit ReturnNode(intptr_t token_pos)
: AstNode(token_pos),
value_(new LiteralNode(token_pos, Instance::ZoneHandle())),
- inlined_finally_list_() { }
+ inlined_finally_list_(),
+ saved_return_value_var_(NULL) { }
// Return from a non-void function.
ReturnNode(intptr_t token_pos,
AstNode* value)
- : AstNode(token_pos), value_(value), inlined_finally_list_() {
+ : AstNode(token_pos),
+ value_(value),
+ inlined_finally_list_(),
+ saved_return_value_var_(NULL) {
ASSERT(value_ != NULL);
}
@@ -529,6 +533,13 @@
inlined_finally_list_.Add(finally_node);
}
+ LocalVariable* saved_return_value_var() const {
+ return saved_return_value_var_;
+ }
+ void set_saved_return_value_var(LocalVariable* var) {
+ saved_return_value_var_ = var;
+ }
+
virtual void VisitChildren(AstNodeVisitor* visitor) const {
if (value() != NULL) {
value()->Visit(visitor);
@@ -540,6 +551,7 @@
private:
AstNode* value_;
GrowableArray<InlinedFinallyNode*> inlined_finally_list_;
+ LocalVariable* saved_return_value_var_;
DISALLOW_COPY_AND_ASSIGN(ReturnNode);
};
@@ -1007,6 +1019,7 @@
Token::Kind kind_;
SourceLabel* label_;
GrowableArray<InlinedFinallyNode*> inlined_finally_list_;
+
DISALLOW_IMPLICIT_CONSTRUCTORS(JumpNode);
};
« no previous file with comments | « no previous file | runtime/vm/flow_graph_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698