kolibrios-fun/programs/develop/fp/rtl/sysheap.inc

57 lines
992 B
PHP
Raw Normal View History

{TODO}
function SysOSAlloc(Size: PtrInt): Pointer;
begin
Result := kos_alloc(Size);
end;
{$define HAS_SYSOSFREE}
procedure SysOSFree(P: Pointer; Size: PtrInt);
begin
kos_free(P);
end;
(*
{DEBUG version}
var
SysMemoryBlocks: array[Byte] of record
Used: Boolean;
Address: Pointer;
Size: Longint;
end;
function SysOSAlloc(Size: PtrInt): Pointer;
var
I: Longint;
begin
Result := kos_alloc(Size);
for I := 0 to High(SysMemoryBlocks) do
if not SysMemoryBlocks[I].Used then
begin
SysMemoryBlocks[I].Used := True;
SysMemoryBlocks[I].Address := Result;
SysMemoryBlocks[I].Size := Size;
Break;
end;
end;
{$define HAS_SYSOSFREE}
procedure SysOSFree(P: Pointer; Size: PtrInt);
var
B: Byte;
I: Longint;
begin
B := 0;
for I := 0 to High(SysMemoryBlocks) do
if SysMemoryBlocks[I].Address = P then
begin
SysMemoryBlocks[I].Used := False;
if SysMemoryBlocks[I].Size <> Size then B := 1 div B;
Break;
end;
kos_free(P);
end;*)