RFR (S): 8140600: Convert unnecessarily malloc'd Monitors to value members

Kim Barrett kim.barrett at oracle.com
Mon Feb 29 05:34:16 UTC 2016


> On Feb 26, 2016, at 11:16 PM, Derek White <derek.white at oracle.com> wrote:
> 
> This small fix changes a malloc'd monitor into an embedded monitor. Also adds assert that no one holds the monitor when we destruct it.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8140600
> Webrev: http://cr.openjdk.java.net/~drwhite/8140600/webrev.01/
> Tests: jprt
> 
> Note: Merged with mgerdin's change to g1YoungRemSetSamplingThread.
> 
> Thanks!
> 
>  - Derek

------------------------------------------------------------------------------ 
src/share/vm/gc/g1/g1YoungRemSetSamplingThread.cpp
  70 G1YoungRemSetSamplingThread::~G1YoungRemSetSamplingThread() {
  71   assert(!_monitor.is_locked(), "don't delete locked monitor");
  72 }

The assert seems misplaced here; it seems like an invariant that
~Monitor ought to be checking instead. And it looks like ~Monitor
already checks for this, as well as other bad states for destruction.

If the assert is removed, the destructor can revert back to being
implicitly defined.

------------------------------------------------------------------------------

Looks good otherwise.

I don't need a new webrev just for removal of that destructor.



More information about the hotspot-gc-dev mailing list