From 790c1f87f1cda76a5fcf0970dee5beed441e0572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20Balogh?= Date: Mon, 18 Sep 2017 11:14:48 +0000 Subject: [PATCH] palmos: implemented sysosalloc/free for the heap git-svn-id: trunk@37248 - --- rtl/palmos/palmos.inc | 7 +++++++ rtl/palmos/sysheap.inc | 3 +++ 2 files changed, 10 insertions(+) diff --git a/rtl/palmos/palmos.inc b/rtl/palmos/palmos.inc index 1911f05dad..a66950d9f9 100644 --- a/rtl/palmos/palmos.inc +++ b/rtl/palmos/palmos.inc @@ -65,4 +65,11 @@ const procedure SndPlaySystemSound(beepID: Word); syscall sysTrapSndPlaySystemSound; +const + sysTrapMemChunkFree = $A012; + sysTrapMemPtrNew = $A013; + +function MemPtrNew(size: UInt32): MemPtr; syscall sysTrapMemPtrNew; +function MemPtrFree(chunkDataP: MemPtr): Err; syscall sysTrapMemChunkFree; + {$PACKRECORDS DEFAULT} diff --git a/rtl/palmos/sysheap.inc b/rtl/palmos/sysheap.inc index b2d425415c..7db99d6cea 100644 --- a/rtl/palmos/sysheap.inc +++ b/rtl/palmos/sysheap.inc @@ -20,10 +20,13 @@ function SysOSAlloc(size: ptruint): pointer; begin + SysOSAlloc:=MemPtrNew(size); end; {$define HAS_SYSOSFREE} procedure SysOSFree(p: pointer; size: ptruint); begin + if (p <> nil) then + MemPtrFree(p); end;