Changeset 10940
- Timestamp:
- Jan 5, 2007, 11:26:52 AM (19 years ago)
- Location:
- branches/jch-memory/psLib/src/sys
- Files:
-
- 3 edited
-
psAssert.h (modified) (1 diff)
-
psMemory.c (modified) (6 diffs)
-
psMemory.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/jch-memory/psLib/src/sys/psAssert.h
r9597 r10940 16 16 psMemBlock *mb = (psMemBlock*)(NAME) - 1; \ 17 17 if (mb->startblock != P_PS_MEMMAGIC || mb->endblock != P_PS_MEMMAGIC || \ 18 *(ps Ptr *)((int8_t *)(mb + 1) + mb->userMemorySize) != P_PS_MEMMAGIC) { \18 *(psU32 *)((char *)(mb + 1) + mb->userMemorySize) != P_PS_MEMMAGIC) { \ 19 19 psError(PS_ERR_MEMORY_CORRUPTION, false, \ 20 20 "Error: Pointer %s is corrupted or not on the PS memory system.", \ -
branches/jch-memory/psLib/src/sys/psMemory.c
r10914 r10940 10 10 * @author Joshua Hoblitt, University of Hawaii 11 11 * 12 * @version $Revision: 1.88.2.2 0$ $Name: not supported by cvs2svn $13 * @date $Date: 2007-01-05 04:36:19$12 * @version $Revision: 1.88.2.21 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2007-01-05 21:26:52 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 175 175 } 176 176 177 if (*(ps Ptr *)((int8_t *)(memBlock + 1) + memBlock->userMemorySize) != P_PS_MEMMAGIC) {177 if (*(psU32 *)((char *)(memBlock + 1) + memBlock->userMemorySize) != P_PS_MEMMAGIC) { 178 178 if (!blockPrinted) { 179 179 psMemBlockPrint(output, memBlock); … … 407 407 408 408 // posts 409 *(ps Ptr*)&memBlock->startblock = P_PS_MEMMAGIC;410 *(ps Ptr*)&memBlock->endblock= P_PS_MEMMAGIC;411 *(ps Ptr *)((int8_t*) (memBlock + 1) + size) = P_PS_MEMMAGIC;409 *(psU32 *)&memBlock->startblock = P_PS_MEMMAGIC; 410 *(psU32 *)&memBlock->endblock = P_PS_MEMMAGIC; 411 *(psU32 *)((char *) (memBlock + 1) + size) = P_PS_MEMMAGIC; 412 412 413 413 // size of memory allocated … … 507 507 508 508 memBlock->userMemorySize = size; 509 *(ps Ptr *)((int8_t *)(memBlock + 1) + size) = P_PS_MEMMAGIC;509 *(psU32 *)((char *)(memBlock + 1) + size) = P_PS_MEMMAGIC; 510 510 511 511 MUTEX_LOCK(&memBlockListMutex); … … 1058 1058 "\tFree function: %p\n" 1059 1059 "\tSize: %zd Reference count: %lu Persistent: %s\n" 1060 "\tPosts: % p %p %p\n"1060 "\tPosts: %x %x %x\n" 1061 1061 "\tAllocated in %s at (%s:%d)\n" 1062 1062 "\t\tby Thread ID %lu\n", … … 1066 1066 memBlock->userMemorySize, memBlock->refCounter, (memBlock->persistent ? "Yes" : "No"), 1067 1067 memBlock->startblock, memBlock->endblock, 1068 *(ps Ptr *)((int8_t*) (memBlock + 1) + memBlock->userMemorySize),1068 *(psU32 *)((char *) (memBlock + 1) + memBlock->userMemorySize), 1069 1069 memBlock->func, memBlock->file, memBlock->lineno, memBlock->tid); 1070 1070 } -
branches/jch-memory/psLib/src/sys/psMemory.h
r10914 r10940 14 14 * @ingroup MemoryManagement 15 15 * 16 * @version $Revision: 1.61.2. 7$ $Name: not supported by cvs2svn $17 * @date $Date: 2007-01-05 04:36:19$16 * @version $Revision: 1.61.2.8 $ $Name: not supported by cvs2svn $ 17 * @date $Date: 2007-01-05 21:26:52 $ 18 18 * 19 19 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 32 32 */ 33 33 34 #define P_PS_MEMMAGIC (ps Ptr)0xdeadbeef // Magic number in psMemBlock header34 #define P_PS_MEMMAGIC (psU32)0xdeadbeef // Magic number in psMemBlock header 35 35 36 36 /** … … 68 68 typedef struct psMemBlock 69 69 { 70 const void*startblock; ///< initialised to p_psMEMMAGIC70 const psU32 startblock; ///< initialised to p_psMEMMAGIC 71 71 struct psMemBlock* previousBlock; ///< previous block in allocation list 72 72 struct psMemBlock* nextBlock; ///< next block allocation list … … 80 80 psReferenceCount refCounter; ///< how many times pointer is referenced 81 81 bool persistent; ///< marks if this non-user persistent data like error stack, etc. 82 const void*endblock; ///< initialised to p_psMEMMAGIC82 const psU32 endblock; ///< initialised to p_psMEMMAGIC 83 83 } 84 84 psMemBlock;
Note:
See TracChangeset
for help on using the changeset viewer.
