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

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

by Daniel Frampton :: Rate this Message:

Reply to Author | View in Thread

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

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