* added type TTinyHeapFreeBlockSize, which holds the size of a free memory block

in the tiny heap

git-svn-id: trunk@28246 -
This commit is contained in:
nickysn 2014-07-21 17:05:52 +00:00
parent 1dc09538d0
commit 3b9ab33910

View File

@ -20,13 +20,17 @@
PTinyHeapMemBlockSize = ^TTinyHeapMemBlockSize; PTinyHeapMemBlockSize = ^TTinyHeapMemBlockSize;
TTinyHeapMemBlockSize = PtrUInt; TTinyHeapMemBlockSize = PtrUInt;
{ TTinyHeapFreeBlockSize holds the size of a *free* memory block, as a
part of the TTinyHeapBlock structure }
TTinyHeapFreeBlockSize = PtrUInt;
const const
TinyHeapMinBlock = 4*sizeof(pointer); TinyHeapMinBlock = 4*sizeof(pointer);
type type
PTinyHeapBlock = ^TTinyHeapBlock; PTinyHeapBlock = ^TTinyHeapBlock;
TTinyHeapBlock = record TTinyHeapBlock = record
Size: ptruint; Size: TTinyHeapFreeBlockSize;
Next: PTinyHeapBlock; Next: PTinyHeapBlock;
EndAddr: pointer; EndAddr: pointer;
end; end;
@ -34,7 +38,7 @@
var var
TinyHeapBlocks: PTinyHeapBlock = nil; TinyHeapBlocks: PTinyHeapBlock = nil;
procedure InternalTinyFreeMem(Addr: Pointer; Size: ptruint); forward; procedure InternalTinyFreeMem(Addr: Pointer; Size: TTinyHeapFreeBlockSize); forward;
function FindSize(p: pointer): TTinyHeapMemBlockSize; function FindSize(p: pointer): TTinyHeapMemBlockSize;
begin begin
@ -107,7 +111,7 @@
end; end;
end; end;
procedure InternalTinyFreeMem(Addr: Pointer; Size: ptruint); procedure InternalTinyFreeMem(Addr: Pointer; Size: TTinyHeapFreeBlockSize);
var var
b, p, prev: PTinyHeapBlock; b, p, prev: PTinyHeapBlock;
concatenated: boolean; concatenated: boolean;