module rt.gc.cdgc.iface;
-import rt.gc.cdgc.gc;
-import rt.gc.cdgc.stats;
-import rt.gc.cdgc.libc;
+import rt.gc.cdgc.gc: GC, BlkInfo;
+import rt.gc.cdgc.stats: GCStats;
+
+import cstdlib = tango.stdc.stdlib;
version=GCCLASS;
extern (C) void gc_init()
{
version (GCCLASS)
- { void* p;
+ {
ClassInfo ci = GC.classinfo;
-
- p = malloc(ci.init.length);
+ void* p = cstdlib.malloc(ci.init.length);
(cast(byte*)p)[0 .. ci.init.length] = ci.init[];
_gc = cast(GC)p;
}
else
{
- _gc = cast(GC*) calloc(1, GC.sizeof);
+ _gc = cast(GC*) cstdlib.calloc(1, GC.sizeof);
}
_gc.initialize();
version (DigitalMars) version(OSX) {
//
_gc.fullCollectNoStack(); // not really a 'collect all' -- still scans
// static data area, roots, and ranges.
- _gc.Dtor();
} else {
// default (safe) clenup
- _gc.fullCollect();
+ _gc.fullCollect();
}
}
return _gc.clrAttr( p, a );
}
-extern (C) void* gc_malloc( size_t sz, uint ba = 0 )
+extern (C) void* gc_malloc(size_t sz, uint attrs = 0,
+ PointerMap ptrmap = PointerMap.init)
{
- return _gc.malloc( sz, ba );
+ return _gc.malloc(sz, attrs, ptrmap);
}
-extern (C) void* gc_calloc( size_t sz, uint ba = 0 )
+extern (C) void* gc_calloc(size_t sz, uint attrs = 0,
+ PointerMap ptrmap = PointerMap.init)
{
- return _gc.calloc( sz, ba );
+ return _gc.calloc(sz, attrs, ptrmap);
}
-extern (C) void* gc_realloc( void* p, size_t sz, uint ba = 0 )
+extern (C) void* gc_realloc(void* p, size_t sz, uint attrs = 0,
+ PointerMap ptrmap = PointerMap.init)
{
- return _gc.realloc( p, sz, ba );
+ return _gc.realloc(p, sz, attrs, ptrmap);
}
extern (C) size_t gc_extend( void* p, size_t mx, size_t sz )
{
return _gc.weakpointerGet(wp);
}
+
+
+// vim: set et sw=4 sts=4 :