On Dec 28, 2006, at 11:01 AM, Rana Dasgupta wrote:
On 12/28/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
>Question - why would this be part of the GC system, rather than a VM
>facility that the GC uses?
It is a VM faciity, but the only consumer is the GC. So it doesn't
matter
where the code lives.
really? We're claiming that we do pluggable GC, so I do think it
matters. Also, doesn't this tie all sorts of user-thread priority
management and balancing issues into the GC codebase?
Finalization is hardly ever used intensively by real apps, as far
as I know,
agreed
except to release unmanaged resources that can't wait for process
teardown.
I doubt people even do that.
We may be overthinking the design. I don't see a problem with
Weldon's per
cpu idea( though I don't know if one can assume that the JVM can
control
thread scheduling, it depends on how the JVM is hosted ). I think
that it is
OK to fail with out of memory for a badly written app. As mentioned
elsewhere, I think, I would suggest waiting for a real problem to
surface
with an app or a benchmark we care about before trying to come up
with the
design that will solve it.
Well, we need a finalizer. I agree that we're overthinking this a
bit, but I'd like to understand why anyone thinks this belongs in the
GC - we keep claiming to do a modular VM, yet then do things like
this... :)
geir