src/share/vm/opto/memnode.cpp

changeset 9756
2be326848943
parent 9703
2fdf635bcf28
parent 9735
bd6ec847115e
child 9852
70aa912cebe5
equal deleted inserted replaced
9707:b87dc103bf45 9756:2be326848943
1357 if (cnt == 3) { 1357 if (cnt == 3) {
1358 for (uint i = 1; i < cnt; i++) { 1358 for (uint i = 1; i < cnt; i++) {
1359 Node* in = mem->in(i); 1359 Node* in = mem->in(i);
1360 Node* m = optimize_memory_chain(in, t_oop, this, phase); 1360 Node* m = optimize_memory_chain(in, t_oop, this, phase);
1361 if (m == mem) { 1361 if (m == mem) {
1362 if (i == 1) {
1363 // if the first edge was a loop, check second edge too.
1364 // If both are replaceable - we are in an infinite loop
1365 Node *n = optimize_memory_chain(mem->in(2), t_oop, this, phase);
1366 if (n == mem) {
1367 break;
1368 }
1369 }
1362 set_req(Memory, mem->in(cnt - i)); 1370 set_req(Memory, mem->in(cnt - i));
1363 return this; // made change 1371 return this; // made change
1364 } 1372 }
1365 } 1373 }
1366 } 1374 }

mercurial