FlatProfiler Class Reference

#include <fprofiler.hpp>

Inheritance diagram for FlatProfiler:

Inheritance graph
[legend]
Collaboration diagram for FlatProfiler:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

static void allocate_table ()
static void reset ()
static void engage (DeltaProcess *p)
static DeltaProcessdisengage ()
static bool is_active ()
static void print (int cutoff)
static void record_tick ()
static DeltaProcessprocess ()

Static Private Member Functions

static int total_ticks ()
static void interpreted_update (methodOop method, klassOop klass, TickPosition where)
static void compiled_update (nmethod *nm, TickPosition where)
static int entry (int value)
static void record_tick_for_running_frame (frame fr)
static void record_tick_for_calling_frame (frame fr)

Static Private Attributes

static pnode ** table = NULL
static int table_size = 1024
static DeltaProcessproc = NULL
static FlatProfilerTasktask = NULL
static timer time
static int gc_ticks = 0
static int semaphore_ticks = 0
static int stub_ticks = 0
static int compiler_ticks = 0
static int unknown_ticks = 0

Friends

class FlatProfilerTask

Detailed Description

Definition at line 38 of file fprofiler.hpp.


Member Function Documentation

void FlatProfiler::allocate_table (  )  [static]

Definition at line 379 of file fprofiler.cpp.

References NEW_C_HEAP_ARRAY, table, and table_size.

Referenced by fprofiler_init().

void FlatProfiler::compiled_update ( nmethod *  nm,
TickPosition  where 
) [static, private]

Definition at line 273 of file fprofiler.cpp.

References entry(), pnode::next(), and table.

Referenced by record_tick_for_calling_frame(), and record_tick_for_running_frame().

Here is the call graph for this function:

DeltaProcess * FlatProfiler::disengage (  )  [static]

Definition at line 413 of file fprofiler.cpp.

References PeriodicTask::deroll(), proc, process(), timer::stop(), task, and time.

Referenced by PRIM_DECL_0().

Here is the call graph for this function:

void FlatProfiler::engage ( DeltaProcess p  )  [static]

Definition at line 404 of file fprofiler.cpp.

References PeriodicTask::enroll(), FlatProfilerTask, proc, timer::start(), task, and time.

Referenced by PRIM_DECL_1().

Here is the call graph for this function:

int FlatProfiler::entry ( int  value  )  [static, private]

Definition at line 253 of file fprofiler.cpp.

References table_size.

Referenced by compiled_update(), and interpreted_update().

void FlatProfiler::interpreted_update ( methodOop  method,
klassOop  klass,
TickPosition  where 
) [static, private]

Definition at line 257 of file fprofiler.cpp.

References entry(), oopDesc::identity_hash(), pnode::next(), methodOopDesc::selector_or_method(), and table.

Referenced by record_tick_for_calling_frame(), and record_tick_for_running_frame().

Here is the call graph for this function:

bool FlatProfiler::is_active (  )  [static]

Definition at line 424 of file fprofiler.cpp.

References task.

void FlatProfiler::print ( int  cutoff  )  [static]

Definition at line 440 of file fprofiler.cpp.

References tick_counter::add(), GrowableArray< E >::append(), GrowableArray< E >::at(), pnode::compare(), compiler_ticks, outputStream::cr(), gc_ticks, GenericGrowableArray::length(), pnode::next(), outputStream::print_cr(), print_ticks(), compiledNode::print_title(), interpretedNode::print_title(), pnode::print_total(), timer::seconds(), semaphore_ticks, GrowableArray< E >::sort(), std, stub_ticks, table, table_size, time, tick_counter::total(), total_ticks(), and unknown_ticks.

Referenced by PRIM_DECL_0().

Here is the call graph for this function:

static DeltaProcess* FlatProfiler::process (  )  [inline, static]

Definition at line 79 of file fprofiler.hpp.

References proc.

Referenced by disengage(), and PRIM_DECL_0().

void FlatProfiler::record_tick (  )  [static]

Definition at line 360 of file fprofiler.cpp.

