浏览代码

Make HeapMgr.GetAlignedMem public. This function is useful for embedded targets where alignment > 32(or sizeof(pointer)) bytes is required.
Fix RegisterHeapBlock. Calling FreeMem requires the heap manager to be installed, plus it requires the size of the segment to be stored in front of the pointer. Instead use InternalFreeMem

git-svn-id: trunk@29611 -

Jeppe Johansen 10 年之前
父节点
当前提交
85c5e7330a
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      rtl/embedded/heapmgr.pp

+ 3 - 1
rtl/embedded/heapmgr.pp

@@ -18,6 +18,8 @@ Unit heapmgr;
   interface
   interface
 
 
     procedure RegisterHeapBlock(AAddress: pointer; ASize: ptruint);
     procedure RegisterHeapBlock(AAddress: pointer; ASize: ptruint);
+    
+    function GetAlignedMem(Size, Alignment: ptruint): pointer;
 
 
   implementation
   implementation
 
 
@@ -220,7 +222,7 @@ Unit heapmgr;
 
 
     procedure RegisterHeapBlock(AAddress: pointer; ASize: ptruint);
     procedure RegisterHeapBlock(AAddress: pointer; ASize: ptruint);
       begin
       begin
-        FreeMem(AAddress, ASize);
+        InternalFreeMem(AAddress, ASize);
       end;
       end;
 
 
     const
     const