Commit Graph

12 Commits

Author SHA1 Message Date
nickysn
46db6a6174 + implemented MemAvail and MaxAvail for the win16 global heap
git-svn-id: trunk@37691 -
2017-12-06 15:05:37 +00:00
nickysn
3ca4d94226 + also check the heap block ID when freeing a suballocated memory block from the
win16 global heap

git-svn-id: trunk@37681 -
2017-12-05 15:45:30 +00:00
nickysn
e3a1051dfc + check the pointer offset alignment, when freeing a suballocated block from the
win16 global heap manager

git-svn-id: trunk@37680 -
2017-12-05 15:40:06 +00:00
nickysn
68121a7858 * win16 global heap block ID field made a constant
git-svn-id: trunk@37679 -
2017-12-05 15:29:38 +00:00
nickysn
d7b966c7eb * cleared TODO from the win16 global heap, regarding the value of FirstFreeOfs,
when TotalFreeSpaceInBlock becomes 0. There's no new code needed to handle
  this in BP7 compatible way; added comment, which explains why.

git-svn-id: trunk@37678 -
2017-12-05 15:22:50 +00:00
nickysn
b6efaeb8fd * fixed bug in NewHeapBlock, which caused an infinite loop in GetMem, when more
than 2 blocks are needed

git-svn-id: trunk@37642 -
2017-12-01 15:31:06 +00:00
nickysn
ca7da11bb6 * fixed bug in TryBlockGetMem, caused by ambigous variable named 'Size' in with statement
git-svn-id: trunk@37641 -
2017-12-01 15:12:56 +00:00
nickysn
ea8fc43f52 * free the old block in win16 global heap reallocmem
git-svn-id: trunk@37639 -
2017-12-01 14:51:50 +00:00
nickysn
163ee92ef5 * handle gracefully freeing a subblock that is located at the end of its block
(with no free space after it) in the win16 global heap manager

git-svn-id: trunk@37636 -
2017-12-01 13:39:20 +00:00
nickysn
87d5cc014f * merge with both the previous and next adjacent free blocks in the win16 global
heap manager, when freeing a block, adjacent to free space on both sizes

git-svn-id: trunk@37635 -
2017-12-01 13:32:10 +00:00
nickysn
6228fc2748 + initial implementation of a win16 global heap manager that does support suballocation for small blocks
git-svn-id: trunk@37634 -
2017-11-30 17:54:20 +00:00
nickysn
406d5b7b3d + implemented a win16 heap manager for the far data memory models, using the
global heap; TODO: allocate heap in blocks and perform suballocation for small
  memory blocks, because the number of global heap blocks is limited

git-svn-id: trunk@31846 -
2015-09-27 13:00:27 +00:00