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

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

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

revision 1.10 by hanwen, Mon Sep 9 14:09:35 2002 UTC revision 1.11 by mdj, Mon Dec 9 13:42:58 2002 UTC
# Line 130  scm_realloc (void *mem, size_t size) Line 130  scm_realloc (void *mem, size_t size)
130    if (ptr)    if (ptr)
131      return ptr;      return ptr;
132    
133      scm_i_thread_put_to_sleep ();
134      
135    scm_i_sweep_all_segments ("realloc");    scm_i_sweep_all_segments ("realloc");
136        
137    SCM_SYSCALL (ptr = realloc (mem, size));    SCM_SYSCALL (ptr = realloc (mem, size));
138    if (ptr)    if (ptr)
139      return ptr;      {
140          scm_i_thread_wake_up ();
141          return ptr;
142        }
143    
144    scm_igc ("realloc");    scm_igc ("realloc");
145    scm_i_sweep_all_segments ("realloc");    scm_i_sweep_all_segments ("realloc");
146        
147      scm_i_thread_wake_up ();
148      
149    SCM_SYSCALL (ptr = realloc (mem, size));    SCM_SYSCALL (ptr = realloc (mem, size));
150    if (ptr)    if (ptr)
151      return ptr;      return ptr;
# Line 208  scm_gc_register_collectable_memory (void Line 215  scm_gc_register_collectable_memory (void
215     */     */
216    if (scm_mallocated > scm_mtrigger)    if (scm_mallocated > scm_mtrigger)
217      {      {
218        unsigned long prev_alloced  = scm_mallocated;        unsigned long prev_alloced;
219        float yield;        float yield;
220                
221          scm_i_thread_put_to_sleep ();
222          
223          prev_alloced  = scm_mallocated;
224        scm_igc (what);        scm_igc (what);
225        scm_i_sweep_all_segments("mtrigger");        scm_i_sweep_all_segments ("mtrigger");
226    
227        yield = ((float)prev_alloced - (float) scm_mallocated)        yield = ((float)prev_alloced - (float) scm_mallocated)
228          / (float) prev_alloced;          / (float) prev_alloced;
# Line 243  scm_gc_register_collectable_memory (void Line 253  scm_gc_register_collectable_memory (void
253            fprintf (stderr, "Mtrigger sweep: ineffective. New trigger %d\n", scm_mtrigger);            fprintf (stderr, "Mtrigger sweep: ineffective. New trigger %d\n", scm_mtrigger);
254  #endif  #endif
255          }          }
256          
257          scm_i_thread_wake_up ();
258      }      }
259        
260  #ifdef GUILE_DEBUG_MALLOC  #ifdef GUILE_DEBUG_MALLOC

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

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