src/share/vm/opto/phaseX.cpp

changeset 7395
4c228230f1d6
parent 7394
5b8e0f84f00f
child 7535
7ae4e26cb1e0
child 7847
03596ae35800
equal deleted inserted replaced
7394:5b8e0f84f00f 7395:4c228230f1d6
1377 for (uint i = 0; i < in1->outcnt(); i++) { 1377 for (uint i = 0; i < in1->outcnt(); i++) {
1378 if (in1->raw_out(i)->Opcode() == Op_CastII) { 1378 if (in1->raw_out(i)->Opcode() == Op_CastII) {
1379 Node* castii = in1->raw_out(i); 1379 Node* castii = in1->raw_out(i);
1380 if (castii->in(0) != NULL && castii->in(0)->in(0) != NULL && castii->in(0)->in(0)->is_If()) { 1380 if (castii->in(0) != NULL && castii->in(0)->in(0) != NULL && castii->in(0)->in(0)->is_If()) {
1381 Node* ifnode = castii->in(0)->in(0); 1381 Node* ifnode = castii->in(0)->in(0);
1382 if (ifnode->in(1) != NULL && ifnode->in(1)->in(1) == use) { 1382 if (ifnode->in(1) != NULL && ifnode->in(1)->is_Bool() && ifnode->in(1)->in(1) == use) {
1383 // Reprocess a CastII node that may depend on an 1383 // Reprocess a CastII node that may depend on an
1384 // opaque node value when the opaque node is 1384 // opaque node value when the opaque node is
1385 // removed. In case it carries a dependency we can do 1385 // removed. In case it carries a dependency we can do
1386 // a better job of computing its type. 1386 // a better job of computing its type.
1387 _worklist.push(castii); 1387 _worklist.push(castii);

mercurial