Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
annotate vmalloc.h @ 60:7b799a46cc87
Added compiler switch to turn on and off debug-only probes, deleted time-junk
| author | Me |
|---|---|
| date | Mon, 08 Nov 2010 03:57:46 -0800 |
| parents | 8f7141a9272e |
| children | 13b22ffb8a2f |
| rev | line source |
|---|---|
| Me@50 | 1 /* |
| Me@50 | 2 * Copyright 2009 OpenSourceCodeStewardshipFoundation.org |
| Me@50 | 3 * Licensed under GNU General Public License version 2 |
| Me@50 | 4 * |
| Me@50 | 5 * Author: seanhalle@yahoo.com |
| Me@50 | 6 * |
| Me@50 | 7 * Created on November 14, 2009, 9:07 PM |
| Me@50 | 8 */ |
| Me@50 | 9 |
| Me@50 | 10 #include <malloc.h> |
| Me@50 | 11 #include "VMS_primitive_data_types.h" |
| Me@50 | 12 |
| Me@50 | 13 typedef struct _MallocProlog MallocProlog; |
| Me@50 | 14 |
| Me@50 | 15 struct _MallocProlog |
| Me@50 | 16 { |
| Me@50 | 17 MallocProlog *nextChunkInFreeList; |
| Me@50 | 18 MallocProlog *prevChunkInFreeList; |
| Me@50 | 19 MallocProlog *nextHigherInMem; |
| Me@50 | 20 MallocProlog *nextLowerInMem; |
| Me@50 | 21 }; |
| Me@50 | 22 //MallocProlog |
| Me@50 | 23 |
| Me@50 | 24 typedef struct |
| Me@50 | 25 { |
| Me@50 | 26 MallocProlog *firstChunkInFreeList; |
| Me@50 | 27 int32 numInList; |
| Me@50 | 28 } |
| Me@50 | 29 FreeListHead; |
| Me@50 | 30 |
| Me@50 | 31 void * |
| Me@50 | 32 VMS__malloc( int32 sizeRequested ); |
| Me@50 | 33 |
| Me@50 | 34 void |
| Me@50 | 35 VMS__free( void *ptrToFree ); |
| Me@50 | 36 |
| Me@53 | 37 /*Allocates memory from the external system -- higher overhead |
| Me@53 | 38 */ |
| Me@53 | 39 void * |
| Me@53 | 40 VMS__malloc_in_ext( int32 sizeRequested ); |
| Me@53 | 41 |
| Me@53 | 42 /*Frees memory that was allocated in the external system -- higher overhead |
| Me@53 | 43 */ |
| Me@53 | 44 void |
| Me@53 | 45 VMS__free_in_ext( void *ptrToFree ); |
| Me@53 | 46 |
| Me@53 | 47 |
| Me@50 | 48 MallocProlog * |
| Me@53 | 49 VMS_ext__create_free_list(); |
| Me@50 | 50 |
| Me@50 | 51 void |
| Me@50 | 52 VMS_ext__free_free_list( MallocProlog *freeListHead ); |
