+ tiny heap alloc granularity moved to a constant TinyHeapAllocGranularity

git-svn-id: trunk@28417 -
This commit is contained in:
nickysn 2014-08-15 15:22:51 +00:00
parent 14057ef438
commit 815bfe0dcf

View File

@ -46,6 +46,8 @@
const const
TinyHeapMinBlock = sizeof(TTinyHeapBlock); TinyHeapMinBlock = sizeof(TTinyHeapBlock);
TinyHeapAllocGranularity = sizeof(Pointer);
var var
TinyHeapBlocks: PTinyHeapBlock = nil; TinyHeapBlocks: PTinyHeapBlock = nil;
@ -64,7 +66,7 @@
{$ifdef DEBUG_TINY_HEAP} {$ifdef DEBUG_TINY_HEAP}
Write('SysTinyGetMem(', Size, ')='); Write('SysTinyGetMem(', Size, ')=');
{$endif DEBUG_TINY_HEAP} {$endif DEBUG_TINY_HEAP}
AllocSize := align(size+sizeof(TTinyHeapMemBlockSize), sizeof(pointer)); AllocSize := align(size+sizeof(TTinyHeapMemBlockSize), TinyHeapAllocGranularity);
p := TinyHeapBlocks; p := TinyHeapBlocks;
prev := nil; prev := nil;
@ -206,7 +208,7 @@
result:=0; result:=0;
exit; exit;
end; end;
sz := Align(FindSize(addr)+SizeOf(TTinyHeapMemBlockSize), sizeof(pointer)); sz := Align(FindSize(addr)+SizeOf(TTinyHeapMemBlockSize), TinyHeapAllocGranularity);
InternalTinyFreeMem(@PTinyHeapMemBlockSize(addr)[-1], sz); InternalTinyFreeMem(@PTinyHeapMemBlockSize(addr)[-1], sz);