/[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.17 by mvo, Sat Apr 5 19:10:23 2003 UTC revision 1.18 by hanwen, Wed May 14 11:01:23 2003 UTC
# Line 180  scm_strdup (const char *str) Line 180  scm_strdup (const char *str)
180  void  void
181  scm_gc_register_collectable_memory (void *mem, size_t size, const char *what)  scm_gc_register_collectable_memory (void *mem, size_t size, const char *what)
182  {  {
183      if (ULONG_MAX - size < scm_mallocated)
184        {
185          scm_memory_error ("Overflow of scm_mallocated: too much memory in use.");
186        }
187    
188    scm_mallocated += size;    scm_mallocated += size;
189    
190    /*    /*
# Line 230  scm_gc_register_collectable_memory (void Line 235  scm_gc_register_collectable_memory (void
235            float no_overflow_trigger = scm_mallocated * 110.0;            float no_overflow_trigger = scm_mallocated * 110.0;
236    
237            no_overflow_trigger /= (float)  (100.0 - scm_i_minyield_malloc);            no_overflow_trigger /= (float)  (100.0 - scm_i_minyield_malloc);
238            scm_mtrigger =  (unsigned long) no_overflow_trigger;  
239              
240              if (no_overflow_trigger >= (float) ULONG_MAX)
241                scm_mtrigger = ULONG_MAX;
242              else
243                scm_mtrigger =  (unsigned long) no_overflow_trigger;
244                        
245  #ifdef DEBUGINFO  #ifdef DEBUGINFO
246            fprintf (stderr, "Mtrigger sweep: ineffective. New trigger %d\n",            fprintf (stderr, "Mtrigger sweep: ineffective. New trigger %d\n",
# Line 268  scm_gc_malloc (size_t size, const char * Line 278  scm_gc_malloc (size_t size, const char *
278       again in scm_gc_register_collectable_memory.  We don't really       again in scm_gc_register_collectable_memory.  We don't really
279       want the second GC since it will not find new garbage.       want the second GC since it will not find new garbage.
280    
   
281       Note: this is a theoretical peeve. In reality, malloc() never       Note: this is a theoretical peeve. In reality, malloc() never
282       returns NULL. Usually, memory is overcommitted, and when you try       returns NULL. Usually, memory is overcommitted, and when you try
283       to write it the program is killed with signal 11. --hwn       to write it the program is killed with signal 11. --hwn

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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