write barrier and card marking
David Holmes
David.Holmes at oracle.com
Fri Aug 13 23:23:10 UTC 2010
Tony,
This is a GC question not a runtime question so I've cc'ed the GC list
and bcc'ed the runtime list.
David
Tony Guan said the following on 08/14/10 02:28:
> Hi there,
>
> I wrote one collector of my own in hotspot, but now I have a problem.
> In the new collector, I inserted another generation between the
> defNewGeneration and TenuredGeneration. To collect this new
> generation, I modified the defNewGeneration collector, which is gc by
> copying survivors.
>
> After the collection on this generation, I am now having an Null
> pointer exception in the java program. My guess is that the collector
> failed to identify the live objects in the generation. Here I need
> some one to tell me if there is any missed modification on the write
> barrier or card marking.
>
> As far as I know, the write barrier works whenever a field write
> happens, without regards to which generation is influenced. So this
> means that the card of the written field will be marked. So my problem
> should be in the closures that check if there are any live objects in
> the generation. Am I right?
>
> Or other than the card scanning, is there anything special that I
> should process?
>
> Thanks a lot!
>
>
> Tony (Xiaohua Guan)
More information about the hotspot-gc-dev
mailing list