fprofiler.hpp revision 2273
1472N/A * or visit www.oracle.com if you need additional information or have any
1879N/A# include "thread_linux.inline.hpp"
1879N/A# include "thread_solaris.inline.hpp"
1879N/A# include "thread_windows.inline.hpp"
0N/Aclass ThreadProfiler;
0N/Aclass ThreadProfilerMark;
0N/Aclass FlatProfiler;
0N/Aclass IntervalData;
0N/Aclass ProfilerNode;
0N/Aclass FlatProfilerTask;
0N/Aenum TickPosition {
0N/A#ifndef FPROF_KERNEL
0N/A int _interpreted;
0N/A int _compiling;
0N/A int interpreted() {
0N/A return _interpreted;
0N/A return _compiling;
0N/A void inc_interpreted() {
0N/A void inc_compiled() {
0N/A void inc_native() {
0N/A void inc_compiling() {
0N/A _interpreted = 0;
0N/A _compiling = 0;
0N/A#ifndef FPROF_KERNEL
0N/A friend class ProfilerNode;
0N/A char* area_limit;
0N/A static int table_size;
0N/A void initialize();
0N/A friend class FlatProfiler;
0N/A int thread_ticks;
0N/A int compiler_ticks;
0N/A int interpreter_ticks;
0N/A friend class ThreadProfilerMark;
0N/A int class_loader_ticks;
0N/A int extra_ticks;
0N/A int blocked_ticks;
0N/A enum UnknownTickSites {
0N/A int unknown_ticks() {
0N/A return _interval_data;
0N/A return &_interval_data;
0N/A#ifndef FPROF_KERNEL
0N/A static bool full_profile() {
0N/A return full_profile_flag;
0N/A friend class ThreadProfiler;
0N/A // the following group of ticks cover everything that's not attributed to individual Java methods
0N/A static int threads_lock_ticks; // the number of times we couldn't get the Threads_lock without blocking
0N/A static int non_method_ticks() {
0N/A + unknown_ticks );
0N/A static int* bytecode_ticks;
0N/A static int* bytecode_ticks_stub;
0N/A static void print_byte_code_statistics();
0N/A static void allocate_table();
0N/A friend class FlatProfilerTask;
0N/A static void record_vm_operation();
0N/A static void record_vm_tick();
0N/A static void record_thread_ticks();