1113 for( i = 1; i < phi->req(); i++ ) { |
1113 for( i = 1; i < phi->req(); i++ ) { |
1114 Node *n1 = phi->in(i)->in(1)->in(1); |
1114 Node *n1 = phi->in(i)->in(1)->in(1); |
1115 Node *n2 = phi->in(i)->in(1)->in(2); |
1115 Node *n2 = phi->in(i)->in(1)->in(2); |
1116 phi1->set_req( i, n1 ); |
1116 phi1->set_req( i, n1 ); |
1117 phi2->set_req( i, n2 ); |
1117 phi2->set_req( i, n2 ); |
1118 phi1->set_type( phi1->type()->meet(n1->bottom_type()) ); |
1118 phi1->set_type( phi1->type()->meet_speculative(n1->bottom_type())); |
1119 phi2->set_type( phi2->type()->meet(n2->bottom_type()) ); |
1119 phi2->set_type( phi2->type()->meet_speculative(n2->bottom_type())); |
1120 } |
1120 } |
1121 // See if these Phis have been made before. |
1121 // See if these Phis have been made before. |
1122 // Register with optimizer |
1122 // Register with optimizer |
1123 Node *hit1 = _igvn.hash_find_insert(phi1); |
1123 Node *hit1 = _igvn.hash_find_insert(phi1); |
1124 if( hit1 ) { // Hit, toss just made Phi |
1124 if( hit1 ) { // Hit, toss just made Phi |
1187 } else { |
1187 } else { |
1188 n1 = n2 = cmp_top; |
1188 n1 = n2 = cmp_top; |
1189 } |
1189 } |
1190 phi1->set_req( j, n1 ); |
1190 phi1->set_req( j, n1 ); |
1191 phi2->set_req( j, n2 ); |
1191 phi2->set_req( j, n2 ); |
1192 phi1->set_type( phi1->type()->meet(n1->bottom_type()) ); |
1192 phi1->set_type(phi1->type()->meet_speculative(n1->bottom_type())); |
1193 phi2->set_type( phi2->type()->meet(n2->bottom_type()) ); |
1193 phi2->set_type(phi2->type()->meet_speculative(n2->bottom_type())); |
1194 } |
1194 } |
1195 |
1195 |
1196 // See if these Phis have been made before. |
1196 // See if these Phis have been made before. |
1197 // Register with optimizer |
1197 // Register with optimizer |
1198 Node *hit1 = _igvn.hash_find_insert(phi1); |
1198 Node *hit1 = _igvn.hash_find_insert(phi1); |