ObjectSynchronizer iterate only in-use monitors?

David Holmes david.holmes at oracle.com
Thu May 11 10:53:35 UTC 2017


On 11/05/2017 6:32 PM, Claes Redestad wrote:
> W.r.t. deprecating/removing the MonitorInUseLists flag: this flag has
> been around for a long
> time but was only recently made default in 9 (build 120) as a result of
> analysis related to
> JEP-143.
>
> The only downside I know of is a minuscule footprint increase, but there
> might be unknown
> bugs where an application could break with this flag enabled since it
> hasn't seen wide usage.
>
> Having seen the flag in internal production use for several years makes
> us confident it won't,
> though, but you never know and it definitely doesn't hurt to have a way
> to switch it back off,
> at least during the course of 9.
>
> So... Deprecate in 10, remove flag in 11, remove internal code in ...
> 11? (You can technically
> remove the code using the flag in the same release that you deprecate
> it, but I don't know --> is that frowned upon?)

Deprecation of VM options means continuing to act on the option but 
issue a deprecation warning - so no you can't remove the code at the 
same time you deprecate it.

Cheers,
David


>
> Thanks!
>
> /Claes
>
> On 2017-05-11 10:12, Robbin Ehn wrote:
>> Re-sending, since Davids reply got sorted into another folder,
>> so I accidentally dropped GC list and missed David H replies, sorry
>> about that.
>>
>> /Robbin
>>
>> On 05/11/2017 10:06 AM, Robbin Ehn wrote:
>>> On 05/11/2017 10:01 AM, Aleksey Shipilev wrote:
>>>> On 05/11/2017 09:51 AM, Roman Kennke wrote:
>>>>> Am 11.05.2017 um 09:44 schrieb Robbin Ehn:
>>>>>> Let me know how you plan to continue this!
>>>>>
>>>>> I can change the patch to hook up thread-local in-use-monitor scanning
>>>>> to Thread::oops_do() and have ObjectSynchronizer::oops_do() only scan
>>>>> the gOmInUseList. I'd make it conditional on
>>>>> -XX:+MonitorInUseLists, for
>>>>> consistency and just in case anybody's ever turning this off, or
>>>>> else we
>>>>> should remove that flag? This change should transparently enable this
>>>>> for all GCs. I'll also file a new enhancement bug for it. Does that
>>>>> sound good?
>>>>
>>>> That sounds like a sane tactics to me.
>>>
>>> +1
>>>
>>> I guess first step is to deprecate it ? So we need a CSR for that.
>>> (CSR is not yet available)
>>> (assuming no objections here)
>>>
>>> Yes, enable for all GCs sounds great to me, maybe run some numbers on
>>> them just in case.
>>>
>>> Thanks!
>>>
>>> /Robbin
>>>
>>>
>>>>
>>>> -Aleksey
>>>>
>>>>
>



More information about the hotspot-gc-dev mailing list