< prev index next >
src/share/vm/runtime/timer.hpp
Print this page
rev 7854 : imported patch 8027962-per-phase-timing-measurements-for-strong-roots-processing
*** 25,34 ****
--- 25,36 ----
#ifndef SHARE_VM_RUNTIME_TIMER_HPP
#define SHARE_VM_RUNTIME_TIMER_HPP
#include "utilities/globalDefinitions.hpp"
+ class GCPhaseTimeTracker;
+
// Timers for simple measurement.
class elapsedTimer VALUE_OBJ_CLASS_SPEC {
friend class VMStructs;
private:
*** 101,110 ****
--- 103,123 ----
// Activation
void suspend() { if (_active) _t.stop(); }
void resume() { if (_active) _t.start(); }
};
+ class TrackPhaseTime VALUE_OBJ_CLASS_SPEC {
+ private:
+ GCPhaseTimeTracker* _data;
+ uint _phase;
+ jlong _last;
+ public:
+ // Constructors
+ TrackPhaseTime(GCPhaseTimeTracker *data, uint phase);
+ ~TrackPhaseTime();
+ };
+
class TraceCPUTime: public StackObj {
private:
bool _active; // true if times will be measured and printed
bool _print_cr; // if true print carriage return at end
double _starting_user_time; // user time at start of measurement
< prev index next >