#ifndef lint static char *rcsid = "$Header: lamp.c,v 1.3 83/12/09 16:51:36 sklower Exp $"; #endif /* -[Tue Mar 22 15:17:09 1983 by jkf]- * lamp.c $Locker: $ * interface with unix profiling * * (c) copyright 1982, Regents of the University of California */ #include "global.h" #ifdef PROF #define PBUFSZ 500000 short pbuf[PBUFSZ]; /* data space for fasl to put counters */ int mcnts[NMCOUNT]; int mcntp = (int) mcnts; int doprof = TRUE; lispval Lmonitor() { extern etext, countbase; if (np==lbot) { monitor((int(*)())0); countbase = 0; } else if (TYPE(lbot->val)==INT) { monitor((int (*)())2, (int (*)())lbot->val->i, pbuf, PBUFSZ*(sizeof(short)), 7000); countbase = ((int)pbuf) +12; } else { monitor((int (*)())2, (int (*)())sbrk(0), pbuf, PBUFSZ*(sizeof(short)), 7000); countbase = ((int)pbuf) + 12; } return(tatom); } #else /* if prof is not defined, create a dummy Lmonitor */ short pbuf[8]; /* data space for fasl to put counters */ int mcnts[1]; int mcntp = (int) mcnts; int doprof = FALSE; Lmonitor() { error("Profiling not enabled",FALSE); } #endif