Annotation of elwix/tools/oldlzma/SRC/Common/Alloc.cpp, revision 1.1.1.1

1.1       misho       1: // Common/Alloc.cpp
                      2: 
                      3: #include "StdAfx.h"
                      4: 
                      5: #ifdef _WIN32
                      6: #include "MyWindows.h"
                      7: #else
                      8: #include <stdlib.h>
                      9: #endif
                     10: 
                     11: #include "Alloc.h"
                     12: 
                     13: /* #define _SZ_ALLOC_DEBUG */
                     14: /* use _SZ_ALLOC_DEBUG to debug alloc/free operations */
                     15: #ifdef _SZ_ALLOC_DEBUG
                     16: #include <stdio.h>
                     17: int g_allocCount = 0;
                     18: int g_allocCountBig = 0;
                     19: #endif
                     20: 
                     21: void *MyAlloc(size_t size)
                     22: {
                     23:   #ifdef _SZ_ALLOC_DEBUG
                     24:   fprintf(stderr, "\nAlloc %10d bytes; count = %10d", size, g_allocCount++);
                     25:   #endif
                     26: 
                     27:   return ::malloc(size);
                     28: }
                     29: 
                     30: void MyFree(void *address)
                     31: {
                     32:   #ifdef _SZ_ALLOC_DEBUG
                     33:   if (address != 0)
                     34:     fprintf(stderr, "\nFree; count = %10d", --g_allocCount);
                     35:   #endif
                     36:   
                     37:   ::free(address);
                     38: }
                     39: 
                     40: void *BigAlloc(size_t size)
                     41: {
                     42:   #ifdef _SZ_ALLOC_DEBUG
                     43:   fprintf(stderr, "\nAlloc_Big %10d bytes;  count = %10d", size, g_allocCountBig++);
                     44:   #endif
                     45:   
                     46:   #ifdef _WIN32
                     47:   return ::VirtualAlloc(0, size, MEM_COMMIT, PAGE_READWRITE);
                     48:   #else
                     49:   return ::malloc(size);
                     50:   #endif
                     51: }
                     52: 
                     53: void BigFree(void *address)
                     54: {
                     55:   #ifdef _SZ_ALLOC_DEBUG
                     56:   if (address != 0)
                     57:     fprintf(stderr, "\nFree_Big; count = %10d", --g_allocCountBig);
                     58:   #endif
                     59:   
                     60:   if (address == 0)
                     61:     return;
                     62:   #ifdef _WIN32
                     63:   ::VirtualFree(address, 0, MEM_RELEASE);
                     64:   #else
                     65:   ::free(address);
                     66:   #endif
                     67: }
                     68: 
                     69: /*
                     70: void *BigAllocE(size_t size)
                     71: {
                     72:   void *res = BigAlloc(size);
                     73:   #ifndef _NO_EXCEPTIONS
                     74:   if (res == 0)
                     75:     throw CNewException();
                     76:   #endif
                     77:   return res;
                     78: }
                     79: */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>