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

Unified Diff: runtime/vm/parser.h

Issue 12179020: Fix for issues 6080 - pass in the Isolate's top context into the stub for invoking dart code from n… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 10 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 | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/parser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/parser.h
===================================================================
--- runtime/vm/parser.h (revision 18232)
+++ runtime/vm/parser.h (working copy)
@@ -37,6 +37,7 @@
node_sequence_(NULL),
instantiator_(NULL),
default_parameter_values_(Array::ZoneHandle()),
+ saved_current_context_var_(NULL),
saved_entry_context_var_(NULL),
expression_temp_var_(NULL),
first_parameter_index_(0),
@@ -65,6 +66,14 @@
default_parameter_values_ = default_parameter_values.raw();
}
+ LocalVariable* saved_current_context_var() const {
+ return saved_current_context_var_;
+ }
+ void set_saved_current_context_var(LocalVariable* saved_current_context_var) {
+ ASSERT(saved_current_context_var != NULL);
+ saved_current_context_var_ = saved_current_context_var;
+ }
+
LocalVariable* saved_entry_context_var() const {
return saved_entry_context_var_;
}
@@ -102,6 +111,7 @@
SequenceNode* node_sequence_;
AstNode* instantiator_;
Array& default_parameter_values_;
+ LocalVariable* saved_current_context_var_;
LocalVariable* saved_entry_context_var_;
LocalVariable* expression_temp_var_;
@@ -584,6 +594,7 @@
const LocalVariable* GetIncrementTempLocal();
void EnsureExpressionTemp();
+ void EnsureSavedCurrentContext();
AstNode* CreateAssignmentNode(AstNode* original, AstNode* rhs);
AstNode* InsertClosureCallNodes(AstNode* condition);
@@ -633,6 +644,9 @@
// Allocate temporary only once per function.
LocalVariable* expression_temp_;
+ // Allocate saved current context only if needed.
+ LocalVariable* saved_current_context_;
+
DISALLOW_COPY_AND_ASSIGN(Parser);
};
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698