comparison src/share/vm/opto/compile.cpp @ 17895:31e28ee4c9b4

8038921: assert(t != NULL) failed: must set before get Summary: Ignore nodes without a type when checking for speculative types in Compile::remove_speculative_types(...). Reviewed-by: kvn, roland Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
author anoll
date Wed, 23 Apr 2014 10:35:15 +0200
parents 62c54fcc0a35
children 3636afd5ec1a
comparison
equal deleted inserted replaced
17894:87b5e00100fe 17895:31e28ee4c9b4
3959 // Verify that after the IGVN is over no speculative type has resurfaced 3959 // Verify that after the IGVN is over no speculative type has resurfaced
3960 worklist.clear(); 3960 worklist.clear();
3961 worklist.push(root()); 3961 worklist.push(root());
3962 for (uint next = 0; next < worklist.size(); ++next) { 3962 for (uint next = 0; next < worklist.size(); ++next) {
3963 Node *n = worklist.at(next); 3963 Node *n = worklist.at(next);
3964 const Type* t = igvn.type(n); 3964 const Type* t = igvn.type_or_null(n);
3965 assert(t == t->remove_speculative(), "no more speculative types"); 3965 assert((t == NULL) || (t == t->remove_speculative()), "no more speculative types");
3966 if (n->is_Type()) { 3966 if (n->is_Type()) {
3967 t = n->as_Type()->type(); 3967 t = n->as_Type()->type();
3968 assert(t == t->remove_speculative(), "no more speculative types"); 3968 assert(t == t->remove_speculative(), "no more speculative types");
3969 } 3969 }
3970 uint max = n->len(); 3970 uint max = n->len();