[rvm-research] Question regarding the sanity checker

Shoaib Akram <[email protected]> Fri, 24 Mar 2017 22:14:36 +0100
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <[email protected]>
Hi All,

I am using the Jikes’s built-in sanity checker as an aid to debug a new collector I am writing. I have a question regarding the sanityExpectedRC() method in Gen.java. I notice that this method uses the isReachable() method of the corresponding space class to determine the liveness of a mature object during a full-heap collection. The isReachable() method for a moving mature space like Immix would return ALIVE if an object has the correct mark state or it has been forwarded. I am wondering why should the sanity checker visit a forwarded object in the first place. Also part of my confusion is that for the nursery objects, it always returns DEAD (after the collection) even though many nursery objects are also forwarded. My problem is that if I introduce a new generation between the nursery and the mature space, and I use an instance of a moving space for this generation (say Immix), then should I return ALIVE for only objects having the correct mark state or also include those having the forwarding pointer set. Can anyone who knows how the sanity checker works shed some light. Thanks :)

Regards,
Shoaib.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jikesrvm-researchers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers