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

Unified Diff: runtime/vm/ast.h

Issue 10832126: Store pointer instead of reference to LocalVariable in ast and flow graph. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 5 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/ast.cc » ('j') | runtime/vm/object.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/ast.h
===================================================================
--- runtime/vm/ast.h (revision 10207)
+++ runtime/vm/ast.h (working copy)
@@ -99,7 +99,7 @@
id_(GetNextId()),
ic_data_(ICData::ZoneHandle()),
info_(NULL) {
- ASSERT(token_pos >= 0);
+ ASSERT(token_pos_ >= 0);
}
intptr_t token_pos() const { return token_pos_; }
@@ -469,7 +469,7 @@
ReturnNode(intptr_t token_pos,
AstNode* value)
: AstNode(token_pos), value_(value), inlined_finally_list_() {
- ASSERT(value != NULL);
+ ASSERT(value_ != NULL);
}
AstNode* value() const { return value_; }
@@ -928,20 +928,20 @@
class LoadLocalNode : public AstNode {
public:
- LoadLocalNode(intptr_t token_pos, const LocalVariable& local)
+ LoadLocalNode(intptr_t token_pos, const LocalVariable* local)
: AstNode(token_pos), local_(local), pseudo_(NULL) {
- ASSERT(&local_ != NULL);
+ ASSERT(local_ != NULL);
Ivan Posva 2012/08/03 20:10:26 local_ = *local;
regis 2012/08/06 22:31:49 This is actually not possible, because of DISALLOW
}
// The pseudo node does not produce input but must be visited before
// completing local load.
LoadLocalNode(intptr_t token_pos,
- const LocalVariable& local,
+ const LocalVariable* local,
AstNode* pseudo)
: AstNode(token_pos), local_(local), pseudo_(pseudo) {
- ASSERT(&local_ != NULL);
+ ASSERT(local_ != NULL);
}
- const LocalVariable& local() const { return local_; }
+ const LocalVariable* local() const { return local_; }
Ivan Posva 2012/08/03 20:10:26 Then this change is not needed, which is causing y
regis 2012/08/06 22:31:49 Done.
AstNode* pseudo() const { return pseudo_; } // Can be NULL.
bool HasPseudo() const { return pseudo_ != NULL; }
@@ -956,7 +956,7 @@
DECLARE_COMMON_NODE_FUNCTIONS(LoadLocalNode);
private:
- const LocalVariable& local_;
+ const LocalVariable* local_;
Ivan Posva 2012/08/03 20:10:26 ditto.
regis 2012/08/06 22:31:49 Done.
AstNode* pseudo_;
DISALLOW_IMPLICIT_CONSTRUCTORS(LoadLocalNode);
@@ -966,14 +966,14 @@
class StoreLocalNode : public AstNode {
public:
StoreLocalNode(intptr_t token_pos,
- const LocalVariable& local,
+ const LocalVariable* local,
AstNode* value)
: AstNode(token_pos), local_(local), value_(value) {
- ASSERT(&local_ != NULL);
+ ASSERT(local_ != NULL);
ASSERT(value_ != NULL);
}
- const LocalVariable& local() const { return local_; }
+ const LocalVariable* local() const { return local_; }
AstNode* value() const { return value_; }
virtual void VisitChildren(AstNodeVisitor* visitor) const {
@@ -983,7 +983,7 @@
DECLARE_COMMON_NODE_FUNCTIONS(StoreLocalNode);
private:
- const LocalVariable& local_;
+ const LocalVariable* local_;
AstNode* value_;
DISALLOW_IMPLICIT_CONSTRUCTORS(StoreLocalNode);
@@ -1109,8 +1109,8 @@
public:
LoadIndexedNode(intptr_t token_pos, AstNode* array, AstNode* index)
: AstNode(token_pos), array_(array), index_expr_(index) {
- ASSERT(array != NULL);
- ASSERT(index != NULL);
+ ASSERT(array_ != NULL);
+ ASSERT(index_expr_ != NULL);
}
AstNode* array() const { return array_; }
@@ -1137,9 +1137,9 @@
StoreIndexedNode(intptr_t token_pos,
AstNode* array, AstNode* index, AstNode* value)
: AstNode(token_pos), array_(array), index_expr_(index), value_(value) {
- ASSERT(array != NULL);
- ASSERT(index != NULL);
- ASSERT(value != NULL);
+ ASSERT(array_ != NULL);
+ ASSERT(index_expr_ != NULL);
+ ASSERT(value_ != NULL);
}
AstNode* array() const { return array_; }
@@ -1317,7 +1317,7 @@
value_(value) {
ASSERT(cls_.IsZoneHandle());
ASSERT(field_name_.IsZoneHandle());
- ASSERT(value != NULL);
+ ASSERT(value_ != NULL);
}
const Class& cls() const { return cls_; }
@@ -1433,7 +1433,7 @@
const AbstractTypeArguments& type_arguments,
const Function& constructor,
ArgumentListNode* arguments,
- const LocalVariable& allocated_object_var)
+ const LocalVariable* allocated_object_var)
: AstNode(token_pos),
type_arguments_(type_arguments),
constructor_(constructor),
@@ -1442,6 +1442,7 @@
ASSERT(type_arguments_.IsZoneHandle());
ASSERT(constructor_.IsZoneHandle());
ASSERT(arguments_ != NULL);
+ ASSERT(allocated_object_var_ != NULL);
}
const AbstractTypeArguments& type_arguments() const {
@@ -1449,7 +1450,7 @@
}
const Function& constructor() const { return constructor_; }
ArgumentListNode* arguments() const { return arguments_; }
- const LocalVariable& allocated_object_var() const {
+ const LocalVariable* allocated_object_var() const {
return allocated_object_var_;
}
@@ -1463,7 +1464,7 @@
const AbstractTypeArguments& type_arguments_;
const Function& constructor_;
ArgumentListNode* arguments_;
- const LocalVariable& allocated_object_var_;
+ const LocalVariable* allocated_object_var_;
DISALLOW_IMPLICIT_CONSTRUCTORS(ConstructorCallNode);
};
@@ -1522,16 +1523,19 @@
CatchClauseNode(intptr_t token_pos,
SequenceNode* catch_block,
- const LocalVariable& context_var,
- const LocalVariable& exception_var,
- const LocalVariable& stacktrace_var)
+ const LocalVariable* context_var,
+ const LocalVariable* exception_var,
+ const LocalVariable* stacktrace_var)
: AstNode(token_pos),
try_index_(kInvalidTryIndex),
catch_block_(catch_block),
context_var_(context_var),
exception_var_(exception_var),
stacktrace_var_(stacktrace_var) {
- ASSERT(catch_block != NULL);
+ ASSERT(catch_block_ != NULL);
+ ASSERT(context_var_ != NULL);
+ ASSERT(exception_var_ != NULL);
+ ASSERT(stacktrace_var_ != NULL);
}
int try_index() const {
@@ -1540,9 +1544,9 @@
}
void set_try_index(int value) { try_index_ = value; }
- const LocalVariable& context_var() const { return context_var_; }
- const LocalVariable& exception_var() const { return exception_var_; }
- const LocalVariable& stacktrace_var() const { return stacktrace_var_; }
+ const LocalVariable* context_var() const { return context_var_; }
+ const LocalVariable* exception_var() const { return exception_var_; }
+ const LocalVariable* stacktrace_var() const { return stacktrace_var_; }
virtual void VisitChildren(AstNodeVisitor* visitor) const {
catch_block_->Visit(visitor);
@@ -1553,9 +1557,9 @@
private:
int try_index_; // Running index of the try blocks seen in a function.
SequenceNode* catch_block_;
- const LocalVariable& context_var_;
- const LocalVariable& exception_var_;
- const LocalVariable& stacktrace_var_;
+ const LocalVariable* context_var_;
+ const LocalVariable* exception_var_;
+ const LocalVariable* stacktrace_var_;
DISALLOW_COPY_AND_ASSIGN(CatchClauseNode);
};
@@ -1566,7 +1570,7 @@
TryCatchNode(intptr_t token_pos,
SequenceNode* try_block,
SourceLabel* end_catch_label,
- const LocalVariable& context_var,
+ const LocalVariable* context_var,
CatchClauseNode* catch_block,
SequenceNode* finally_block)
: AstNode(token_pos),
@@ -1575,16 +1579,17 @@
context_var_(context_var),
catch_block_(catch_block),
finally_block_(finally_block) {
- ASSERT(try_block != NULL);
- ASSERT(catch_block != NULL || finally_block != NULL);
- ASSERT(end_catch_label != NULL);
+ ASSERT(try_block_ != NULL);
+ ASSERT(context_var_ != NULL);
+ ASSERT(catch_block_ != NULL || finally_block_ != NULL);
+ ASSERT(end_catch_label_ != NULL);
}
SequenceNode* try_block() const { return try_block_; }
SourceLabel* end_catch_label() const { return end_catch_label_; }
CatchClauseNode* catch_block() const { return catch_block_; }
SequenceNode* finally_block() const { return finally_block_; }
- const LocalVariable& context_var() const { return context_var_; }
+ const LocalVariable* context_var() const { return context_var_; }
virtual void VisitChildren(AstNodeVisitor* visitor) const {
try_block_->Visit(visitor);
@@ -1601,7 +1606,7 @@
private:
SequenceNode* try_block_;
SourceLabel* end_catch_label_;
- const LocalVariable& context_var_;
+ const LocalVariable* context_var_;
CatchClauseNode* catch_block_;
SequenceNode* finally_block_;
@@ -1613,7 +1618,7 @@
public:
ThrowNode(intptr_t token_pos, AstNode* exception, AstNode* stacktrace)
: AstNode(token_pos), exception_(exception), stacktrace_(stacktrace) {
- ASSERT(exception != NULL);
+ ASSERT(exception_ != NULL);
}
AstNode* exception() const { return exception_; }
@@ -1639,24 +1644,26 @@
public:
InlinedFinallyNode(intptr_t token_pos,
AstNode* finally_block,
- const LocalVariable& context_var)
+ const LocalVariable* context_var)
: AstNode(token_pos),
finally_block_(finally_block),
context_var_(context_var) {
- ASSERT(finally_block != NULL);
+ ASSERT(finally_block_ != NULL);
+ ASSERT(context_var_ != NULL);
}
AstNode* finally_block() const { return finally_block_; }
- const LocalVariable& context_var() const { return context_var_; }
+ const LocalVariable* context_var() const { return context_var_; }
virtual void VisitChildren(AstNodeVisitor* visitor) const {
finally_block()->Visit(visitor);
}
DECLARE_COMMON_NODE_FUNCTIONS(InlinedFinallyNode);
+
Ivan Posva 2012/08/03 20:10:26 Why here, but not on line 1634?
regis 2012/08/06 22:31:49 Added new line after 1634.
private:
AstNode* finally_block_;
- const LocalVariable& context_var_;
+ const LocalVariable* context_var_;
DISALLOW_IMPLICIT_CONSTRUCTORS(InlinedFinallyNode);
};
« no previous file with comments | « no previous file | runtime/vm/ast.cc » ('j') | runtime/vm/object.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698