/[emacs]/emacs/src/bytecode.c
ViewVC logotype

Diff of /emacs/src/bytecode.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.78 by miles, Mon Sep 1 15:45:51 2003 UTC revision 1.79 by monnier, Thu Sep 11 21:58:32 2003 UTC
# Line 286  mark_byte_stack () Line 286  mark_byte_stack ()
286           The culprit is found in the frame of Fbyte_code where the           The culprit is found in the frame of Fbyte_code where the
287           address of its local variable `stack' is equal to the           address of its local variable `stack' is equal to the
288           recorded value of `stack' here.  */           recorded value of `stack' here.  */
289        if (!stack->top)        eassert (stack->top);
         abort ();  
290    
291        for (obj = stack->bottom; obj <= stack->top; ++obj)        for (obj = stack->bottom; obj <= stack->top; ++obj)
292          if (!XMARKBIT (*obj))          mark_object (*obj);
           {  
             mark_object (*obj);  
             XMARK (*obj);  
           }  
293    
294        if (!XMARKBIT (stack->byte_string))        mark_object (stack->byte_string);
295          {        mark_object (stack->constants);
           mark_object (stack->byte_string);  
           XMARK (stack->byte_string);  
         }  
   
       if (!XMARKBIT (stack->constants))  
         {  
           mark_object (stack->constants);  
           XMARK (stack->constants);  
         }  
296      }      }
297  }  }
298    
# Line 318  void Line 304  void
304  unmark_byte_stack ()  unmark_byte_stack ()
305  {  {
306    struct byte_stack *stack;    struct byte_stack *stack;
   Lisp_Object *obj;  
307    
308    for (stack = byte_stack_list; stack; stack = stack->next)    for (stack = byte_stack_list; stack; stack = stack->next)
309      {      {
       for (obj = stack->bottom; obj <= stack->top; ++obj)  
         XUNMARK (*obj);  
   
       XUNMARK (stack->byte_string);  
       XUNMARK (stack->constants);  
   
310        if (stack->byte_string_start != SDATA (stack->byte_string))        if (stack->byte_string_start != SDATA (stack->byte_string))
311          {          {
312            int offset = stack->pc - stack->byte_string_start;            int offset = stack->pc - stack->byte_string_start;

Legend:
Removed from v.1.78  
changed lines
  Added in v.1.79

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26