This is the mail archive of the java-discuss@sourceware.cygnus.com mailing list for the GCJ project. See the GCJ home page for more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Godmar> Either you'll need to check on the collector side that you Godmar> don't mark anything you haven't allocated. >> This is what we do right now. That's because the Boehm collector >> is smart about this sort of thing, though -- not from any real >> plan. Godmar> What exactly do you mean by "smart"? The Boehm GC knows which objects it allocated and which it did not. Godmar> Are you referring to the possibility of using Godmar> GC_make_descriptor for each class and have Boehm use a bitmap Godmar> when walking a class? We do precise marking of Java objects but we don't use the bitmap method. Instead we make our own mark functions. See gc_mark.h in the Boehm GC distribution. Godmar> You do know not whether F.type points to a class object you Godmar> can safely mark or not. How do you write the walk method for Godmar> class F such that you don't mark `type' unless it's okay to do Godmar> so? If the walk method uses Boehm's bitmap based descriptors, Godmar> how would that work? As I understand it, the Boehm GC `PUSH_CONTENTS' macro does sanity checks to make sure you are actually passing it an object which it allocated. This is just one way we currently rely on the Boehm GC to work around deficiencies in our compiler or runtime. Someday that will change. Tom