|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 3.2 ! 3: * Copyright (c) 1982, 1991 by Mark Williams Company. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: /* ! 7: * mon.h ! 8: * Program profiling (monitor) header. ! 9: * ! 10: * The layout of the mon.out file created by a call to monitor is ! 11: * as follows: ! 12: * header (m_hdr) ! 13: * function count buffer (array of m_funcs) ! 14: * profil buffer (array of shorts) ! 15: * The profil data scales the pc as follows: ! 16: * bin number = (pc - low pc) * (scale/2) / (1<<16) ! 17: */ ! 18: ! 19: #ifndef MON_H ! 20: #define MON_H MON_H ! 21: ! 22: #include <sys/types.h> ! 23: ! 24: #ifndef NULL ! 25: #define NULL ((char *)0) ! 26: #endif ! 27: ! 28: struct m_hdr { ! 29: unsigned m_nbins, /* number of bins */ ! 30: m_scale, /* scale factor */ ! 31: m_nfuncs; /* number of function counts */ ! 32: vaddr_t m_lowpc; /* lowest pc to monitor */ ! 33: vaddr_t m_lowsp; /* lowest sp in scount */ ! 34: vaddr_t m_hisp; /* highest sp in scount */ ! 35: }; ! 36: ! 37: struct m_func { ! 38: vaddr_t m_addr; /* address in function */ ! 39: long m_ncalls; /* number of times function called */ ! 40: }; ! 41: ! 42: /* ! 43: * The m_flst structure is allocated (by the C compiler) for every routine ! 44: * compiled with the -p option. ! 45: */ ! 46: struct m_flst { ! 47: struct m_func m_data; /* data on this function */ ! 48: struct m_flst *m_link; /* link to next function in list */ ! 49: }; ! 50: ! 51: #endif ! 52: ! 53: /* end of mon.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.