Changeset 310 for trunk/thune/gc.c
- Timestamp:
- 11/20/06 03:13:29 (2 years ago)
- Files:
-
- 1 modified
-
trunk/thune/gc.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/thune/gc.c
r301 r310 145 145 146 146 147 static void _free Buffer( UrlanEnv* env, UGCArray* agc, UBuffer* buf )147 static void _freeResource( UrlanEnv* env, UGCArray* agc, UResource* buf ) 148 148 { 149 149 int idx = ((int) buf->dataType) - UT_BI_COUNT; 150 150 if( idx >= 0 ) 151 env->customDT[ idx ].gcDestroy Buffer( buf );151 env->customDT[ idx ].gcDestroyResource( buf ); 152 152 153 153 // Flag as unused. … … 156 156 // Link to free list. 157 157 buf->link = agc->freeList; 158 agc->freeList = buf - ((U Buffer*) agc->arr.ptr.v);158 agc->freeList = buf - ((UResource*) agc->arr.ptr.v); 159 159 160 160 agc->freeCount += 1; … … 165 165 btmp = buf; \ 166 166 if( btmp->dataType != UT_UNSET ) \ 167 _free Buffer( env, agc, btmp );168 169 static void _sweep Buffers( UrlanEnv* env, UArray* mark, UGCArray* agc )170 { 171 U Buffer* btmp;172 U Buffer* ait = (UBuffer*) agc->arr.ptr.v;167 _freeResource( env, agc, btmp ); 168 169 static void _sweepResources( UrlanEnv* env, UArray* mark, UGCArray* agc ) 170 { 171 UResource* btmp; 172 UResource* ait = (UResource*) agc->arr.ptr.v; 173 173 uint8_t* it = mark->ptr.b; 174 174 uint8_t* end = it + mark->used; … … 253 253 254 254 255 void ur_gcMark Buffer( UCollector* gc, UIndex idx )256 { 257 ur_setBit( gc->bs Buf.ptr.b, idx );255 void ur_gcMarkResource( UCollector* gc, UIndex idx ) 256 { 257 ur_setBit( gc->bsRes.ptr.b, idx ); 258 258 } 259 259 … … 618 618 GC_BITSET( _gc.bsBlock, env->blocks, SWEEP_START_BLOCK ); 619 619 GC_BITSET( _gc.bsBin, env->bin, SWEEP_START_BIN ); 620 GC_BITSET( _gc.bs Buf, env->buffers,0 );620 GC_BITSET( _gc.bsRes, env->resources, 0 ); 621 621 622 622 #ifdef PAIRPOOL_H … … 743 743 #endif 744 744 745 _sweep Buffers( env, &_gc.bsBuf, &env->buffers );745 _sweepResources( env, &_gc.bsRes, &env->resources ); 746 746 _sweepArray( &_gc.bsBlock, &env->blocks ); 747 747 _sweepArray( &_gc.bsBin, &env->bin ); … … 749 749 ur_arrayFree( &_gc.blkChecked ); 750 750 751 ur_arrayFree( &_gc.bs Buf);751 ur_arrayFree( &_gc.bsRes ); 752 752 ur_arrayFree( &_gc.bsBlock ); 753 753 ur_arrayFree( &_gc.bsBin );
