guile-user
[Top][All Lists]
Advanced

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

Re: Need for scm_remember_upto_here_* in guile-2.0


From: David Kastrup
Subject: Re: Need for scm_remember_upto_here_* in guile-2.0
Date: Wed, 23 Sep 2015 09:26:27 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Chris Vine <address@hidden> writes:

> On Wed, 23 Sep 2015 00:35:09 +0100
> Chris Vine <address@hidden> wrote:
>> I think you were trying to answer my question, which was: "... is the
>> point that the scm_remember_upto_here_* functions are in practice only
>> needed for smobs which provide their own free function?" (that is,
>> which have no finalisers). I think you were giving the answer "Yes".
>
> Err, "... which have finalisers".
>
> Assuming this is the case, the guile manual example is rather unhelpful.

There are other forms of finalization than giving back memory, like
closing file descriptors, relinquishing a lock or semaphore and so on.
Also, a pointer to an array (rather than something more opaque like SCM)
is much more likely to be subject to strength reduction and address
arithmetic by the compiler, leading to a situation where looping through
some array does not leave a live pointer in registers and stack frame in
a form recognizable by libgc.

-- 
David Kastrup




reply via email to

[Prev in Thread] Current Thread [Next in Thread]