source: git/factory/mminit.c @ 84250a6

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