1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 15:40:29 +02:00

* root.h (scm_root_state): removed the continuation_stack and

continuation_stack_ptr members, which have no apparent purpose.
	(scm_continuation_stack, scm_continuation_stack_ptr): #defines
	removed.
	* root.c (root_mark), init.c (restart_stack, start_stack), gc
	(scm_igc): remove all references to contination_stack and
	continuation_stack_ptr, avoiding allocation of a vector and
	useless processing during gc.
This commit is contained in:
Gary Houston 2001-09-15 21:56:52 +00:00
parent 455c0ac82b
commit 6c1b762870
5 changed files with 11 additions and 31 deletions

View file

@ -1,3 +1,14 @@
2001-09-15 Gary Houston <ghouston@arglist.com>
* root.h (scm_root_state): removed the continuation_stack and
continuation_stack_ptr members, which have no apparent purpose.
(scm_continuation_stack, scm_continuation_stack_ptr): #defines
removed.
* root.c (root_mark), init.c (restart_stack, start_stack), gc
(scm_igc): remove all references to contination_stack and
continuation_stack_ptr, avoiding allocation of a vector and
useless processing during gc.
2001-09-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
* guardians.c (tconc_t, t_tconc): Renamed tconc_t to t_tconc.

View file

@ -1074,21 +1074,6 @@ scm_igc (const char *what)
++scm_gc_heap_lock;
/* flush dead entries from the continuation stack */
{
long x;
long bound;
SCM * elts;
elts = SCM_VELTS (scm_continuation_stack);
bound = SCM_VECTOR_LENGTH (scm_continuation_stack);
x = SCM_INUM (scm_continuation_stack_ptr);
while (x < bound)
{
elts[x] = SCM_BOOL_F;
++x;
}
}
scm_c_hook_run (&scm_before_mark_c_hook, 0);
clear_mark_space ();

View file

@ -162,7 +162,6 @@ restart_stack (void *base)
SCM_DFRAME (scm_rootcont) = scm_last_debug_frame = 0;
#endif
SCM_BASE (scm_rootcont) = base;
scm_continuation_stack_ptr = SCM_MAKINUM (0);
}
static void
@ -187,13 +186,6 @@ start_stack (void *base)
contregs->seq = 0;
SCM_NEWSMOB (scm_rootcont, scm_tc16_continuation, contregs);
}
/* The root continuation is further initialized by restart_stack. */
/* Create the look-aside stack for variables that are shared between
* captured continuations.
*/
scm_continuation_stack = scm_c_make_vector (512, SCM_UNDEFINED);
/* The continuation stack is further initialized by restart_stack. */
/* The remainder of stack initialization is factored out to another
* function so that if this stack is ever exitted, it can be

View file

@ -73,8 +73,6 @@ root_mark (SCM root)
scm_gc_mark (s->rootcont);
scm_gc_mark (s->dynwinds);
scm_gc_mark (s->continuation_stack);
scm_gc_mark (s->continuation_stack_ptr);
scm_gc_mark (s->progargs);
scm_gc_mark (s->exitval);
scm_gc_mark (s->cur_inp);
@ -122,8 +120,6 @@ scm_make_root (SCM parent)
/* Initialize everything right now, in case a GC happens early. */
root_state->rootcont
= root_state->dynwinds
= root_state->continuation_stack
= root_state->continuation_stack_ptr
= root_state->progargs
= root_state->exitval
= root_state->cur_inp

View file

@ -89,8 +89,6 @@ typedef struct scm_root_state
SCM rootcont;
SCM dynwinds;
SCM continuation_stack;
SCM continuation_stack_ptr;
#ifdef DEBUG_EXTENSIONS
/* It is very inefficient to have this variable in the root state. */
scm_t_debug_frame *last_debug_frame;
@ -119,8 +117,6 @@ typedef struct scm_root_state
#define scm_rootcont (scm_root->rootcont)
#define scm_dynwinds (scm_root->dynwinds)
#define scm_continuation_stack (scm_root->continuation_stack)
#define scm_continuation_stack_ptr (scm_root->continuation_stack_ptr)
#define scm_progargs (scm_root->progargs)
#ifdef USE_THREADS
#define scm_last_debug_frame (scm_root->last_debug_frame)