Happy path

Roland Westrelin rwestrel at redhat.com
Wed Feb 14 12:29:36 UTC 2018


> *) The change in PhaseIdealLoop::place_near_use seems a generic thing for LSM? I think we better
> protect this with UseShenandoahGC, to make backporting story easier. Suggestion:
>
>  Node *PhaseIdealLoop::place_near_use( Node *useblock ) const {
>    IdealLoopTree *u_loop = get_loop( useblock );
>    if (u_loop->_irreducible) {
>      return useblock;
>    }
>    if (u_loop->_child) {
>      if (UseShenandoahGC && useblock == u_loop->_head && u_loop->_head->is_OuterStripMinedLoop()) {
> ///      ^^^^^^^^^^^^^^^^^^^
>        return u_loop->_head->in(LoopNode::EntryControl);
>      }
>      return useblock;
>    }
>    return u_loop->_head->as_Loop()->skip_strip_mined()->in(LoopNode::EntryControl);
>  }

That's actually a bug fix that I will need to get upstream. Does it
still need to be guarded by UseShenandoahGC?

I'll follow your other suggestions.

Roland.


More information about the shenandoah-dev mailing list