[15] RFR(S): 8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly

Christian Hagedorn christian.hagedorn at oracle.com
Wed Feb 12 11:55:03 UTC 2020


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