* gas/m32r/relax-2.[sd]: New testcase.
[deliverable/binutils-gdb.git] / gprof / symtab.h
index 07c7751ed6da64d1ba6f3899cd31d82528af2eff..a6a450ef1ee015ce1784fc6b13dff57800fd692d 100644 (file)
@@ -16,6 +16,8 @@
 
 #include "source.h"
 
+#define NBBS 10
+
 /*
  * Symbol-entry.  For each external in the specified file we gather
  * its address, the number of calls and compute its share of cpu time.
@@ -36,9 +38,16 @@ typedef struct sym
     int line_num;              /* source line number */
     unsigned int is_func:1,    /* is this a function entry point? */
       is_static:1,             /* is this a local (static) symbol? */
-      is_bb_head:1;            /* is this the head of a basic-blk? */
-    int ncalls;                        /* how many times executed */
+      is_bb_head:1,            /* is this the head of a basic-blk? */
+      mapped:1,                        /* this symbol was mapped to another name */
+      has_been_placed:1;       /* have we placed this symbol?  */
+    unsigned long ncalls;      /* how many times executed */
+    int nuses;                 /* how many times this symbol appears in
+                                  a particular context */
+    bfd_vma bb_addr[NBBS];     /* address of basic-block start */
+    unsigned long bb_calls[NBBS]; /* how many times basic-block was called */
     struct sym *next;          /* for building chains of syms */
+    struct sym *prev;          /* for building chains of syms */
 
     /* profile-specific information: */
 
@@ -53,7 +62,7 @@ typedef struct sym
     /* call-graph specific info: */
     struct
       {
-       int self_calls;         /* how many calls to self */
+       unsigned long self_calls; /* how many calls to self */
        double child_time;      /* cumulative ticks in children */
        int index;              /* index in the graph list */
        int top_order;          /* graph call chain top-sort order */
@@ -85,7 +94,7 @@ Sym;
  */
 typedef struct
   {
-    int len;                   /* # of symbols in this table */
+    unsigned int len;          /* # of symbols in this table */
     Sym *base;                 /* first element in symbol table */
     Sym *limit;                        /* limit = base + len */
   }
@@ -97,4 +106,6 @@ extern void sym_init PARAMS ((Sym * sym));
 extern void symtab_finalize PARAMS ((Sym_Table * symtab));
 extern Sym *sym_lookup PARAMS ((Sym_Table * symtab, bfd_vma address));
 
+extern void find_call PARAMS ((Sym *, bfd_vma, bfd_vma));
+
 #endif /* symtab_h */
This page took 0.025571 seconds and 4 git commands to generate.