RFR [10]: Revert "improved profiled predicates"

Aleksey Shipilev shade at redhat.com
Wed Feb 28 11:53:10 UTC 2018


http://cr.openjdk.java.net/~shade/shenandoah/10-revert-improved-predicates/webrev.01/

sh/jdk10 is now our backports repository, and it should not have things that we are upstreaming. One
of those things is "improved profiled predicates" that Roland pushed recently:
  http://hg.openjdk.java.net/shenandoah/jdk10/rev/279bd9767680

Among other things, it has some bugs:
  http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-February/004936.html

So, we are reverting it in sh/jdk10, leaving it for stabilization in sh/jdk. The only conflict I had
during reversal is in PhaseIdealLoop::place_near_use, which seems to be already done in original
form in sh/jdk10:

//------------------------------place_near_use---------------------------------
// Place some computation next to use but not inside inner loops.
// For inner loop uses move it to the preheader area.
Node *PhaseIdealLoop::place_near_use( Node *useblock ) const {
  IdealLoopTree *u_loop = get_loop( useblock );
  return (u_loop->_irreducible || u_loop->_child)
    ? useblock
    : u_loop->_head->as_Loop()->skip_strip_mined()->in(LoopNode::EntryControl);
}

vs. http://hg.openjdk.java.net/shenandoah/jdk10/rev/279bd9767680#l14.11

Testing: hotspot_gc_shenandoah (fastdebug)

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list