changeset 52472:30a3237237e0

(mark_byte_stack, unmark_byte_stack): Ignore the markbit.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 11 Sep 2003 21:58:32 +0000
parents b25e157fbea7
children a3fd06a8c844
files src/bytecode.c
diffstat 1 files changed, 4 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/bytecode.c	Wed Sep 10 20:09:17 2003 +0000
+++ b/src/bytecode.c	Thu Sep 11 21:58:32 2003 +0000
@@ -286,27 +286,13 @@
 	 The culprit is found in the frame of Fbyte_code where the
 	 address of its local variable `stack' is equal to the
 	 recorded value of `stack' here.  */
-      if (!stack->top)
-	abort ();
+      eassert (stack->top);
 
       for (obj = stack->bottom; obj <= stack->top; ++obj)
-	if (!XMARKBIT (*obj))
-	  {
-	    mark_object (*obj);
-	    XMARK (*obj);
-	  }
+	mark_object (*obj);
 
-      if (!XMARKBIT (stack->byte_string))
-	{
-          mark_object (stack->byte_string);
-	  XMARK (stack->byte_string);
-	}
-
-      if (!XMARKBIT (stack->constants))
-	{
-	  mark_object (stack->constants);
-	  XMARK (stack->constants);
-	}
+      mark_object (stack->byte_string);
+      mark_object (stack->constants);
     }
 }
 
@@ -318,16 +304,9 @@
 unmark_byte_stack ()
 {
   struct byte_stack *stack;
-  Lisp_Object *obj;
 
   for (stack = byte_stack_list; stack; stack = stack->next)
     {
-      for (obj = stack->bottom; obj <= stack->top; ++obj)
-	XUNMARK (*obj);
-
-      XUNMARK (stack->byte_string);
-      XUNMARK (stack->constants);
-
       if (stack->byte_string_start != SDATA (stack->byte_string))
 	{
 	  int offset = stack->pc - stack->byte_string_start;