How does g1 handle circular reference between regions ?

Igor Veresov iggy.veresov at gmail.com
Tue Nov 27 07:49:26 UTC 2012


By doing global reachability analysis (aka marking). 
There are two main sources of information that characterize the liveness of the object:
1. remembered sets
2. marking bitmap (actually there are two of them, one can be modified, while the other one is being used).

A remembered set is a conservative estimate, but the bitmap is exact. If the bitmap says the object is dead, it truly is.
And Rsets are used for reachability analysis only for the young generation.
Rsets also, obviously, point to places where the pointer fixup needs to be done. That's their primary function that facilitates incremental collections.

Also, this could be useful: http://labs.oracle.com/jtech/pubs/04-g1-paper-ismm.pdf

igor

On Nov 26, 2012, at 7:41 PM, Sean Chou <zhouyx at linux.vnet.ibm.com> wrote:

> Hello,
> 
> In case Object oA in regin A references oB in region B, oB references oC in regin C, and oc reference oA ? These objects are all in remember set of these regions.
> 
> -- 
> Best Regards,
> Sean Chou
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20121126/afb2213c/attachment.htm>


More information about the hotspot-gc-dev mailing list