write barrier and card marking

Y. Srinivas Ramakrishna y.s.ramakrishna at oracle.com
Mon Aug 16 18:22:05 PDT 2010


Tony Guan wrote:
> Hi Ramki,
> I got the precise information about this failure:
> 
> [Verifying threads permgen tenured generation TransNewGeneration def
> new generation remset:
>  obj(0x7f107a5708f0)in gen(2) was pointed by p(0x7f107aae2450) in
> gen(3), _boundary=0x7f107aad0000.
> 
> The _boundary is the perm starting address, so it's a pointer from
> perm(gen 3) to tenured (gen 2). Since collection on old gen will also
> collect perm gen, this should be fine, isn't it?

Right, if two "generations" are always collected together you would not
need to track pointer references between them. You would probably want
to relax the assert accordingly then, i am guessing. And then, hopefully,
the real problem will reveal itself (or your verification code can dump
all the violations and you can find the real one from the false one).

all the best.
-- ramki


More information about the hotspot-gc-dev mailing list