source: git/factory/mminit.c @ ec970e

spielwiese
Last change on this file since ec970e was 341696, checked in by Hans Schönemann <hannes@…>, 14 years ago
Adding Id property to all files git-svn-id: file:///usr/local/Singular/svn/trunk@12231 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.7 KB
Line 
1/* emacs edit mode for this file is -*- C -*- */
2/* $Id$ */
3
4#define _POSIX_SOURCE 1
5
6#include <config.h>
7
8#include <stdlib.h>
9#include <string.h>
10
11#include "memman.h"
12#include "mmprivate.h"
13
14mcb *mm_theList;
15mcb *mm_normList;
16mcb *mm_tmpList;
17
18#ifdef MDEBUG
19
20DBMCB mm_theDBused;
21DBMCB mm_theDBfree;
22DBMCB mm_tmpDBused;
23DBMCB mm_tmpDBfree;
24DBMCB mm_normDBused;
25DBMCB mm_normDBfree;
26void * mm_maxAddr;
27void * mm_minAddr;
28
29#endif /* MDEBUG */
30
31status_t mm_status;
32
33int mm_bytesUsed;
34int mm_bytesReal;
35int mm_bytesTmp;
36int mm_bytesNorm;
37
38int mm_specIndex;
39size_t mm_specSize;
40
41int mm_printMark;
42
43#if 0
44void* operator new ( size_t size )
45{
46#ifdef MDEBUG
47    return mmDBAlloc( size, "new operator",0);
48#else
49    return mmAlloc( size );
50#endif
51}
52
53void operator delete ( void* block )
54{
55#ifdef MDEBUG
56    mmDBFree( block, "delete operator",0);
57#else
58    mmFree( block );
59#endif
60}
61#endif /* 0 */
62
63int mmIsInitialized=0;
64
65int
66mmInit( void )
67{
68    int i;
69
70    if ( ! mmIsInitialized ) {
71        mm_bytesUsed = 0;
72        mm_bytesReal = 0;
73        mm_bytesTmp = 0;
74        mm_bytesNorm = 0;
75        mmNewPrintMark();
76        mmInitBlocks();
77        mmInitHeap();
78        mm_tmpList = (mcb*)malloc( MAXLIST * sizeof( mcb ) );
79        mm_normList = (mcb*)malloc( MAXLIST * sizeof( mcb ) );
80        for ( i = 0; i < MAXLIST; i++ )
81            mm_tmpList[i] = mm_normList[i] = NULL;
82        mm_theList = mm_normList;
83        mm_status = MM_NORMAL;
84        mm_specIndex = 0;
85        mm_specSize = mm_mcbSizes[0];
86#ifdef MDEBUG
87        memset(&mm_theDBused,0,sizeof(mm_theDBused));
88        memset(&mm_theDBfree,0,sizeof(mm_theDBfree));
89        memset(&mm_tmpDBused,0,sizeof(mm_tmpDBused));
90        memset(&mm_tmpDBfree,0,sizeof(mm_tmpDBfree));
91        memset(&mm_normDBused,0,sizeof(mm_normDBused));
92        memset(&mm_normDBfree,0,sizeof(mm_normDBfree));
93        mm_maxAddr = NULL;
94        mm_minAddr = NULL;
95#endif /* MDEBUG */
96    }
97    return 1;
98}
Note: See TracBrowser for help on using the repository browser.