1.1 --- a/src/share/vm/opto/phaseX.cpp Wed Jan 25 09:56:19 2017 -0800 1.2 +++ b/src/share/vm/opto/phaseX.cpp Tue Jan 31 16:31:09 2017 +0300 1.3 @@ -481,8 +481,6 @@ 1.4 uint current_idx = 0; // The current new node ID. Incremented after every assignment. 1.5 for (uint i = 0; i < _useful.size(); i++) { 1.6 Node* n = _useful.at(i); 1.7 - // Sanity check that fails if we ever decide to execute this phase after EA 1.8 - assert(!n->is_Phi() || n->as_Phi()->inst_mem_id() == -1, "should not be linked to data Phi"); 1.9 const Type* type = gvn->type_or_null(n); 1.10 new_type_array.map(current_idx, type); 1.11 1.12 @@ -1380,18 +1378,6 @@ 1.13 i -= num_edges; // we deleted 1 or more copies of this edge 1.14 } 1.15 1.16 - // Search for instance field data PhiNodes in the same region pointing to the old 1.17 - // memory PhiNode and update their instance memory ids to point to the new node. 1.18 - if (old->is_Phi() && old->as_Phi()->type()->has_memory() && old->in(0) != NULL) { 1.19 - Node* region = old->in(0); 1.20 - for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) { 1.21 - PhiNode* phi = region->fast_out(i)->isa_Phi(); 1.22 - if (phi != NULL && phi->inst_mem_id() == (int)old->_idx) { 1.23 - phi->set_inst_mem_id((int)nn->_idx); 1.24 - } 1.25 - } 1.26 - } 1.27 - 1.28 // Smash all inputs to 'old', isolating him completely 1.29 Node *temp = new (C) Node(1); 1.30 temp->init_req(0,nn); // Add a use to nn to prevent him from dying