[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: when GC is permitted



Richard Kelsey <kelsey@xxxxxxx> writes:
>    From: Jim Blandy <jimb@xxxxxxxxxx>
>    Date: 07 Jan 2004 17:01:17 -0500
> 
>    I gather that your current inclination is to preserve the requirement
>    that GC may only take place during calls to specially marked API
>    functions.  Thus, collection must wait until all active C calls have
>    called a marked API function.  Is that correct?
> 
> Yes.  An exception, which should be mentioned in the SRFI and
> may affect your situation, is that systems using a conservative
> GC could GC at any time.

Okay, thanks for making that clear.

I've never really been comfortable with conservative GC, so the
exception you mention doesn't affect the suitability of SRFI-50 for
use by the implementation I've planned.

Since there's been some friction about these things, I wanted to make
explicit what meant when I said:

    So it seems to me that the requirement that all C calls must be in
    marked SRFI-50 functions seriously restricts SRFI-50's usefulness in
    these scenarios.  It's my impression that most developers would
    consider it "not useful".  (I admit that's just an impression.)

For developers working in single-threaded contexts, which is the more
common case, I think SRFI-50 will be quite useful.  And SRFI-50's low
overhead relative to JNI-style interfaces is an attractive feature.

The "not useful" judgement is what I think people will reach when
considering SRFI-50 in contexts that use multiple system-level
threads.