RFR: jdk11: guard shared code with UseShenandoahGC
Aleksey Shipilev
shade at redhat.com
Thu Oct 18 12:17:05 UTC 2018
Your call, really. If you think something is safe, leave it as is.
-Aleksey
On 10/18/2018 10:03 AM, Roland Westrelin wrote:
> 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