0,0 → 1,56 |
{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;*) |