src/share/vm/opto/phaseX.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/phaseX.cpp

src/share/vm/opto/phaseX.cpp

Print this page
rev 6132 : 8031755: Type speculation should be used to optimize explicit null checks
Summary: feed profiling data about reference nullness to type speculation.
Reviewed-by:

*** 328,338 **** #ifdef ASSERT uint max = size(); Node *sentinel_node = sentinel(); for (uint i = 0; i < max; ++i) { Node *n = at(i); ! if(n != NULL && n != sentinel_node && n->is_Type()) { TypeNode* tn = n->as_Type(); const Type* t = tn->type(); const Type* t_no_spec = t->remove_speculative(); assert(t == t_no_spec, "dead node in hash table or missed node during speculative cleanup"); } --- 328,338 ---- #ifdef ASSERT uint max = size(); Node *sentinel_node = sentinel(); for (uint i = 0; i < max; ++i) { Node *n = at(i); ! if(n != NULL && n != sentinel_node && n->is_Type() && n->outcnt() > 0) { TypeNode* tn = n->as_Type(); const Type* t = tn->type(); const Type* t_no_spec = t->remove_speculative(); assert(t == t_no_spec, "dead node in hash table or missed node during speculative cleanup"); }
src/share/vm/opto/phaseX.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File