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

Unified Diff: runtime/vm/intermediate_language.h

Issue 125103002: Fix bug and refactor optimized try-catch. (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 | « runtime/vm/flow_graph_optimizer.cc ('k') | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language.h
===================================================================
--- runtime/vm/intermediate_language.h (revision 31471)
+++ runtime/vm/intermediate_language.h (working copy)
@@ -482,6 +482,7 @@
// Change the definition after use lists have been computed.
inline void BindTo(Definition* definition);
+ inline void BindToEnvironment(Definition* definition);
Value* Copy() { return new Value(definition_); }
@@ -1794,6 +1795,13 @@
}
+inline void Value::BindToEnvironment(Definition* def) {
+ RemoveFromUseList();
+ set_definition(def);
+ def->AddEnvUse(this);
+}
+
+
class PhiInstr : public Definition {
public:
PhiInstr(JoinEntryInstr* block, intptr_t num_inputs)
@@ -4305,19 +4313,19 @@
: offset_in_bytes_(offset_in_bytes), type_(type) {
ASSERT(type.IsZoneHandle()); // May be null if field is not an instance.
SetInputAt(kValuePos, value);
- SetInputAt(kDestPos, dest);
+ SetInputAt(kObjectPos, dest);
}
enum {
kValuePos = 0,
- kDestPos = 1
+ kObjectPos = 1
};
DECLARE_INSTRUCTION(StoreVMField)
virtual CompileType* ComputeInitialType() const;
Value* value() const { return inputs_[kValuePos]; }
- Value* dest() const { return inputs_[kDestPos]; }
+ Value* dest() const { return inputs_[kObjectPos]; }
intptr_t offset_in_bytes() const { return offset_in_bytes_; }
const AbstractType& type() const { return type_; }
« no previous file with comments | « runtime/vm/flow_graph_optimizer.cc ('k') | runtime/vm/intermediate_language_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698