1.1 --- a/src/os/linux/vm/os_linux.cpp Thu Oct 24 22:19:48 2013 -0700 1.2 +++ b/src/os/linux/vm/os_linux.cpp Fri Oct 25 09:07:58 2013 +0200 1.3 @@ -1333,17 +1333,15 @@ 1.4 // Used by VMSelfDestructTimer and the MemProfiler. 1.5 double os::elapsedTime() { 1.6 1.7 - return (double)(os::elapsed_counter()) * 0.000001; 1.8 + return ((double)os::elapsed_counter()) / os::elapsed_frequency(); // nanosecond resolution 1.9 } 1.10 1.11 jlong os::elapsed_counter() { 1.12 - timeval time; 1.13 - int status = gettimeofday(&time, NULL); 1.14 - return jlong(time.tv_sec) * 1000 * 1000 + jlong(time.tv_usec) - initial_time_count; 1.15 + return javaTimeNanos() - initial_time_count; 1.16 } 1.17 1.18 jlong os::elapsed_frequency() { 1.19 - return (1000 * 1000); 1.20 + return NANOSECS_PER_SEC; // nanosecond resolution 1.21 } 1.22 1.23 bool os::supports_vtime() { return true; } 1.24 @@ -4750,7 +4748,7 @@ 1.25 Linux::_main_thread = pthread_self(); 1.26 1.27 Linux::clock_init(); 1.28 - initial_time_count = os::elapsed_counter(); 1.29 + initial_time_count = javaTimeNanos(); 1.30 1.31 // pthread_condattr initialization for monotonic clock 1.32 int status;