V25 with 64-bit support
[pforth] / csrc / pf_mem.c
index 9b941aa..4cdd94d 100644 (file)
@@ -26,7 +26,7 @@
 #ifdef PF_NO_MALLOC\r
 \r
 static char  *gMemPoolPtr;\r
 #ifdef PF_NO_MALLOC\r
 \r
 static char  *gMemPoolPtr;\r
-static uint32 gMemPoolSize;\r
+static ucell_t gMemPoolSize;\r
 \r
 /* CUSTOM: Make the memory pool bigger if you want. */\r
 #ifndef PF_MEM_POOL_SIZE\r
 \r
 /* CUSTOM: Make the memory pool bigger if you want. */\r
 #ifndef PF_MEM_POOL_SIZE\r
@@ -97,7 +97,7 @@ void dllDumpNode( DoublyLinkedListNode *NodePtr )
                dllNextNode( NodePtr ) ));\r
 }\r
 \r
                dllNextNode( NodePtr ) ));\r
 }\r
 \r
-int32 dllCheckNode( DoublyLinkedListNode *NodePtr )\r
+cell_t dllCheckNode( DoublyLinkedListNode *NodePtr )\r
 {\r
        if( (NodePtr->dlln_Next->dlln_Previous != NodePtr) ||\r
            (NodePtr->dlln_Previous->dlln_Next != NodePtr))\r
 {\r
        if( (NodePtr->dlln_Next->dlln_Previous != NodePtr) ||\r
            (NodePtr->dlln_Previous->dlln_Next != NodePtr))\r
@@ -141,7 +141,7 @@ static DoublyLinkedList gMemList;
 typedef struct MemListNode\r
 {\r
        DoublyLinkedListNode  mln_Node;\r
 typedef struct MemListNode\r
 {\r
        DoublyLinkedListNode  mln_Node;\r
-       int32                 mln_Size;\r
+       cell_t                 mln_Size;\r
 } MemListNode;\r
 \r
 #ifdef PF_DEBUG\r
 } MemListNode;\r
 \r
 #ifdef PF_DEBUG\r
@@ -168,7 +168,7 @@ void maDumpList( void )
 /***************************************************************\r
 ** Free mem of any size.\r
 */\r
 /***************************************************************\r
 ** Free mem of any size.\r
 */\r
-static void pfFreeRawMem( char *Mem, int32 NumBytes )\r
+static void pfFreeRawMem( char *Mem, cell_t NumBytes )\r
 {\r
        MemListNode *mln, *FreeNode;\r
        MemListNode *AdjacentLower = NULL;\r
 {\r
        MemListNode *mln, *FreeNode;\r
        MemListNode *AdjacentLower = NULL;\r
@@ -181,9 +181,9 @@ static void pfFreeRawMem( char *Mem, int32 NumBytes )
        DBUG(("\npfFreeRawMem: Align NumBytes to 0x%x\n", NumBytes ));\r
        \r
 /* Check memory alignment. */\r
        DBUG(("\npfFreeRawMem: Align NumBytes to 0x%x\n", NumBytes ));\r
        \r
 /* Check memory alignment. */\r
-       if( ( ((int32)Mem) & (PF_MEM_BLOCK_SIZE - 1)) != 0)\r
+       if( ( ((cell_t)Mem) & (PF_MEM_BLOCK_SIZE - 1)) != 0)\r
        {\r
        {\r
-               MSG_NUM_H("pfFreeRawMem: misaligned Mem = 0x", (int32) Mem );\r
+               MSG_NUM_H("pfFreeRawMem: misaligned Mem = 0x", (cell_t) Mem );\r
                return;\r
        }\r
        \r
                return;\r
        }\r
        \r
@@ -245,10 +245,10 @@ DBUG((" Link before 0x%x\n", NextBiggest ));
 /***************************************************************\r
 ** Setup memory list. Initialize allocator.\r
 */\r
 /***************************************************************\r
 ** Setup memory list. Initialize allocator.\r
 */\r
-static void pfInitMemBlock( void *addr, uint32 poolSize )\r
+static void pfInitMemBlock( void *addr, ucell_t poolSize )\r
 {\r
        char *AlignedMemory;\r
 {\r
        char *AlignedMemory;\r
-       int32 AlignedSize;\r
+       cell_t AlignedSize;\r
 \r
        pfDebugMessage("pfInitMemBlock()\n");\r
 /* Set globals. */\r
 \r
        pfDebugMessage("pfInitMemBlock()\n");\r
 /* Set globals. */\r
@@ -258,7 +258,7 @@ static void pfInitMemBlock( void *addr, uint32 poolSize )
        dllSetupList( &gMemList );\r
        \r
 /* Adjust to next highest aligned memory location. */\r
        dllSetupList( &gMemList );\r
        \r
 /* Adjust to next highest aligned memory location. */\r
-       AlignedMemory = (char *) ((((int32)gMemPoolPtr) + PF_MEM_BLOCK_SIZE - 1) &\r
+       AlignedMemory = (char *) ((((cell_t)gMemPoolPtr) + PF_MEM_BLOCK_SIZE - 1) &\r
                          ~(PF_MEM_BLOCK_SIZE - 1));\r
                                          \r
 /* Adjust size to reflect aligned memory. */\r
                          ~(PF_MEM_BLOCK_SIZE - 1));\r
                                          \r
 /* Adjust size to reflect aligned memory. */\r
@@ -275,7 +275,7 @@ static void pfInitMemBlock( void *addr, uint32 poolSize )
 /***************************************************************\r
 ** Allocate mem from list of free nodes.\r
 */\r
 /***************************************************************\r
 ** Allocate mem from list of free nodes.\r
 */\r
-static char *pfAllocRawMem( int32 NumBytes )\r
+static char *pfAllocRawMem( cell_t NumBytes )\r
 {\r
        char *Mem = NULL;\r
        MemListNode *mln;\r
 {\r
        char *Mem = NULL;\r
        MemListNode *mln;\r
@@ -295,7 +295,7 @@ static char *pfAllocRawMem( int32 NumBytes )
        {\r
                if( mln->mln_Size >= NumBytes )\r
                {\r
        {\r
                if( mln->mln_Size >= NumBytes )\r
                {\r
-                       int32 RemSize;\r
+                       cell_t RemSize;\r
 \r
                        Mem = (char *) mln;\r
                        \r
 \r
                        Mem = (char *) mln;\r
                        \r
@@ -320,16 +320,16 @@ static char *pfAllocRawMem( int32 NumBytes )
 /***************************************************************\r
 ** Keep mem size at first cell.\r
 */\r
 /***************************************************************\r
 ** Keep mem size at first cell.\r
 */\r
-char *pfAllocMem( int32 NumBytes )\r
+char *pfAllocMem( cell_t NumBytes )\r
 {\r
 {\r
-       int32 *IntMem;\r
+       cell_t *IntMem;\r
        \r
        if( NumBytes <= 0 ) return NULL;\r
        \r
 /* Allocate an extra cell for size. */\r
        \r
        if( NumBytes <= 0 ) return NULL;\r
        \r
 /* Allocate an extra cell for size. */\r
-       NumBytes += sizeof(int32);\r
+       NumBytes += sizeof(cell_t);\r
        \r
        \r
-       IntMem = (int32 *)pfAllocRawMem( NumBytes );\r
+       IntMem = (cell_t *)pfAllocRawMem( NumBytes );\r
        \r
        if( IntMem != NULL ) *IntMem++ = NumBytes;\r
        \r
        \r
        if( IntMem != NULL ) *IntMem++ = NumBytes;\r
        \r
@@ -341,13 +341,13 @@ char *pfAllocMem( int32 NumBytes )
 */\r
 void pfFreeMem( void *Mem )\r
 {\r
 */\r
 void pfFreeMem( void *Mem )\r
 {\r
-       int32 *IntMem;\r
-       int32 NumBytes;\r
+       cell_t *IntMem;\r
+       cell_t NumBytes;\r
        \r
        if( Mem == NULL ) return;\r
        \r
 /* Allocate an extra cell for size. */\r
        \r
        if( Mem == NULL ) return;\r
        \r
 /* Allocate an extra cell for size. */\r
-       IntMem = (int32 *) Mem;\r
+       IntMem = (cell_t *) Mem;\r
        IntMem--;\r
        NumBytes = *IntMem;\r
        \r
        IntMem--;\r
        NumBytes = *IntMem;\r
        \r