MACHINE is in make, now
[unix-history] / usr / src / usr.bin / gprof / gprof.h
index 8a919eb..fcdae06 100644 (file)
@@ -1,12 +1,28 @@
-    /* sccsid:  @(#)gprof.h    1.15 (Berkeley) %G% */
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ *
+ *     @(#)gprof.h     5.3 (Berkeley) %G%
+ */
 
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <a.out.h>
 
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <a.out.h>
-#include <pagsiz.h>
 #include "gcrt0.h"
 
 #include "gcrt0.h"
 
+#if vax
+#   include "vax.h"
+#endif
+#if sun
+#   include "sun.h"
+#endif
+#if tahoe
+#   include "tahoe.h"
+#endif
+
+
     /*
      * who am i, for error messages.
      */
     /*
      * who am i, for error messages.
      */
@@ -19,11 +35,6 @@ typedef int  bool;
 #define        FALSE   0
 #define        TRUE    1
 
 #define        FALSE   0
 #define        TRUE    1
 
-    /*
-     * opcode of the `calls' instruction
-     */
-#define        CALLS   0xfb
-
     /*
      * ticks per second
      */
     /*
      * ticks per second
      */
@@ -38,10 +49,10 @@ char        *gmonname;
 #define        GMONSUM                 "gmon.sum"
        
     /*
 #define        GMONSUM                 "gmon.sum"
        
     /*
-     * the directory where the descriptions of the fields
-     * of the profiles are kept.
+     * blurbs on the flat and graph profiles.
      */
      */
-#define        BLURBLIB                "/usr/lib/"
+#define        FLAT_BLURB      "/usr/lib/gprof.flat"
+#define        CALLG_BLURB     "/usr/lib/gprof.callg"
 
     /*
      * a constructed arc,
 
     /*
      * a constructed arc,
@@ -69,6 +80,7 @@ typedef struct arcstruct      arctype;
 struct nl {
     char               *name;          /* the name */
     unsigned long      value;          /* the pc entry point */
 struct nl {
     char               *name;          /* the name */
     unsigned long      value;          /* the pc entry point */
+    unsigned long      svalue;         /* entry point aligned to histograms */
     double             time;           /* ticks in this routine */
     double             childtime;      /* cumulative ticks in children */
     long               ncall;          /* how many times called */
     double             time;           /* ticks in this routine */
     double             childtime;      /* cumulative ticks in children */
     long               ncall;          /* how many times called */
@@ -155,6 +167,7 @@ bool        eflag;                          /* specific functions excluded */
 bool   Eflag;                          /* functions excluded with time */
 bool   fflag;                          /* specific functions requested */
 bool   Fflag;                          /* functions requested with time */
 bool   Eflag;                          /* functions excluded with time */
 bool   fflag;                          /* specific functions requested */
 bool   Fflag;                          /* functions requested with time */
+bool   kflag;                          /* arcs to be deleted */
 bool   sflag;                          /* sum multiple gmon.out files */
 bool   zflag;                          /* zero time/called functions, too */
 
 bool   sflag;                          /* sum multiple gmon.out files */
 bool   zflag;                          /* zero time/called functions, too */
 
@@ -169,24 +182,8 @@ struct stringlist  *elist;
 struct stringlist      *Elist;
 struct stringlist      *flist;
 struct stringlist      *Flist;
 struct stringlist      *Elist;
 struct stringlist      *flist;
 struct stringlist      *Flist;
-
-    /*
-     * register for pc relative addressing
-     */
-#define        PC      0xf
-
-enum opermodes {
-    literal, indexed, reg, regdef, autodec, autoinc, autoincdef, 
-    bytedisp, bytedispdef, worddisp, worddispdef, longdisp, longdispdef,
-    immediate, absolute, byterel, bytereldef, wordrel, wordreldef,
-    longrel, longreldef
-};
-typedef enum opermodes operandenum;
-
-struct modebyte {
-    unsigned int       regfield:4;
-    unsigned int       modefield:4;
-};
+struct stringlist      *kfromlist;
+struct stringlist      *ktolist;
 
     /*
      * function declarations
 
     /*
      * function declarations
@@ -204,7 +201,7 @@ bool                dfn_numbered();
                dfn_post_visit();
                dfn_pre_visit();
                dfn_self_cycle();
                dfn_post_visit();
                dfn_pre_visit();
                dfn_self_cycle();
-               doarcs();
+nltype         **doarcs();
                done();
                findcalls();
                flatprofheader();
                done();
                findcalls();
                flatprofheader();
@@ -255,7 +252,7 @@ int         totalcmp();
 #define        TIMEDEBUG       16
 #define        SAMPLEDEBUG     32
 #define        AOUTDEBUG       64
 #define        TIMEDEBUG       16
 #define        SAMPLEDEBUG     32
 #define        AOUTDEBUG       64
-#define        CALLSDEBUG      128
+#define        CALLDEBUG       128
 #define        LOOKUPDEBUG     256
 #define        PROPDEBUG       512
 #define        ANYDEBUG        1024
 #define        LOOKUPDEBUG     256
 #define        PROPDEBUG       512
 #define        ANYDEBUG        1024