Index: runtime/vm/intermediate_language.cc |
=================================================================== |
--- runtime/vm/intermediate_language.cc (revision 41279) |
+++ runtime/vm/intermediate_language.cc (working copy) |
@@ -1066,7 +1066,9 @@ |
} |
-void JoinEntryInstr::InsertPhi(intptr_t var_index, intptr_t var_count) { |
+void JoinEntryInstr::InsertPhi(intptr_t var_index, |
+ intptr_t var_count, |
+ bool always_alive) { |
// Lazily initialize the array of phis. |
// Currently, phis are stored in a sparse array that holds the phi |
// for variable with index i at position i. |
@@ -1079,6 +1081,7 @@ |
} |
ASSERT((*phis_)[var_index] == NULL); |
(*phis_)[var_index] = new PhiInstr(this, PredecessorCount()); |
+ if (always_alive) (*phis_)[var_index]->mark_alive(); |
} |
@@ -2740,7 +2743,7 @@ |
LocationSummary* InstanceCallInstr::MakeLocationSummary(Isolate* isolate, |
bool optimizing) const { |
- return MakeCallSummary(); |
+ return MakeCallSummary(isolate); |
} |
@@ -2858,7 +2861,7 @@ |
LocationSummary* StaticCallInstr::MakeLocationSummary(Isolate* isolate, |
bool optimizing) const { |
- return MakeCallSummary(); |
+ return MakeCallSummary(isolate); |
} |