RFR: 8320649: C2: Optimize scoped values [v4]

Roland Westrelin roland at openjdk.org
Thu Jan 25 16:46:38 UTC 2024


On Thu, 25 Jan 2024 14:59:52 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>>> In its simplest form, a ScopedValue get will have a test (to check it's indeed in the cache) and a load so I don't think vectorization is possible.
>> 
>> So you think this could not be predicated and hoisted out of the loop? That would also be a sad limitation 😞
>
>> > In its simplest form, a ScopedValue get will have a test (to check it's indeed in the cache) and a load so I don't think vectorization is possible.
>> 
>> So you think this could not be predicated and hoisted out of the loop? That would also be a sad limitation 😞
> 
> Even if that was possible, ScopedValue get loads are from the cache indexed by a hash stored as a field in the ScopedValue object. I'm not sure how you would be able to tell which of the loads from several get() calls are contiguous in memory.

> Nice work @rwestrel I'm sending out a first batch or comments, more coming later.

Thanks for the careful review.

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

PR Comment: https://git.openjdk.org/jdk/pull/16966#issuecomment-1910586098


More information about the hotspot-compiler-dev mailing list