>>>>> "Etienne" == Etienne M Gagnon <[EMAIL PROTECTED]> writes:

Etienne> is incompatible with precise garbage collection schemes,

Jeff> False.

Etienne> I disagree with you.
Etienne> [ lots of reasons ]

There are at least two things you can do.

You can do a mostly-precise GC.  In fact the GC in libgcj is mostly
precise.  We only scan the stack conservatively.  My understanding is
that on current 64-bit architectures, a conservative scan is pretty
unlikely to erroneously maintain much data.  However, I'm not really
the gcj GC expert; Hans Boehm is.

You can add tables to the compiler output so that the GC can discover
which registers and stack slots are pointers, even disguised pointers.
Then you can use this information in the GC to allow it to move
objects around.  There are some papers on how to do this, including
one where they instrumented gcc for the Modula-3 compiler.  So, it has
actually been implemented at least once.

I don't think any of this is relevant though.

Tom

_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath

Reply via email to