RFR 8213708: Different #ifdef guards cause incorrect use of Monitor::check_block_state()

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Nov 13 21:48:33 UTC 2018


On 11/13/18 4:24 PM, Patricio Chilano wrote:
> Hi all,
>
> Could you review this small fix to the Monitor class?
> Executing method check_block_state() was causing incorrect warnings to 
> be printed out in optimized builds due to variable _allow_vm_block 
> being incorrectly initialized in the constructor. The fix involved 
> wrapping the call to check_block_state() under the DEBUG_ONLY macro.
> Built an optimized image with and without the fix, run a couple of 
> tests and checked the warning messages appear before the fix but not 
> after it. Also built in debug and release modes to check those build 
> okay too.
>
> Since the fix had to do with using the DEBUG_ONLY macro I also changed 
> in those files instances of debug_only to DEBUG_ONLY and changed some 
> instances of DEBUG_ONLY(code); to DEBUG_ONLY(code;) to make the usage 
> consistent.
>
> Webrev URL:
> http://cr.openjdk.java.net/~pchilanomate/8213708.01/webrev

src/hotspot/share/runtime/mutex.cpp
     No comments.

src/hotspot/share/runtime/mutex.hpp
     No comments.

Thumbs up!

Thanks for cleaning up the old debug_only macros uses. It did
make reviewing the optimized build fix a little harder since
it was "buried".

Dan


> Bug URL:
> https://bugs.openjdk.java.net/browse/JDK-8213708
>
> Thanks,
> Patricio



More information about the hotspot-runtime-dev mailing list