]> git.eshelyaron.com Git - emacs.git/commitdiff
(mark_byte_stack, unmark_byte_stack): Ignore the markbit.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Sep 2003 21:58:32 +0000 (21:58 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Sep 2003 21:58:32 +0000 (21:58 +0000)
src/bytecode.c

index a4ade9650ecf3a55781421af662c6bdc3808b38e..a13ecc19770a0dd5e0604be510ab41a9ee3b9f46 100644 (file)
@@ -286,27 +286,13 @@ mark_byte_stack ()
         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);
-         }
-
-      if (!XMARKBIT (stack->byte_string))
-       {
-          mark_object (stack->byte_string);
-         XMARK (stack->byte_string);
-       }
+       mark_object (*obj);
 
-      if (!XMARKBIT (stack->constants))
-       {
-         mark_object (stack->constants);
-         XMARK (stack->constants);
-       }
+      mark_object (stack->byte_string);
+      mark_object (stack->constants);
     }
 }
 
@@ -318,16 +304,9 @@ void
 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;