GC statistics (was Re: big project ported)

Tom Tromey tromey@cygnus.com
Wed Oct 27 10:15:00 GMT 1999


>>>>> "Godmar" == Godmar Back <gback@cs.utah.edu> writes:

Godmar> The other option, which is slower, but presumably still a lot
Godmar> faster than the current state of affairs is to do what I did
Godmar> for kaffe: create a bitmap for each class (ideally in the same
Godmar> format so I don't have to recompute it for gcj classes:-) The
Godmar> code is in kaffe/kaffevm/classMethod.c:resolveObjectFields; it
Godmar> should translate nicely to libgcj.

What is the copyright on this code?  I routinely *don't* look at other
implementations.  This sucks for cross-pollinization, but is good from
a cleanroom perspective.

The Boehm collector has built-in support for bitmap-based marking;
this is in the inner loop of the marker.  That is what Boehm suggested
we use.  We can only use it for "small" classes (the bitmaps have a
fixed maximum size), but I think most Java objects will fit.  My plan
is to add a new field to Class and compute the bitmap at class init
time.

Going this route will eliminate the shared-library function call
penalty from the marking loop, which should be a win.

Tom


More information about the Java mailing list