comparison src/share/vm/opto/callGenerator.cpp @ 14383:5ec7dace41a6

8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed Summary: type methods shouldn't always operate on speculative part Reviewed-by: kvn, twisti
author roland
date Fri, 24 Jan 2014 09:31:53 +0100
parents de6a9e811145
children 45467c53f178
comparison
equal deleted inserted replaced
14272:757ec609d8d5 14383:5ec7dace41a6
720 if( i >= limit ) break; 720 if( i >= limit ) break;
721 } 721 }
722 Node* m = kit.map()->in(i); 722 Node* m = kit.map()->in(i);
723 Node* n = slow_map->in(i); 723 Node* n = slow_map->in(i);
724 if (m != n) { 724 if (m != n) {
725 const Type* t = gvn.type(m)->meet(gvn.type(n)); 725 const Type* t = gvn.type(m)->meet_speculative(gvn.type(n));
726 Node* phi = PhiNode::make(region, m, t); 726 Node* phi = PhiNode::make(region, m, t);
727 phi->set_req(2, n); 727 phi->set_req(2, n);
728 kit.map()->set_req(i, gvn.transform(phi)); 728 kit.map()->set_req(i, gvn.transform(phi));
729 } 729 }
730 } 730 }
973 if( i >= limit ) break; 973 if( i >= limit ) break;
974 } 974 }
975 Node* m = kit.map()->in(i); 975 Node* m = kit.map()->in(i);
976 Node* n = slow_map->in(i); 976 Node* n = slow_map->in(i);
977 if (m != n) { 977 if (m != n) {
978 const Type* t = gvn.type(m)->meet(gvn.type(n)); 978 const Type* t = gvn.type(m)->meet_speculative(gvn.type(n));
979 Node* phi = PhiNode::make(region, m, t); 979 Node* phi = PhiNode::make(region, m, t);
980 phi->set_req(2, n); 980 phi->set_req(2, n);
981 kit.map()->set_req(i, gvn.transform(phi)); 981 kit.map()->set_req(i, gvn.transform(phi));
982 } 982 }
983 } 983 }