| Index: runtime/vm/flow_graph.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph.cc (revision 33576)
|
| +++ runtime/vm/flow_graph.cc (working copy)
|
| @@ -868,11 +868,10 @@
|
| (push != NULL) ||
|
| (drop != NULL) ||
|
| (constant != NULL)) {
|
| - intptr_t index;
|
| - Definition* result;
|
| + Definition* result = NULL;
|
| if (store != NULL) {
|
| // Update renaming environment.
|
| - index = store->local().BitIndexIn(num_non_copied_params_);
|
| + intptr_t index = store->local().BitIndexIn(num_non_copied_params_);
|
| result = store->value()->definition();
|
|
|
| if (variable_liveness->IsStoreAlive(block_entry, store)) {
|
| @@ -884,7 +883,7 @@
|
| // The graph construction ensures we do not have an unused LoadLocal
|
| // computation.
|
| ASSERT(definition->is_used());
|
| - index = load->local().BitIndexIn(num_non_copied_params_);
|
| + intptr_t index = load->local().BitIndexIn(num_non_copied_params_);
|
| result = (*env)[index];
|
|
|
| PhiInstr* phi = result->AsPhi();
|
| @@ -906,7 +905,10 @@
|
| for (intptr_t j = 0; j < drop->num_temps(); j++) {
|
| env->RemoveLast();
|
| }
|
| - result = drop->value()->definition();
|
| + if (drop->value() != NULL) {
|
| + result = drop->value()->definition();
|
| + }
|
| + ASSERT((drop->value() != NULL) || !drop->is_used());
|
| } else {
|
| ASSERT(definition->is_used());
|
| result = GetConstant(constant->value());
|
|
|