mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 16:29:21 +02:00
* 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:
parent
1dc09538d0
commit
3b9ab33910
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user