|
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
[Prev in Thread] | Current Thread | [Next in Thread] |