RFR (S): 8223177: Data race on JvmtiEnvBase::_tag_map in double-checked locking
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Thu May 2 19:30:35 UTC 2019
Hi David and Nan,
Sorry, my suggestion was not aligned with usual practice and added some
extra work. :(
Thanks,
Serguei
On 5/1/19 19:42, David Holmes wrote:
> On 2/05/2019 11:00 am, Man Cao wrote:
>> Thank everyone for the review!
>> Renamed and final webrev:
>> https://cr.openjdk.java.net/~manc/8223177/webrev.02/
>
> No do not rename! Sorry Serguei but for these accesses with
> OrderAccess semantics the placement of the acquire/release reflects
> the barrier semantics of load_acquire and release_store. So we use
> foo_acquire to load foo with acquire semantics; while release_set_foo
> performs a release barrier followed by set_foo. This convention is
> used throughout the VM for these kinds of methods.
>
> David
> -----
>
>> -Man
>>
>>
>> On Wed, May 1, 2019 at 5:21 PM serguei.spitsyn at oracle.com
>> <mailto:serguei.spitsyn at oracle.com> <serguei.spitsyn at oracle.com
>> <mailto:serguei.spitsyn at oracle.com>> wrote:
>>
>> Hi Man,
>>
>> Looks good to me.
>>
>> Minor comment:
>> I'd suggest to rename tag_map_acquire to acquire_tag_map to be
>> consistent with release_set_tag_map.
>>
>>
>> Thanks,
>> Serguei
>>
>>
>> On 4/30/19 18:51, Man Cao wrote:
>>> Hi all,
>>>
>>> Can I have reviews for this small change that adds memory fences
>>> for double-checked locking?
>>> We found this race while working on the Java ThreadSanitizer
>>> project.
>>>
>>> Webrev: https://cr.openjdk.java.net/~manc/8223177/webrev.00/
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8223177
>>>
>>> -Man
>>
More information about the serviceability-dev
mailing list