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

Tobias Hartmann thartmann at openjdk.org
Fri Aug 18 08:24:50 UTC 2023


On Thu, 17 Aug 2023 11:17:29 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
>
> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adding an IR test and review comment resolution.

test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestValueRematDuringTypeSharpening.java line 81:

> 79:        for (int i = 0; i < 10000; i++) {
> 80:            res += test((i % 1000) == 1 ? new dummyValue1(i) : new dummyValue2(i));
> 81:        }

I think you should leave warmup to the IR framework. If more iterations are needed, you can control that via the `@Warmup` annotation. And here, just do:

test(new dummyValue1(0));
test(new dummyValue2(2));

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

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



More information about the valhalla-dev mailing list