[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 12:24:09 UTC 2020
Hi Nils
Thank you for your review!
Best regards,
Christian
On 12.02.20 13:21, Nils Eliasson wrote:
> 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