1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

move SCM_FLUSH_REGISTER_WINDOWS to continuations.c

* libguile/continuations.c: Move SCM_FLUSH_REGISTER_WINDOWS define
  here...
* libguile/__scm.h: ...from here.
This commit is contained in:
Andy Wingo 2011-05-15 12:09:20 +02:00
parent 5c838a9759
commit 2acdd822fb
2 changed files with 11 additions and 11 deletions

View file

@ -386,17 +386,6 @@ void scm_ia64_longjmp (scm_i_jmp_buf *, int);
#define SCM_I_LONGJMP longjmp
#endif
/* James Clark came up with this neat one instruction fix for
* continuations on the SPARC. It flushes the register windows so
* that all the state of the process is contained in the stack.
*/
#if defined (sparc) || defined (__sparc__) || defined (__sparc)
# define SCM_FLUSH_REGISTER_WINDOWS asm("ta 3")
#else
# define SCM_FLUSH_REGISTER_WINDOWS /* empty */
#endif
/* If stack is not longword aligned then
*/

View file

@ -182,6 +182,17 @@ continuation_print (SCM obj, SCM port, scm_print_state *state SCM_UNUSED)
return 1;
}
/* James Clark came up with this neat one instruction fix for
* continuations on the SPARC. It flushes the register windows so
* that all the state of the process is contained in the stack.
*/
#if defined (sparc) || defined (__sparc__) || defined (__sparc)
# define SCM_FLUSH_REGISTER_WINDOWS asm("ta 3")
#else
# define SCM_FLUSH_REGISTER_WINDOWS /* empty */
#endif
/* this may return more than once: the first time with the escape
procedure, then subsequently with SCM_UNDEFINED (the vals already having been
placed on the VM stack). */