| Index: runtime/vm/flow_graph_allocator.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_allocator.cc (revision 40526)
|
| +++ runtime/vm/flow_graph_allocator.cc (working copy)
|
| @@ -518,6 +518,7 @@
|
| const intptr_t block_count = postorder_.length();
|
| ASSERT(postorder_.Last()->IsGraphEntry());
|
| BitVector* current_interference_set = NULL;
|
| + Isolate* isolate = flow_graph_.isolate();
|
| for (intptr_t i = 0; i < (block_count - 1); i++) {
|
| BlockEntryInstr* block = postorder_[i];
|
|
|
| @@ -535,8 +536,8 @@
|
|
|
| BlockInfo* loop_header = block_info->loop_header();
|
| if ((loop_header != NULL) && (loop_header->last_block() == block)) {
|
| - current_interference_set =
|
| - new BitVector(flow_graph_.max_virtual_register_number());
|
| + current_interference_set = new(isolate) BitVector(
|
| + isolate, flow_graph_.max_virtual_register_number());
|
| ASSERT(loop_header->backedge_interference() == NULL);
|
| // All values flowing into the loop header are live at the back-edge and
|
| // can interfere with phi moves.
|
| @@ -2005,8 +2006,9 @@
|
| void ReachingDefs::AddPhi(PhiInstr* phi) {
|
| // TODO(johnmccutchan): Fix handling of PhiInstr with PairLocation.
|
| if (phi->reaching_defs() == NULL) {
|
| - phi->set_reaching_defs(
|
| - new BitVector(flow_graph_.max_virtual_register_number()));
|
| + Isolate* isolate = Isolate::Current();
|
| + phi->set_reaching_defs(new(isolate) BitVector(
|
| + isolate, flow_graph_.max_virtual_register_number()));
|
|
|
| // Compute initial set reaching defs set.
|
| bool depends_on_phi = false;
|
|
|