]> git.llucax.com Git - software/dgc/cdgc.git/blobdiff - rt/gc/cdgc/iface.d
Call memset() only for large enough chunks of data
[software/dgc/cdgc.git] / rt / gc / cdgc / iface.d
index 703bbef6c997b4b0921e3b1ee36254c583de7ea1..fec035a68c11f1292ea0ef1c5a4f3946561c96d6 100644 (file)
@@ -28,7 +28,8 @@ module rt.gc.cdgc.iface;
 
 import rt.gc.cdgc.gc: GC, BlkInfo;
 import rt.gc.cdgc.stats: GCStats;
 
 import rt.gc.cdgc.gc: GC, BlkInfo;
 import rt.gc.cdgc.stats: GCStats;
-import libc = rt.gc.cdgc.libc;
+
+import cstdlib = tango.stdc.stdlib;
 
 version=GCCLASS;
 
 
 version=GCCLASS;
 
@@ -66,13 +67,13 @@ extern (C) void gc_init()
     version (GCCLASS)
     {
         ClassInfo ci = GC.classinfo;
     version (GCCLASS)
     {
         ClassInfo ci = GC.classinfo;
-        void* p = libc.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
     {
         (cast(byte*)p)[0 .. ci.init.length] = ci.init[];
         _gc = cast(GC)p;
     }
     else
     {
-        _gc = cast(GC*) libc.calloc(1, GC.sizeof);
+        _gc = cast(GC*) cstdlib.calloc(1, GC.sizeof);
     }
     _gc.initialize();
     version (DigitalMars) version(OSX) {
     }
     _gc.initialize();
     version (DigitalMars) version(OSX) {
@@ -101,7 +102,6 @@ extern (C) void gc_term()
         //
         _gc.fullCollectNoStack(); // not really a 'collect all' -- still scans
                                   // static data area, roots, and ranges.
         //
         _gc.fullCollectNoStack(); // not really a 'collect all' -- still scans
                                   // static data area, roots, and ranges.
-        _gc.Dtor();
     } else {
         // default (safe) clenup
         _gc.fullCollect(); 
     } else {
         // default (safe) clenup
         _gc.fullCollect(); 
@@ -232,3 +232,6 @@ extern (C) Object gc_weakpointerGet( void* wp )
 {
     return _gc.weakpointerGet(wp);
 }
 {
     return _gc.weakpointerGet(wp);
 }
+
+
+// vim: set et sw=4 sts=4 :