Richard Kelsey <xxxxxx@s48.org> writes:
> From: Jim Blandy <xxxxxx@redhat.com>
> 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.