RFR: 8267988: C2: assert(!addp->is_AddP() || addp->in(AddPNode::Base)->is_top() || addp->in(AddPNode::Base) == n->in(AddPNode::Base)) failed: Base pointers must match (addp 1301) [v2]

Roland Westrelin roland at openjdk.java.net
Mon Jun 7 15:50:45 UTC 2021


On Mon, 7 Jun 2021 13:39:37 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> Looks reasonable to me!

Thanks for reviewing this.

> src/hotspot/share/opto/castnode.hpp line 39:
> 
>> 37:     RegularDependency, // if cast doesn't improve input type, cast can be removed
>> 38:     StrongDependency,  // leave cast in even if _type doesn't improve input type, can be replaced by stricter dominating cast if one exist
>> 39:     VeryStrongDependency // leave cast in unconditionally
> 
> How about directly using something like `UnconditionalDependency` instead of `VeryStrongDepedendency` to better distinguish it?

Done. I agree the naming scheme I chose is not great but I haven't found anything better so far.

> src/hotspot/share/opto/loopopts.cpp line 1506:
> 
>> 1504:           register_new_node(x, x_ctrl);
>> 1505: 
>> 1506:           if (x->in(0) == NULL && !x->is_DecodeNarrowPtr() && (!x->is_AddP() || !x->in(AddPNode::Address)->is_AddP())) {
> 
> Can you add a comment here about this special case?

Done.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4387


More information about the hotspot-compiler-dev mailing list