Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

hprofiler.h

This is the verbatim text of the hprofiler.h include file.
/* Sun-$Revision: 23.3 $ */

/* Copyright 1992-9 Sun Microsystems, Inc. and Stanford University.
   See the LICENSE file for license information. */

# pragma interface


// a simple hierarchical profiler for Self

// primitives
oop  PrintProfile_prim(oop rcvr, float cutoff, float skip, smi maxDepth);
oop  ResetProfile_prim(oop rcvr);
oop  Profile_prim(oop p, bool on);

struct pnode;

class HProfiler: public CHeapObj {
# if defined(FAST_COMPILER) || defined(SIC_COMPILER)
  pnode* top;
  Process* p;
  int32 ticks;
  int32 gcTicks;
  int32 compilerTicks;
  int32 lookupTicks;
  int32 primTicks;

 public:
  void reset();
  void start(Process* p);
  void stop();
  void tick();
  bool inactive() { return !this || !top || !p; }


  void sort();
  void print_hp(float cutoff, float skip, smi depth);

  friend class pnode;
  
# endif // defined(FAST_COMPILER) || defined(SIC_COMPILER)

 public:

  HProfiler();
 
  // memory functions
  void oops_do(oopsDoFn f);
  void scavenge_contents();
  void gc_mark_contents();
  void gc_unmark_contents();
  void switch_pointers(oop from, oop to);
  void verify();

};

extern HProfiler* hprofiler;
void initHProfiler();

Generated at Tue Jun 27 12:07:32 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999