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

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

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

revision 1.8 by hanwen, Wed Aug 28 23:13:30 2002 UTC revision 1.9 by hanwen, Thu Sep 5 21:12:21 2002 UTC
# Line 296  scm_i_insert_segment (scm_t_heap_segment Line 296  scm_i_insert_segment (scm_t_heap_segment
296        highest_cell = SCM_MAX (highest_cell, seg->bounds[1]);        highest_cell = SCM_MAX (highest_cell, seg->bounds[1]);
297      }      }
298    
299      
300    {    {
301      int i = 0;      int i = 0;
302      int j = 0;      int j = 0;
# Line 304  scm_i_insert_segment (scm_t_heap_segment Line 304  scm_i_insert_segment (scm_t_heap_segment
304      while (i < scm_i_heap_segment_table_size      while (i < scm_i_heap_segment_table_size
305             && scm_i_heap_segment_table[i]->bounds[0] <= seg->bounds[0])             && scm_i_heap_segment_table[i]->bounds[0] <= seg->bounds[0])
306        i++;        i++;
307    
308        /*
309          We insert a new entry; if that happens to be before the
310          "current" segment of a freelist, we must move the freelist index
311          as well.
312        */
313        if (scm_i_master_freelist.heap_segment_idx >= i)
314          scm_i_master_freelist.heap_segment_idx ++;
315        if (scm_i_master_freelist2.heap_segment_idx >= i)
316          scm_i_master_freelist2.heap_segment_idx ++;
317    
318      for (j = scm_i_heap_segment_table_size; j > i; --j)      for (j = scm_i_heap_segment_table_size; j > i; --j)
319        scm_i_heap_segment_table[j] = scm_i_heap_segment_table[j - 1];        scm_i_heap_segment_table[j] = scm_i_heap_segment_table[j - 1];
320    

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

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