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

Re: Couple things...

This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.




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