src/share/vm/opto/memnode.cpp

changeset 8945
3b6372514697
parent 8940
eb9e617d6f64
child 8982
8f1acbb637e3
equal deleted inserted replaced
8944:072770c9a6b9 8945:3b6372514697
1153 } 1153 }
1154 const Type* this_type = bottom_type(); 1154 const Type* this_type = bottom_type();
1155 for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) { 1155 for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) {
1156 Node* phi = region->fast_out(i); 1156 Node* phi = region->fast_out(i);
1157 if (phi->is_Phi() && phi != mem && 1157 if (phi->is_Phi() && phi != mem &&
1158 phi->as_Phi()->is_same_inst_field(this_type, this_iid, this_index, this_offset)) { 1158 phi->as_Phi()->is_same_inst_field(this_type, (int)mem->_idx, this_iid, this_index, this_offset)) {
1159 return phi; 1159 return phi;
1160 } 1160 }
1161 } 1161 }
1162 } 1162 }
1163 1163
1398 if (!t_oop->is_known_instance() && load_boxed_values) { 1398 if (!t_oop->is_known_instance() && load_boxed_values) {
1399 // Use _idx of address base for boxed values. 1399 // Use _idx of address base for boxed values.
1400 this_iid = base->_idx; 1400 this_iid = base->_idx;
1401 } 1401 }
1402 PhaseIterGVN* igvn = phase->is_IterGVN(); 1402 PhaseIterGVN* igvn = phase->is_IterGVN();
1403 Node* phi = new (C) PhiNode(region, this_type, NULL, this_iid, this_index, this_offset); 1403 Node* phi = new (C) PhiNode(region, this_type, NULL, mem->_idx, this_iid, this_index, this_offset);
1404 for (uint i = 1; i < region->req(); i++) { 1404 for (uint i = 1; i < region->req(); i++) {
1405 Node* x; 1405 Node* x;
1406 Node* the_clone = NULL; 1406 Node* the_clone = NULL;
1407 if (region->in(i) == C->top()) { 1407 if (region->in(i) == C->top()) {
1408 x = C->top(); // Dead path? Use a dead data op 1408 x = C->top(); // Dead path? Use a dead data op

mercurial