/[guile]/guile/guile-core/libguile/gc.h
ViewVC logotype

Diff of /guile/guile-core/libguile/gc.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.111 by kryde, Tue Aug 12 21:08:34 2003 UTC revision 1.112 by kryde, Wed Aug 27 23:34:53 2003 UTC
# Line 342  SCM_API void scm_remember_upto_here_1 (S Line 342  SCM_API void scm_remember_upto_here_1 (S
342  SCM_API void scm_remember_upto_here_2 (SCM obj1, SCM obj2);  SCM_API void scm_remember_upto_here_2 (SCM obj1, SCM obj2);
343  SCM_API void scm_remember_upto_here (SCM obj1, ...);  SCM_API void scm_remember_upto_here (SCM obj1, ...);
344    
345  /* In GCC we can force a reference to an SCM with a little do-nothing asm,  /* In GCC we can force a reference to an SCM by making it an input to an
346     avoiding the code size and slowdown of an actual function call.     empty asm.  This avoids the code size and slowdown of an actual function
347     __volatile__ ensures nothing will be moved across the reference, and that     call.  Unfortunately there doesn't seem to be any way to do the varargs
348     it won't be optimized away (or rather only if proved unreachable).     scm_remember_upto_here like this.
349     Unfortunately there doesn't seem to be any way to do the varargs  
350     scm_remember_upto_here similarly.  */     __volatile__ ensures nothing will be moved across the asm, and it won't
351       be optimized away (or only if proved unreachable).  Constraint "g" can be
352       used on all processors and allows any memory or general register (or
353       immediate) operand.  The actual asm syntax doesn't matter, we don't want
354       to use it, just ensure the operand is still alive.  See "Extended Asm" in
355       the GCC manual for more.  */
356    
357  #ifdef __GNUC__  #ifdef __GNUC__
358  #define scm_remember_upto_here_1(x)             \  #define scm_remember_upto_here_1(x)             \

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.112

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26