RFR: jdk11: guard shared code with UseShenandoahGC
Roland Westrelin
rwestrel at redhat.com
Thu Oct 18 08:03:09 UTC 2018
Thanks for going over the jdk11 c2 changes.
> *) ArrayCopyNode::array_copy_forward/array_copy_backward have unprotected
> "mm->set_memory_at(alias_idx_dest, mem);", "phase->transform(mm);"
>
> *) ArrayCopyNode::Ideal has some unprotected memory merges
That's all part of the same change in this file. Looks complicated to
guard. This change was upstreamed to 12 and has caused no issue. Can't
we leave it as it is?
> *) IfNode::search_identical, seems this line got dropped:
>
> 1547 (req() == 3 && dom->in(2) != in(2)) || // Not same input 2?
I'll put it back eventhough it's dead code AFAICT.
> *) loopopts.cpp: this looks odd, do we actually need to rewrite this condition like that? Also, why
> double assignment to "n_ctrl"?
>
> 1323 if (identical_backtoback_ifs(n)) {
> 1324 Node *n_ctrl = n_ctrl = n->in(0);
> 1325 if (can_split_if(n_ctrl)) {
Double assignment is a typo.
I don't see a need for the condition change so I'll revert it.
> *) matcher.cpp: unprotected branch?
>
> 1008 if (n->is_MemBar()) {
> 1009 m->as_MachMemBar()->set_adr_type(n->adr_type());
> 1010 }
That's also part of a bigger change with changes to the node class
hierarchy and adlc tool so hard to guard. That was upstreamed to 12 and
has caused no issue.
Roland.
More information about the shenandoah-dev
mailing list