| 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);
|
| }
|
|
|
|
|
|
|