/[guile]/guile/guile-core/libguile/gc-mark.c
ViewVC logotype

Diff of /guile/guile-core/libguile/gc-mark.c

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

revision 1.4 by hanwen, Thu Aug 8 23:18:23 2002 UTC revision 1.5 by mvo, Sun Nov 3 22:05:09 2002 UTC
# Line 110  scm_mark_all (void) Line 110  scm_mark_all (void)
110        
111    scm_i_clear_mark_space ();    scm_i_clear_mark_space ();
112        
 #ifndef USE_THREADS  
   
   /* Mark objects on the C stack. */  
   SCM_FLUSH_REGISTER_WINDOWS;  
   /* This assumes that all registers are saved into the jmp_buf */  
   setjmp (scm_save_regs_gc_mark);  
   scm_mark_locations ((SCM_STACKITEM *) scm_save_regs_gc_mark,  
                       (   (size_t) (sizeof (SCM_STACKITEM) - 1 +  
                                        sizeof scm_save_regs_gc_mark)  
                           / sizeof (SCM_STACKITEM)));  
   
   {  
     unsigned long stack_len = scm_stack_size (scm_stack_base);  
 #ifdef SCM_STACK_GROWS_UP  
     scm_mark_locations (scm_stack_base, stack_len);  
 #else  
     scm_mark_locations (scm_stack_base - stack_len, stack_len);  
 #endif  
   }  
   SCM_MARK_BACKING_STORE();  
   
 #else /* USE_THREADS */  
   
113    /* Mark every thread's stack and registers */    /* Mark every thread's stack and registers */
114    scm_threads_mark_stacks ();    scm_threads_mark_stacks ();
115    
 #endif /* USE_THREADS */  
   
116    j = SCM_NUM_PROTECTS;    j = SCM_NUM_PROTECTS;
117    while (j--)    while (j--)
118      scm_gc_mark (scm_sys_protects[j]);      scm_gc_mark (scm_sys_protects[j]);
# Line 161  scm_mark_all (void) Line 136  scm_mark_all (void)
136     * in different phases of GC     * in different phases of GC
137     */     */
138    scm_mark_subr_table ();    scm_mark_subr_table ();
   
   
 #ifndef USE_THREADS  
   scm_gc_mark (scm_root->handle);  
 #endif  
139  }  }
140    
141  /* {Mark/Sweep}  /* {Mark/Sweep}

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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