Changeset 3323
- Timestamp:
- 03/02/08 16:29:53 (9 months ago)
- Files:
-
- trunk/lib/compiler/dmd/lifetime.d (modified) (2 diffs)
- trunk/lib/compiler/gdc/lifetime.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/compiler/dmd/lifetime.d
r3145 r3323 95 95 * function called by Release() when Release()'s reference count goes 96 96 * to zero. 97 */97 */ 98 98 p = tango.stdc.stdlib.malloc(ci.init.length); 99 99 if (!p) … … 432 432 gc_free(*p); 433 433 *p = null; 434 } 435 } 436 437 438 /** 439 * 440 */ 441 extern (C) void _d_callinterfacefinalizer(void *p) 442 { 443 if (p) 444 { 445 Interface *pi = **cast(Interface ***)p; 446 Object o = cast(Object)(p - pi.offset); 447 rt_finalize(cast(void*)o); 434 448 } 435 449 } trunk/lib/compiler/gdc/lifetime.d
r3145 r3323 424 424 gc_free(*p); 425 425 *p = null; 426 } 427 } 428 429 430 /** 431 * 432 */ 433 extern (C) void _d_callinterfacefinalizer(void *p) 434 { 435 if (p) 436 { 437 Interface *pi = **cast(Interface ***)p; 438 Object o = cast(Object)(p - pi.offset); 439 rt_finalize(cast(void*)o); 426 440 } 427 441 }












