« Return to Thread: [rvm-research] Trace mature objects without interfering gc

Re: [rvm-research] Trace mature objects without interfering gc

by Dingwen Yuan :: Rate this Message:

Reply to Author | View in Thread

Hi Daniel,

So for every GC, there are two sanity checks, suppose the second check has found some objects which can not be found by the first check and these objects are found due to finalizer processing, can we say that these objects will die after that GC (After finalizing, an object is ready to be reclaimed)?

cheers,

Dingwen

2009/6/25 Daniel Frampton <zyridium@...>
You could try counting how many of the pretenured objects are finalizable to see if the numbers add up, and/or running without finalization with -X:gc:noFinalizer=true
 
It might also possible to add some instrumentation to finalization to give you quicker feedback.
 
Cheers,
Daniel.
On Thu, Jun 25, 2009 at 7:46 PM, Dingwen Yuan <pdvyuan@...> wrote:
Hi Daniel,

I have piggybacked into the sanity checking code to find living pretenured objects.
Something I found weird is that for one run of dacapo benchmark luindex, I pretenured in total 63713 objects, however 25633 in them were not found reachable until the sanity checking after the following *full gc*(All the sanity checking of nursery gc coming before can not found them). I wonder how can the finalizable processing resurrect so many otherwise dead objects. BTW, I'm using jikesrvm version 2.9.2 and GC algorithm is GenCopy.

Thanks in advance.


cheers,

Dingwen

2009/6/25 Daniel Frampton <zyridium@...>
First, I am assuming by your question that you are seeing a difference between before and after GC.
 
Yes, objects are the number of unique objects encountered during a trace.
 
The discrepancy you see is probably because of finalizable objects. There will often be a rise in visited objects over a GC due to the number of objects that are made strongly reachable by finalizable processing.
 
Cheers,
Daniel.

On Thu, Jun 25, 2009 at 4:09 PM, Dingwen Yuan <pdvyuan@...> wrote:
Hi Daniel,

Thanks. But why could the "objects" be different before and after a GC? Does "object" mean the number of living objects in the heap?

cheers,

Dingwen

2009/6/25 Daniel Frampton <zyridium@...>

The sanity checker runs before and after collection, performing complete transitive closures over the heap without changing any data (it stores all the required information in a hashtable).
 
Cheers,
Daniel.

On Thu, Jun 25, 2009 at 5:31 AM, Dingwen Yuan <pdvyuan@...> wrote:
Hello Chris,

Thank you for your suggestion.

To those who may know about sanity checker,

It seems that sanity checker can solve my problem. But I have a question -- why the sanity checker prints the statistics out twice for every GC and what's their difference?

cheers,

Dingwen

------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers



------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers

 « Return to Thread: [rvm-research] Trace mature objects without interfering gc