1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-16 16:50:21 +02:00

Merge branch 'master' into boehm-demers-weiser-gc

Conflicts:
	libguile/Makefile.am
	libguile/bytevectors.c
	libguile/gc-card.c
	libguile/gc-mark.c
	libguile/programs.c
	libguile/srcprop.c
	libguile/srfi-14.c
	libguile/symbols.c
	libguile/threads.c
	libguile/unif.c
	libguile/vm.c
This commit is contained in:
Ludovic Courtès 2009-08-28 19:01:19 +02:00
commit 7af531508c
205 changed files with 18774 additions and 8289 deletions

View file

@ -386,34 +386,29 @@ do { \
/* See frames.h for the layout of stack frames */
/* When this is called, bp points to the new program data,
and the arguments are already on the stack */
#define NEW_FRAME() \
#define INIT_FRAME() \
{ \
int i; \
SCM *dl, *data; \
scm_byte_t *ra = ip; \
\
/* Save old registers */ \
ra = ip; \
dl = fp; \
\
/* New registers */ \
fp = sp - bp->nargs + 1; \
data = SCM_FRAME_DATA_ADDRESS (fp); \
sp = data + 2; \
sp += bp->nlocs; \
CHECK_OVERFLOW (); \
stack_base = sp; \
ip = bp->base; \
\
/* Init local variables */ \
for (i=bp->nlocs; i; i--) \
data[-i] = SCM_UNDEFINED; \
\
/* Set frame data */ \
data[2] = (SCM)ra; \
data[1] = 0x0; \
data[0] = (SCM)dl; \
for (i=bp->nlocs; i;) \
sp[-(--i)] = SCM_UNDEFINED; \
}
#define DROP_FRAME() \
{ \
sp -= 3; \
NULLSTACK (3); \
CHECK_UNDERFLOW (); \
}
/*
Local Variables:
c-file-style: "gnu"