comparison src/share/vm/opto/node.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
993 // Get the worst-case Type output for this Node. 993 // Get the worst-case Type output for this Node.
994 void Node::raise_bottom_type(const Type* new_type) { 994 void Node::raise_bottom_type(const Type* new_type) {
995 if (is_Type()) { 995 if (is_Type()) {
996 TypeNode *n = this->as_Type(); 996 TypeNode *n = this->as_Type();
997 if (VerifyAliases) { 997 if (VerifyAliases) {
998 assert(new_type->higher_equal(n->type()), "new type must refine old type"); 998 assert(new_type->higher_equal_speculative(n->type()), "new type must refine old type");
999 } 999 }
1000 n->set_type(new_type); 1000 n->set_type(new_type);
1001 } else if (is_Load()) { 1001 } else if (is_Load()) {
1002 LoadNode *n = this->as_Load(); 1002 LoadNode *n = this->as_Load();
1003 if (VerifyAliases) { 1003 if (VerifyAliases) {
1004 assert(new_type->higher_equal(n->type()), "new type must refine old type"); 1004 assert(new_type->higher_equal_speculative(n->type()), "new type must refine old type");
1005 } 1005 }
1006 n->set_type(new_type); 1006 n->set_type(new_type);
1007 } 1007 }
1008 } 1008 }
1009 1009