< prev index next >

src/hotspot/share/opto/loopnode.cpp

Print this page
rev 48506 : [mq]: JDK-8194992

*** 66,76 **** //------------------------------is_valid_counted_loop------------------------- bool LoopNode::is_valid_counted_loop() const { if (is_CountedLoop()) { CountedLoopNode* l = as_CountedLoop(); ! CountedLoopEndNode* le = l->loopexit(); if (le != NULL && le->proj_out_or_null(1 /* true */) == l->in(LoopNode::LoopBackControl)) { Node* phi = l->phi(); Node* exit = le->proj_out_or_null(0 /* false */); if (exit != NULL && exit->Opcode() == Op_IfFalse && --- 66,76 ---- //------------------------------is_valid_counted_loop------------------------- bool LoopNode::is_valid_counted_loop() const { if (is_CountedLoop()) { CountedLoopNode* l = as_CountedLoop(); ! CountedLoopEndNode* le = l->loopexit_or_null(); if (le != NULL && le->proj_out_or_null(1 /* true */) == l->in(LoopNode::LoopBackControl)) { Node* phi = l->phi(); Node* exit = le->proj_out_or_null(0 /* false */); if (exit != NULL && exit->Opcode() == Op_IfFalse &&
*** 791,801 **** // Free up intermediate goo _igvn.remove_dead_node(hook); #ifdef ASSERT assert(l->is_valid_counted_loop(), "counted loop shape is messed up"); ! assert(l == loop->_head && l->phi() == phi && l->loopexit() == lex, "" ); #endif #ifndef PRODUCT if (TraceLoopOpts) { tty->print("Counted "); loop->dump_head(); --- 791,801 ---- // Free up intermediate goo _igvn.remove_dead_node(hook); #ifdef ASSERT assert(l->is_valid_counted_loop(), "counted loop shape is messed up"); ! assert(l == loop->_head && l->phi() == phi && l->loopexit_or_null() == lex, "" ); #endif #ifndef PRODUCT if (TraceLoopOpts) { tty->print("Counted "); loop->dump_head();
*** 915,925 **** } assert(found_sfpt, "no node in loop that's not input to safepoint"); } } CountedLoopEndNode* cle = inner_out->in(0)->as_CountedLoopEnd(); ! assert(cle == inner->loopexit(), "mismatch"); bool has_skeleton = outer_le->in(1)->bottom_type()->singleton() && outer_le->in(1)->bottom_type()->is_int()->get_con() == 0; if (has_skeleton) { assert(expect_skeleton == 1 || expect_skeleton == -1, "unexpected skeleton node"); assert(outer->outcnt() == 2, "only phis"); } else { --- 915,925 ---- } assert(found_sfpt, "no node in loop that's not input to safepoint"); } } CountedLoopEndNode* cle = inner_out->in(0)->as_CountedLoopEnd(); ! assert(cle == inner->loopexit_or_null(), "mismatch"); bool has_skeleton = outer_le->in(1)->bottom_type()->singleton() && outer_le->in(1)->bottom_type()->is_int()->get_con() == 0; if (has_skeleton) { assert(expect_skeleton == 1 || expect_skeleton == -1, "unexpected skeleton node"); assert(outer->outcnt() == 2, "only phis"); } else {
< prev index next >