DEADSOFTWARE

removed malloc/free from Kernel
[cpc.git] / src / native / linux / generic / System / Mod / Kernel.cp
index 3e0ee50ad30e36e40d85dc4849aff659aa35c0f3..115a773f82860be78230ca4b089622ee056e17aa 100644 (file)
@@ -459,12 +459,18 @@ MODULE Kernel;
 
   PROCEDURE AllocHeapMem (size: INTEGER; VAR c: Cluster);
     CONST N = 65536;  (* cluster size for dll *)
-    VAR adr, allocated: INTEGER;
+    VAR adr, allocated, newsize: INTEGER;
   BEGIN
     INC(size, 16);
     ASSERT(size > 0, 100); adr := 0;
-    IF size < N THEN adr := stdlib.malloc(N) END;
-    IF adr = 0 THEN adr := stdlib.malloc(size); allocated := size ELSE allocated := N END;
+    IF size < N THEN
+      adr := AllocMem(N, newsize);
+      allocated := newsize
+    END;
+    IF adr = 0 THEN
+      adr := AllocMem(size, newsize);
+      allocated := newsize
+    END;
     IF adr = 0 THEN c := NIL
     ELSE
       c := S.VAL(Cluster, (adr + 15) DIV 16 * 16); c.max := adr;
@@ -478,7 +484,7 @@ MODULE Kernel;
   PROCEDURE FreeHeapMem (c: Cluster);
   BEGIN
     DEC(used, c.size); DEC(total, c.size);
-    stdlib.free(S.VAL(ADDRESS, c.max))
+    FreeMem(S.VAL(ADDRESS, c.max), c.size)
   END FreeHeapMem;
 
   PROCEDURE HeapFull (size: INTEGER): BOOLEAN;