JEP 189: Shenandoah: An Ultra-Low-Pause-Time Garbage Collector

Roman Kennke rkennke at
Tue Feb 4 23:39:43 UTC 2014

Hi Krystal,

> I'd like to ask a couple of questions about the barriers, out of
> curiosity.
> The JEP says:
> "...All reads by the Java Threads indirect through this forwarding
> pointer. All writes to objects in targeted regions must first copy the
> object and then write to the object in its new location."
> Does this mean Shenandoah employs both read and write barriers?


>  The read barrier is a Brooks-style barrier, but the write barrier is
> more than a plain SATB write barrier (as in G1), right?


> Will Shenandoah try to reuse the existing write barrier logic in
> HotSpot and extend it to catch all field writes as opposed to just
> reference field writes, or will it use some other form of write
> barrier?

It uses the G1 barrier for SATB and extends it for the preemptive

We don't use memory protection tricks ;-) Actually we can't, if we
protecting our from-spaces, which would be a great thing to do, at least
for debugging, we couldn't update the brooks pointers any more when we
do the evacuation.

Best regards,

> e.g. The Chakra JavaScript engine from Microsoft apparently uses a
> write barrier implemented via memory protection trick, as noted in one
> of their blog
> posts:
> "Because Chakra’s collector works concurrently with the main script
> thread, the running script may modify or create new objects on pages
> that have already been processed. To make sure such objects aren’t
> prematurely collected, Chakra write-protects pages before the mark
> phase starts. Pages that have been written to during the mark phase
> must be later rescanned on the main script thread. Because leaf
> objects don’t require such processing, pages from the leaf object
> space don’t need to be write-protected or rescanned later. This saves
> precious time on the main script thread, reducing pauses."
> Thanks,
> Kris
> On Fri, Jan 17, 2014 at 11:28 AM, Roman Kennke <rkennke at>
> wrote:
>         Hi there,
>         Sorry being so silent... we are very happy that the Shenandoah
>         JEP has
>         finally been posted and would welcome any comments, questions,
>         discussion from the community.
>         Cheers,
>         Roman
>         Am Mittwoch, den 15.01.2014, 11:49 -0800 schrieb
>         mark.reinhold at
>         > Posted:
>         >
>         > - Mark

More information about the hotspot-gc-dev mailing list