Call for reviews: JEP 189: Shenandoah: A Low-Pause Garbage Collector

Roman Kennke rkennke at
Wed Nov 28 10:48:09 UTC 2018

Hi Per,

> Under "Non-Goals" the JEP says:
> "The GC pause time is bounded by the time required to scan all of the
> thread stacks[...]"
> This is not quite true, is it? I'd say the theoretical worst cases pause
> in Shenandoah is still bound by the live-set and heap size.
> I can think of a few scenarios:
> 1) Reference processing is still done in a pause, but the theoretical
> worst case scenario for reference processing is bound by the live-set
> size. For example, marking of FinalReference objects during reference
> processing can in the worst case require marking the whole live-set (and
> in non-worst cases a substantial part of the live-set).
> 2) Weak root cleaning (e.g. StringTable/JNIGlobalRefs) is still done in
> a pause, but this has a theoretical worst case scenario of being bound
> by the heap size. For example, every object on the heap is a String
> which has been interned, so the time to scan/clean the StringTable will
> be bound by the heap size.

Ok, right. What do you suggest then? Mention those scenarios in the JEP?
We don't intend to implement concurrent stringtable/weakrefs/etc
processing at this point. We might do so in the future, but that is not
certain either.


> cheers,
> Per
> On 11/27/18 11:52 AM, Roman Kennke wrote:
>> Hi there,
>> I just noticed that we have only one 'Reviewed-by:' entry in the
>> Shenandoah JEP. I know that several people have reviewed it in the past,
>> as I've incorporated several suggestions into the JEP. I believe the JEP
>> cannot move forward to 'proposed to target' without at least one more
>> added reviewer.
>> If you have reviewed the JEP in the past, and/or feel like reviewing it
>> now, please don't forget to add your 'Reviewed-by:' entry. I believe any
>> Reviewer familiar with the relevant field of expertise (GC and/or
>> Hotspot in this case) can review it and add his name to it.
>> Thanks!
>> Roman

More information about the hotspot-dev mailing list