Commit History

Autor SHA1 Mensaxe Data
  yury 9d41a435c2 * tinyheap: Disable inline when FPC_TINYHEAP_HUGE is defined to prevent code bloat. %!s(int64=5) %!d(string=hai) anos
  yury 6edbc9ed7e * tinyheap: Early check for very big requested mem sizes in order to prevent overflows and properly report the out of memory error. %!s(int64=5) %!d(string=hai) anos
  pierre a16326fa95 Avoid MSDOS Memory Control Block (MCB) chain corruption in RegisterTinyHeapBlock %!s(int64=8) %!d(string=hai) anos
  pierre 0f80603dae + SysGetMem: Add DEBUG_TINY_HEAP message after SysAlloc call. %!s(int64=8) %!d(string=hai) anos
  pierre ade39069e5 Change ASize type for RegisterTinyHeapBlockXXX functions %!s(int64=8) %!d(string=hai) anos
  pierre 570f159e65 Get SysGetMem to return immediately with Result=Nil if SysOSAlloc fails and RetrunNilIfGrowHeapFails is true %!s(int64=8) %!d(string=hai) anos
  pierre a72434e93a Trial to clarify heap for i8086 issues: %!s(int64=9) %!d(string=hai) anos
  pierre 91595447c6 Add SysTinyGetHeapStatus and SysTinyGetFPCHeapStatus functions %!s(int64=9) %!d(string=hai) anos
  nickysn d8a9860e92 + optimization in tinyheap's reallocmem for the case when there's not enough %!s(int64=10) %!d(string=hai) anos
  nickysn 1e0a69fa7f + optimizations in SysTinyReAllocMem for the case when growing the heap block %!s(int64=11) %!d(string=hai) anos
  nickysn e9dc9735a0 + check whether the pointer passed to SysTinyReAllocMem is within the heap area %!s(int64=11) %!d(string=hai) anos
  nickysn e4f3f33692 + optimization in SysTinyReAllocMem for the case of shrinking a memory block %!s(int64=11) %!d(string=hai) anos
  nickysn 782b033acd * optimized SysTinyReAllocMem for the case when the new and old size are the %!s(int64=11) %!d(string=hai) anos
  nickysn 4e48190342 + implemented Mark and Release for the tiny heap %!s(int64=11) %!d(string=hai) anos
  nickysn 6735e717ef * the results of MemAvail and MaxAvail changed to LongInt in the i8086 far data %!s(int64=11) %!d(string=hai) anos
  nickysn 00c98edd29 * the FPC_TINYHEAP_HUGE define moved to tnyheaph.inc %!s(int64=11) %!d(string=hai) anos
  nickysn 706a1d8712 * the FPC_HEAP_HUGE define renamed FPC_TINYHEAP_HUGE, because it applies to the %!s(int64=11) %!d(string=hai) anos
  nickysn 624b3204d8 + added and implemented MemAvail and MaxAvail for the tiny heap %!s(int64=11) %!d(string=hai) anos
  nickysn ad7111ad4d * SysTinyFreeMem: terminate with a runtime error if Addr is >= HeapPtr, since %!s(int64=11) %!d(string=hai) anos
  nickysn bb07318386 + added RegisterTinyHeapBlock_Simple_Prealigned procedure, which is the same as %!s(int64=11) %!d(string=hai) anos
  nickysn c8e9d2cf6e + added a simplified version of RegisterTinyHeapBlock, for use when the tiny %!s(int64=11) %!d(string=hai) anos
  nickysn 72ba70f7ec * use HexStr instead of casting to PtrUInt for logging pointers, when %!s(int64=11) %!d(string=hai) anos
  nickysn bf8a7f0784 * handle properly the case when RegisterTinyHeapBlock is called with a start %!s(int64=11) %!d(string=hai) anos
  nickysn af1c5096d6 * tiny heap made TP7 compatible; the FreeList and HeapPtr variables made public %!s(int64=11) %!d(string=hai) anos
  nickysn e4095588d6 * the type of FreeList changed to an untyped pointer (TP7 compatibility) %!s(int64=11) %!d(string=hai) anos
  nickysn a4d71348dd * TinyHeapBlocks renamed FreeList for TP7 compatibility reasons (and it'll be %!s(int64=11) %!d(string=hai) anos
  nickysn 9b41b10350 * implementation of tiny heap's GetMem changed, so that it doesn't use FreeMem %!s(int64=11) %!d(string=hai) anos
  nickysn cd0acd050e * store the tiny heap free block size in a TP7-compatible way (as a normalized %!s(int64=11) %!d(string=hai) anos
  nickysn 03a838556f * keep the tiny heap free blocks ordered by start address, instead of size. %!s(int64=11) %!d(string=hai) anos
  nickysn 70850f0ce6 + tinyheap: check and generate runtime error 204 if an attempt is made to free a %!s(int64=11) %!d(string=hai) anos