[9] RFR (XXS): 8173404: C2: wrong nmethod dependency can be recorded for CallSite.target

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Jan 27 21:33:46 UTC 2017


Thanks, Vladimir.

Best regards,
Vladimir Ivanov

On 1/26/17 11:10 PM, Vladimir Kozlov wrote:
> Good.
>
> Thanks,
> Vladimir
>
> On 1/26/17 8:32 AM, Vladimir Ivanov wrote:
>> http://cr.openjdk.java.net/~vlivanov/8173404/webrev.00
>> https://jbs.oracle.com/browse/JDK-8173404
>>
>> When C2 constant folds mutable call site target, it records a
>> dependency on the value, but repeatedly reads the value
>> from the call site. Since there's a race between compilation thread
>> and application thread doing CallSite.setTarget(),
>> it's possible to end up with different values used as the constant and
>> recorded in the dependency.
>>
>> The fix is to reuse target constant when recording the dependency.
>>
>> Testing: regression test, RBT (in progress)
>>
>> Thanks!
>>
>> Best regards,
>> Vladimir Ivanov


More information about the hotspot-compiler-dev mailing list