Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/runtime/gc/gc-stats.h
ViewVC logotype

Annotation of /sml/trunk/src/runtime/gc/gc-stats.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (view) (download) (as text)

1 : monnier 249 /* gc-stats.h
2 :     *
3 :     * COPYRIGHT (c) 1993 by AT&T Bell Laboratories.
4 :     */
5 :    
6 :     #ifndef _GC_STATS_
7 :     #define _GC_STATS_
8 :    
9 :     #include "stats-data.h"
10 :    
11 :     #ifdef VM_STATS
12 :     extern void ReportVM (ml_state_t *msp, int maxCollectedGen);
13 :     #endif
14 :    
15 :     #ifdef PAUSE_STATS
16 :    
17 :     #define START_GC_PAUSE(HEAP) { \
18 :     if (StatsOn) { \
19 :     heap_t *__heap = (HEAP); \
20 :     stat_rec_t *__p = &(StatsBuf[NStatsRecs]); \
21 :     Unsigned32_t __n = (Addr_t)(msp->ml_allocPtr) - \
22 :     (Addr_t)(__heap->allocBase); \
23 :     CNTR_INCR(&(__heap->numAlloc), __n); \
24 :     __p->allocCnt = __heap->numAlloc; \
25 :     __p->numGens = 0; \
26 :     gettimeofday(&(__p->startTime), NIL(struct timezone *)); \
27 :     } \
28 :     }
29 :    
30 :     #define NUM_GC_GENS(NGENS) { \
31 :     if (StatsOn) \
32 :     StatsBuf[NStatsRecs].numGens = (NGENS); \
33 :     }
34 :    
35 :     #define STOP_GC_PAUSE() { \
36 :     if (StatsOn) { \
37 :     gettimeofday(&(StatsBuf[NStatsRecs].stopTime), \
38 :     NIL(struct timezone *)); \
39 :     STATS_FINISH(); \
40 :     } \
41 :     }
42 :    
43 :     #else /* !PAUSE_STATS */
44 :     #define START_GC_PAUSE(HEAP)
45 :     #define NUM_GC_GENS(NGENS)
46 :     #define STOP_GC_PAUSE()
47 :     #endif /* PAUSE_STATS */
48 :    
49 :     #endif

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0