Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/runtime/gc/ml-objects.c
ViewVC logotype

Diff of /sml/trunk/src/runtime/gc/ml-objects.c

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

revision 568, Tue Mar 7 03:59:09 2000 UTC revision 569, Tue Mar 7 04:01:07 2000 UTC
# Line 242  Line 242 
242                          : CODE_ALLOC_GEN;                          : CODE_ALLOC_GEN;
243      gen_t           *gen = heap->gen[allocGen-1];      gen_t           *gen = heap->gen[allocGen-1];
244      bigobj_desc_t   *dp;      bigobj_desc_t   *dp;
     ml_val_t        res;  
245    
246      BEGIN_CRITICAL_SECT(MP_GCGenLock)      BEGIN_CRITICAL_SECT(MP_GCGenLock)
247          dp = BO_Alloc (heap, allocGen, len);          dp = BO_Alloc (heap, allocGen, len);
# Line 311  Line 310 
310          int     gcLevel = (isBOXED(initVal) ? 0 : -1);          int     gcLevel = (isBOXED(initVal) ? 0 : -1);
311    
312          BEGIN_CRITICAL_SECT(MP_GCGenLock)          BEGIN_CRITICAL_SECT(MP_GCGenLock)
313    #ifdef MP_SUPPORT
314            checkGC:;     /* the MP version jumps to here to recheck for GC */            checkGC:;     /* the MP version jumps to here to recheck for GC */
315    #endif
316              if (! isACTIVE(ap)              if (! isACTIVE(ap)
317              || (AVAIL_SPACE(ap) <= (WORD_SZB*(len + 1))+msp->ml_heap->allocSzB))              || (AVAIL_SPACE(ap) <= (WORD_SZB*(len + 1))+msp->ml_heap->allocSzB))
318                  gcLevel = 1;                  gcLevel = 1;
# Line 373  Line 374 
374              if (! isACTIVE(ap)              if (! isACTIVE(ap)
375              || (AVAIL_SPACE(ap) <= (WORD_SZB*(len + 1))+msp->ml_heap->allocSzB))              || (AVAIL_SPACE(ap) <= (WORD_SZB*(len + 1))+msp->ml_heap->allocSzB))
376                  gcLevel = 1;                  gcLevel = 1;
377    #ifdef MP_SUPPORT
378            checkGC:;     /* the MP version jumps to here to redo the GC */            checkGC:;     /* the MP version jumps to here to redo the GC */
379    #endif
380              ap->reqSizeB += WORD_SZB*(len + 1);              ap->reqSizeB += WORD_SZB*(len + 1);
381              RELEASE_LOCK(MP_GCGenLock);              RELEASE_LOCK(MP_GCGenLock);
382                  InvokeGCWithRoots (msp, gcLevel, &root, NIL(ml_val_t *));                  InvokeGCWithRoots (msp, gcLevel, &root, NIL(ml_val_t *));

Legend:
Removed from v.568  
changed lines
  Added in v.569

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0