A couple of questions for G1 developers

Andrew Haley aph at redhat.com
Wed Jun 12 09:24:26 UTC 2019

On 6/3/19 2:52 PM, Thomas Schatzl wrote:
> The racing components are on the one hand the allocating mutator
> thread, and on the other hand refinement. While the card table contains
> a special "is-young" value for newly allocated regions, this setting
> the "is-young" value is racy with the mutators. So you might end up
> with refinement looking at not fully initialized contents of the klass
> value, where a NULL klass serves as indicator for that situation (and
> refinement should give up refining that card for now).

So there's something I still don't get. (Please have patience with
me.)  When an object is allocated (in Eden space, say) its memory is
not zeroed until after it has been allocated whereupon becomes visible
to a collector. What am I misubderstanding?

Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-gc-dev mailing list