Add some missing UseShenandoahGC checks to 8u
Roland Westrelin
rwestrel at redhat.com
Thu Sep 21 12:52:42 UTC 2017
> *) loopnode.cpp does not look right. With !UseShenandoahGC this predicate is always false?
>
> 3608 if (new_ctrl != least) {
upstream code for this is:
if (ctrl_out && ctrl_out->is_CountedLoop() &&
least == ctrl_out->in(LoopNode::EntryControl)) {
Node* least_dom = idom(least);
if (get_loop(least_dom)->is_member(get_loop(least))) {
least = least_dom;
}
}
so to stick to upstream behaviour we only want the else line 3610 to
have a chance to succeed.
> *) Not sure if guards around is_g1_wb_pre_call do the right thing
> against upstream. It seems that we have added some of them for
> Shenandoah only? Need to see the patch against the upstream later.
Yes, the checks for is_g1_wb_pre_call() is new code that doesn't exist
upstream and that shouldn't trigger without Shenandoah but to be on the
safe side, I added the tests for UseShenandoahGC.
Roland.
More information about the shenandoah-dev
mailing list