< prev index next >
src/share/vm/runtime/timer.cpp
Print this page
*** 34,43 ****
--- 34,59 ----
double TimeHelper::counter_to_millis(jlong counter) {
return counter_to_seconds(counter) * 1000.0;
}
+ elapsedTimer::elapsedTimer(jlong time, jlong timeUnitsPerSecond) {
+ _active = false;
+ jlong osTimeUnitsPerSecond = os::elapsed_frequency();
+ assert(osTimeUnitsPerSecond % 1000 == 0, "must be");
+ assert(timeUnitsPerSecond % 1000 == 0, "must be");
+ while (osTimeUnitsPerSecond < timeUnitsPerSecond) {
+ timeUnitsPerSecond /= 1000;
+ time *= 1000;
+ }
+ while (osTimeUnitsPerSecond > timeUnitsPerSecond) {
+ timeUnitsPerSecond *= 1000;
+ time /= 1000;
+ }
+ _counter = time;
+ }
+
void elapsedTimer::add(elapsedTimer t) {
_counter += t._counter;
}
void elapsedTimer::start() {
< prev index next >