ObjectSynchronizer iterate only in-use monitors?

Claes Redestad claes.redestad at oracle.com
Thu May 11 08:32:59 UTC 2017


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?)

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-runtime-dev mailing list