8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed

Type methods shouldn't always operate on speculative part

Reviewed-by: kvn, twisti
This commit is contained in:
Roland Westrelin 2014-01-24 09:31:53 +01:00
parent 91573b8695
commit c19a7e0fa3
18 changed files with 290 additions and 121 deletions

View file

@ -995,13 +995,13 @@ void Node::raise_bottom_type(const Type* new_type) {
if (is_Type()) {
TypeNode *n = this->as_Type();
if (VerifyAliases) {
assert(new_type->higher_equal(n->type()), "new type must refine old type");
assert(new_type->higher_equal_speculative(n->type()), "new type must refine old type");
}
n->set_type(new_type);
} else if (is_Load()) {
LoadNode *n = this->as_Load();
if (VerifyAliases) {
assert(new_type->higher_equal(n->type()), "new type must refine old type");
assert(new_type->higher_equal_speculative(n->type()), "new type must refine old type");
}
n->set_type(new_type);
}