src/share/vm/opto/ifnode.cpp

changeset 1448
ce590301ae2a
parent 1286
fc4be448891f
child 1452
e715b51789d8
     1.1 --- a/src/share/vm/opto/ifnode.cpp	Tue Oct 13 20:54:13 2009 -0700
     1.2 +++ b/src/share/vm/opto/ifnode.cpp	Tue Oct 13 22:32:31 2009 -0700
     1.3 @@ -240,13 +240,13 @@
     1.4    // as a single huge transform.
     1.5    igvn->register_new_node_with_optimizer( region_c );
     1.6    igvn->register_new_node_with_optimizer( region_x );
     1.7 -  phi_x = phase->transform( phi_x );
     1.8    // Prevent the untimely death of phi_x.  Currently he has no uses.  He is
     1.9    // about to get one.  If this only use goes away, then phi_x will look dead.
    1.10    // However, he will be picking up some more uses down below.
    1.11    Node *hook = new (igvn->C, 4) Node(4);
    1.12    hook->init_req(0, phi_x);
    1.13    hook->init_req(1, phi_c);
    1.14 +  phi_x = phase->transform( phi_x );
    1.15  
    1.16    // Make the compare
    1.17    Node *cmp_c = phase->makecon(t);
    1.18 @@ -322,6 +322,7 @@
    1.19          phi_s = PhiNode::make_blank(region_s,phi);
    1.20          phi_s->init_req( 1, phi_c );
    1.21          phi_s->init_req( 2, phi_x );
    1.22 +        hook->add_req(phi_s);
    1.23          phi_s = phase->transform(phi_s);
    1.24        }
    1.25        proj_path_data = phi_s;
    1.26 @@ -333,6 +334,7 @@
    1.27          phi_f = PhiNode::make_blank(region_f,phi);
    1.28          phi_f->init_req( 1, phi_c );
    1.29          phi_f->init_req( 2, phi_x );
    1.30 +        hook->add_req(phi_f);
    1.31          phi_f = phase->transform(phi_f);
    1.32        }
    1.33        proj_path_data = phi_f;

mercurial