* Re: [Guile-commits] GNU Guile branch, master, updated. release_1-9-8-23-gea6b18e [not found] <E1NiTsQ-0000bX-AH@vcs-noshell.in.savannah.gnu.org> @ 2010-02-28 21:31 ` Ludovic Courtès 2010-07-17 10:12 ` Andy Wingo 0 siblings, 1 reply; 4+ messages in thread From: Ludovic Courtès @ 2010-02-28 21:31 UTC (permalink / raw) To: Andy Wingo; +Cc: guile-devel Hello! (Sorry for the late & light review...) "Andy Wingo" <wingo@pobox.com> writes: > diff --git a/libguile/fluids.h b/libguile/fluids.h > index 7aefd47..0d61fd2 100644 > --- a/libguile/fluids.h > +++ b/libguile/fluids.h > @@ -54,13 +54,8 @@ > grow. > */ > > -/* The fastest way to acces/modify the value of a fluid. These macros > - do no error checking at all. The first argument is the index > - number of the fluid, obtained via SCM_FLUID_NUM, not the fluid > - itself. You must make sure that the fluid remains protected as > - long you use its number since numbers of unused fluids are reused > - eventually. > -*/ > +#define SCM_I_FLUID_P(x) (!SCM_IMP (x) && SCM_TYP7 (x) == scm_tc7_fluid) How about renaming it to ‘SCM_FLUID_P’ and making it public? > +#define SCM_I_FLUID_NUM(x) ((size_t)SCM_CELL_WORD_1(x)) Could be in #ifdef BUILDING_LIBGUILE? > diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c > index 75dd613..5d1e1d6 100644 > --- a/libguile/vm-engine.c > +++ b/libguile/vm-engine.c > @@ -47,6 +47,7 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs) > SCM *objects = NULL; /* constant objects */ > size_t object_count = 0; /* length of OBJECTS */ > SCM *stack_limit = vp->stack_limit; /* stack limit address */ > + SCM dynstate = SCM_I_CURRENT_THREAD->dynamic_state; Out of curiosity, what effect does this have on performance? > + (<dynref> fluid) > + (<dynset> fluid exp) At first sight ‘fluid-ref’ and ‘fluid-set’ would seem more natural names to me. What do you think? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Guile-commits] GNU Guile branch, master, updated. release_1-9-8-23-gea6b18e 2010-02-28 21:31 ` [Guile-commits] GNU Guile branch, master, updated. release_1-9-8-23-gea6b18e Ludovic Courtès @ 2010-07-17 10:12 ` Andy Wingo 2010-07-17 12:52 ` Ludovic Courtès 0 siblings, 1 reply; 4+ messages in thread From: Andy Wingo @ 2010-07-17 10:12 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel Heya, On Sun 28 Feb 2010 22:31, ludo@gnu.org (Ludovic Courtès) writes: > (Sorry for the late & light review...) Sorry for the late & light reply :) >> +#define SCM_I_FLUID_P(x) (!SCM_IMP (x) && SCM_TYP7 (x) == scm_tc7_fluid) > > How about renaming it to ‘SCM_FLUID_P’ and making it public? Done >> +#define SCM_I_FLUID_NUM(x) ((size_t)SCM_CELL_WORD_1(x)) > > Could be in #ifdef BUILDING_LIBGUILE? Done >> diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c >> index 75dd613..5d1e1d6 100644 >> --- a/libguile/vm-engine.c >> +++ b/libguile/vm-engine.c >> @@ -47,6 +47,7 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs) >> SCM *objects = NULL; /* constant objects */ >> size_t object_count = 0; /* length of OBJECTS */ >> SCM *stack_limit = vp->stack_limit; /* stack limit address */ >> + SCM dynstate = SCM_I_CURRENT_THREAD->dynamic_state; > > Out of curiosity, what effect does this have on performance? Dunno! >> + (<dynref> fluid) >> + (<dynset> fluid exp) > > At first sight ‘fluid-ref’ and ‘fluid-set’ would seem more natural names > to me. What do you think? I had it like that before, but I did it this way to match dynwind and dynlet. Andy -- http://wingolog.org/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Guile-commits] GNU Guile branch, master, updated. release_1-9-8-23-gea6b18e 2010-07-17 10:12 ` Andy Wingo @ 2010-07-17 12:52 ` Ludovic Courtès 2010-07-18 10:24 ` Andy Wingo 0 siblings, 1 reply; 4+ messages in thread From: Ludovic Courtès @ 2010-07-17 12:52 UTC (permalink / raw) To: Andy Wingo; +Cc: guile-devel Hi, Andy Wingo <wingo@pobox.com> writes: > On Sun 28 Feb 2010 22:31, ludo@gnu.org (Ludovic Courtès) writes: [...] >>> + (<dynref> fluid) >>> + (<dynset> fluid exp) >> >> At first sight ‘fluid-ref’ and ‘fluid-set’ would seem more natural names >> to me. What do you think? > > I had it like that before, but I did it this way to match dynwind and dynlet. But it deals with fluids, right? In what sense does it match dynwind and dynlet? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Guile-commits] GNU Guile branch, master, updated. release_1-9-8-23-gea6b18e 2010-07-17 12:52 ` Ludovic Courtès @ 2010-07-18 10:24 ` Andy Wingo 0 siblings, 0 replies; 4+ messages in thread From: Andy Wingo @ 2010-07-18 10:24 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel Hi, On Sat 17 Jul 2010 14:52, ludo@gnu.org (Ludovic Courtès) writes: > Andy Wingo <wingo@pobox.com> writes: > >> On Sun 28 Feb 2010 22:31, ludo@gnu.org (Ludovic Courtès) writes: > > [...] > >>>> + (<dynref> fluid) >>>> + (<dynset> fluid exp) >>> >>> At first sight ‘fluid-ref’ and ‘fluid-set’ would seem more natural names >>> to me. What do you think? >> >> I had it like that before, but I did it this way to match dynwind and dynlet. > > But it deals with fluids, right? In what sense does it match dynwind > and dynlet? It deals with dynamic extent. dynlet is with-fluids. Andy -- http://wingolog.org/ ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-07-18 10:24 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <E1NiTsQ-0000bX-AH@vcs-noshell.in.savannah.gnu.org> 2010-02-28 21:31 ` [Guile-commits] GNU Guile branch, master, updated. release_1-9-8-23-gea6b18e Ludovic Courtès 2010-07-17 10:12 ` Andy Wingo 2010-07-17 12:52 ` Ludovic Courtès 2010-07-18 10:24 ` Andy Wingo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).