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

Re: Couple things...




On Sat, 17 Jan 2004, Michael Sperber wrote:

>>>>>> "Ray" == Ray Dillinger <bear@xxxxxxxxx> writes:
>
>Ray> 4. My runtime does not have a C stack, at all, and allocates all
>Ray>    call frames on the heap, with attendant risk of garbage
>Ray>    collection.  To the extent that there are primitive-data stacks,
>Ray>    they're small structures allocated inside the scheme call-frames,
>Ray>    on the heap.  (note that this is also part of the source of pain
>Ray>    for items 2 and 3 because it means I can't funcall or call to C
>Ray>    without allocating on the heap.  The only way to forestall GC is
>Ray>    to preallocate before getting into the area GC is locked out of).
>
>Scheme 48 works the same way.  (It uses a cache for the current
>continuation, but that doesn't change things significantly.)  Could
>you spell out where exactly this would cause a problem?

It's not immediately obvious to me how to implement some of the
functionality that's not allowed to GC without allocating call
frames - particularly since strings are represented internally
as a tree structure.  I'll look more closely at it tomorrow and
cite specific cases.

				Bear