guile-devel
[Top][All Lists]
Advanced

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

Re: Critical section review


From: Neil Jerram
Subject: Re: Critical section review
Date: Wed, 23 Mar 2005 20:19:22 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20050105 Debian/1.7.5-1

Mikael Djurfeldt wrote:
On Wed, 23 Mar 2005 08:16:00 +0000, Neil Jerram <address@hidden> wrote:

OK, to get the ball rolling and fill in my understanding:
scm_make_memoized() in debug.c has:

  SCM_CRITICAL_SECTION_START;
  SCM_NEWSMOB (z, SCM_UNPACK (exp), SCM_UNPACK (env));
  SCM_NEWSMOB (ans, scm_tc16_memoized, SCM_UNPACK (z));
  SCM_CRITICAL_SECTION_END;


In addition, the first call to SCM_NEWSMOB is obviously bogus. It
should be a call to scm_cons.

Thanks.  So this is now just:
  SCM_RETURN_NEWSMOB (scm_tc16_memoized, scm_cons (exp, env));

which is a completely mechanical change except that one SCM_UNPACK(...) has become ((scm_t_bits) ...) - is the definition of SCM_NEWSMOB correct in using (scm_t_bits) rather than SCM_UNPACK ?

        Neil




reply via email to

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