RFR(S): 8229212 clear up CHECK_OWNER confusion in objectMonitor.cpp

David Holmes david.holmes at oracle.com
Mon Aug 12 04:00:41 UTC 2019


Looks good to me!

Thanks,
David
-----

On 10/08/2019 5:30 am, Daniel D. Daugherty wrote:
> Greetings,
> 
> Updated the fix based on David H's review.
> 
> Incremental webrev URL:
> 
> http://cr.openjdk.java.net/~dcubed/8229212-webrev/1_for_jdk14.inc/
> 
> Full webrev URL:
> 
> http://cr.openjdk.java.net/~dcubed/8229212-webrev/1_for_jdk14.full/
> 
> Thanks, in advance, for any comments, questions or suggestions.
> 
> Dan
> 
> 
> On 8/8/19 10:25 AM, Daniel D. Daugherty wrote:
>> Greetings,
>>
>> Discussions with David Holmes about ObjectMonitors revealed a bit of
>> a mess with the CHECK_OWNER macro and the ObjectMonitor::check() and
>> ObjectMonitor::check_slow() functions. I have a small fix to clean up
>> this bit of messy code.
>>
>> The bug URL:
>>
>>     JDK-8229212 clear up CHECK_OWNER confusion in objectMonitor.cpp
>>     https://bugs.openjdk.java.net/browse/JDK-8229212
>>
>> The webrev URL:
>>
>>     http://cr.openjdk.java.net/~dcubed/8229212-webrev/0_for_jdk14/
>>
>> Summary of the fix:
>>
>>     Merge the CHECK_OWNER macro and the ObjectMonitor::check() and
>>     ObjectMonitor::check_slow() functions into a new function:
>>
>>         ObjectMonitor::check_owner_and_throw_IMSE_if_not()
>>
>>     Update the CHECK_OWNER and check() call sites to use
>>     check_owner_and_throw_IMSE_if_not(). Update the comments
>>     to make the intended semantics clear.
>>
>> Also included a new test for when Object.wait(), Object.notify()
>> and Object.notifyAll() are called a thread that doesn't own the
>> Java monitor.
>>
>> Test with Mach5 Tier[1-3] on the usual Oracle platforms. Verified
>> that the new test passes on all Oracle platforms. It's a Tier1
>> test but its duration is < 1s on every platform.
>>
>> Thanks, in advance, for any comments, questions or suggestions.
>>
>> Dan
>>
>>
> 


More information about the hotspot-runtime-dev mailing list