References DeltaProcess::active(), compiler_ticks, gc_ticks, GCInProgress, DeltaProcess::is_idle(), DeltaProcess::last_Delta_fp(), DeltaProcess::last_frame(), processSemaphore, DeltaProcess::profile_top_frame(), record_tick_for_calling_frame(), record_tick_for_running_frame(), semaphore_ticks, and theCompiler.

Referenced by FlatProfilerTask::task().

Here is the call graph for this function:

void FlatProfiler::record_tick_for_calling_frame ( frame  fr  )  [static, private]

Definition at line 323 of file fprofiler.cpp.

References assert, Bytecodes::code_type(), compiled_update(), StubRoutines::contains(), frame::hp(), in_compiler, in_primitive, interpreted_update(), frame::is_compiled_frame(), frame::is_interpreted_frame(), oopDesc::klass(), frame::method(), other, frame::pc(), Bytecodes::primitive_call, frame::receiver(), stub_ticks, theCompiler, and unknown_ticks.

Referenced by record_tick().

Here is the call graph for this function:

void FlatProfiler::record_tick_for_running_frame ( frame  fr  )  [static, private]

Definition at line 303 of file fprofiler.cpp.

References assert, compiled_update(), StubRoutines::contains(), find(), in_code, in_pic, interpreted_update(), frame::is_compiled_frame(), frame::is_interpreted_frame(), oopDesc::klass(), frame::method(), frame::pc(), frame::receiver(), and stub_ticks.

Referenced by record_tick().

Here is the call graph for this function:

void FlatProfiler::reset (  )  [static]

Definition at line 385 of file fprofiler.cpp.

References compiler_ticks, gc_ticks, proc, semaphore_ticks, stub_ticks, table, table_size, task, and unknown_ticks.

Referenced by PRIM_DECL_0().

static int FlatProfiler::total_ticks (  )  [inline, static, private]

Definition at line 53 of file fprofiler.hpp.

References gc_ticks, semaphore_ticks, stub_ticks, and unknown_ticks.

Referenced by print().


Friends And Related Function Documentation

friend class FlatProfilerTask [friend]

Definition at line 60 of file fprofiler.hpp.

Referenced by engage().


Member Data Documentation

int FlatProfiler::compiler_ticks = 0 [static, private]

Definition at line 50 of file fprofiler.hpp.

Referenced by print(), record_tick(), and reset().

int FlatProfiler::gc_ticks = 0 [static, private]

Definition at line 47 of file fprofiler.hpp.

Referenced by print(), record_tick(), reset(), and total_ticks().

DeltaProcess * FlatProfiler::proc = NULL [static, private]

Definition at line 43 of file fprofiler.hpp.

Referenced by disengage(), engage(), process(), reset(), and FlatProfilerTask::task().

int FlatProfiler::semaphore_ticks = 0 [static, private]

Definition at line 48 of file fprofiler.hpp.

Referenced by print(), record_tick(), reset(), and total_ticks().

int FlatProfiler::stub_ticks = 0 [static, private]

Definition at line 49 of file fprofiler.hpp.

Referenced by print(), record_tick_for_calling_frame(), record_tick_for_running_frame(), reset(), and total_ticks().

pnode ** FlatProfiler::table = NULL [static, private]

Definition at line 40 of file fprofiler.hpp.

Referenced by allocate_table(), compiled_update(), interpreted_update(), print(), and reset().

int FlatProfiler::table_size = 1024 [static, private]

Definition at line 41 of file fprofiler.hpp.

Referenced by allocate_table(), entry(), print(), and reset().

FlatProfilerTask * FlatProfiler::task = NULL [static, private]

Definition at line 44 of file fprofiler.hpp.

Referenced by disengage(), engage(), is_active(), and reset().

timer FlatProfiler::time [static, private]

Definition at line 45 of file fprofiler.hpp.

Referenced by disengage(), engage(), and print().

int FlatProfiler::unknown_ticks = 0 [static, private]

Definition at line 51 of file fprofiler.hpp.

Referenced by print(), record_tick_for_calling_frame(), reset(), and total_ticks().


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 13:57:44 2006 for Strongtalk VM by  doxygen 1.4.7