[14] RFR (XS): 8234403: C2: Enable CallSite.target updates in constructors

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Nov 19 19:03:39 UTC 2019


+1

Vladimir K

On 11/19/19 10:26 AM, Paul Sandoz wrote:
> +1
> 
> Paul.
> 
>> On Nov 19, 2019, at 9:18 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
>>
>> http://cr.openjdk.java.net/~vlivanov/8234403/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8234403
>>
>> Direct CallSite.target updates are not supported in C2, because in general the JVM has to invalidate all nmethod dependency before performing the update (handled by MethodHandleNatives.setCallSiteTargetNormal/Volatile).
>>
>> But it's not the case for initializing stores during CallSite instance construction.
>>
>> Proposed fix assumes all raw updates happen on not-yet-published instances (so no nmethod dependencies) and treats CallSite.target updates inside ctors as an ordinary field.
>>
>> Considering the changes proposed for 8234401 [1], all direct updates in CallSite ctors are safe to be treated as ordinary field updates.
>>
>> Testing: tier1-4
>>
>> Best regards,
>> Vladimir Ivanov
>>
>> [1] https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-November/036019.html
> 


More information about the hotspot-compiler-dev mailing list