[15] RFR(S): 8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
Nils Eliasson
nils.eliasson at oracle.com
Wed Feb 12 12:21:11 UTC 2020
Hi Christian,
I like the version with the additional refactoring.
Looks good.
Best regards,
Nils
On 2020-02-12 12:55, Christian Hagedorn wrote:
> Hi Roland
>
> Thank you for your review!
>
> Yes, that makes the code cleaner. I've done a refactoring in a new
> webrev:
> http://cr.openjdk.java.net/~chagedorn/8238765/webrev.01/
>
> Best regards,
> Christian
>
> On 12.02.20 10:03, Roland Westrelin wrote:
>>
>>> http://cr.openjdk.java.net/~chagedorn/8238765/webrev.00/
>>
>> You could maybe refactor the checks:
>>
>> m->is_block_proj() || m->is_block_start() || ((m->is_Mach() &&
>> m->as_Mach()->ideal_Opcode() == Op_SafePoint))
>> ||(m->is_Proj() && m->as_Proj()->bottom_type() == Type::CONTROL)
>>
>> and similar ones and move them to an is_CFG() function?
>>
>> Same for that code pattern:
>>
>> 136 Node* ctrl = node->in(0);
>> 137 while (!ctrl->is_block_start()) {
>> 138 if (ctrl == dom_node) {
>> 139 return true;
>> 140 }
>> 141 ctrl = ctrl->in(0);
>> 142 }
>>
>> that's used twice.
>>
>> Otherwise looks good to me.
>>
>> Roland.
>>
More information about the hotspot-compiler-dev
mailing list