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

Unified Diff: runtime/vm/intermediate_language.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
Index: runtime/vm/intermediate_language.h
===================================================================
--- runtime/vm/intermediate_language.h (revision 10207)
+++ runtime/vm/intermediate_language.h (working copy)
@@ -759,13 +759,15 @@
class LoadLocalComp : public TemplateComputation<0> {
public:
- LoadLocalComp(const LocalVariable& local, intptr_t context_level)
+ LoadLocalComp(const LocalVariable* local, intptr_t context_level)
: local_(local),
- context_level_(context_level) { }
+ context_level_(context_level) {
+ ASSERT(local_ != NULL);
+ }
DECLARE_COMPUTATION(LoadLocal)
- const LocalVariable& local() const { return local_; }
+ const LocalVariable* local() const { return local_; }
intptr_t context_level() const { return context_level_; }
virtual void PrintOperandsTo(BufferFormatter* f) const;
@@ -773,7 +775,7 @@
virtual bool CanDeoptimize() const { return false; }
private:
- const LocalVariable& local_;
+ const LocalVariable* local_;
const intptr_t context_level_;
DISALLOW_COPY_AND_ASSIGN(LoadLocalComp);
@@ -782,17 +784,18 @@
class StoreLocalComp : public TemplateComputation<1> {
public:
- StoreLocalComp(const LocalVariable& local,
+ StoreLocalComp(const LocalVariable* local,
Value* value,
intptr_t context_level)
: local_(local),
context_level_(context_level) {
+ ASSERT(local_ != NULL);
inputs_[0] = value;
}
DECLARE_COMPUTATION(StoreLocal)
- const LocalVariable& local() const { return local_; }
+ const LocalVariable* local() const { return local_; }
Value* value() const { return inputs_[0]; }
intptr_t context_level() const { return context_level_; }
@@ -804,7 +807,7 @@
virtual bool CanDeoptimize() const { return false; }
private:
- const LocalVariable& local_;
+ const LocalVariable* local_;
const intptr_t context_level_;
DISALLOW_COPY_AND_ASSIGN(StoreLocalComp);
@@ -1565,12 +1568,15 @@
class CatchEntryComp : public TemplateComputation<0> {
public:
- CatchEntryComp(const LocalVariable& exception_var,
- const LocalVariable& stacktrace_var)
- : exception_var_(exception_var), stacktrace_var_(stacktrace_var) {}
+ CatchEntryComp(const LocalVariable* exception_var,
+ const LocalVariable* stacktrace_var)
+ : exception_var_(exception_var), stacktrace_var_(stacktrace_var) {
+ ASSERT(exception_var_ != NULL);
+ ASSERT(stacktrace_var_ != NULL);
+ }
- const LocalVariable& exception_var() const { return exception_var_; }
- const LocalVariable& stacktrace_var() const { return stacktrace_var_; }
+ const LocalVariable* exception_var() const { return exception_var_; }
+ const LocalVariable* stacktrace_var() const { return stacktrace_var_; }
DECLARE_COMPUTATION(CatchEntry)
@@ -1579,8 +1585,8 @@
virtual bool CanDeoptimize() const { return false; }
private:
- const LocalVariable& exception_var_;
- const LocalVariable& stacktrace_var_;
+ const LocalVariable* exception_var_;
+ const LocalVariable* stacktrace_var_;
DISALLOW_COPY_AND_ASSIGN(CatchEntryComp);
};

Powered by Google App Engine
This is Rietveld 408576698