[lworld] RFR: 8314190: [lworld] Missing InlineTypeNode re-materialization during type sharpening.

Tobias Hartmann thartmann at openjdk.org
Wed Aug 16 14:35:29 UTC 2023


On Tue, 15 Aug 2023 11:02:32 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> -  Currently we try to sharpen the object type to a narrower type to optimize object type comparison against a class constant.
>  - This is achieved by inserting a CheckCastPP node which casts the object type to a higher speculative type, if cast type is an inlinetype we need to rematerialize InlineTypeNode from newly casted object which was missing and is fixed by the patch.
> 
> Kindly review.
> 
> Tier1 regressions are clean.
> 
> Best Regards,
> Jatin Bhateja

src/hotspot/share/opto/parse2.cpp line 2441:

> 2439:             record_for_igvn(ccast);
> 2440:             if (tboth->is_inlinetypeptr()) {
> 2441:               assert(tboth->exact_klass(true)->is_inlinetype(), "");

I don't think that assert is needed since `as_inline_klass` would already assert. And couldn't you use `tboth->inline_klass()`?

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/907#discussion_r1296010680



More information about the valhalla-dev mailing list