diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-09 18:47:54 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-09 18:47:54 +0000 |
commit | c44de8ab02bf815fb920a2e6f1e6e16aadf05b07 (patch) | |
tree | 744b26f2524a58c1a0d12f1c85353fc349623374 /libjava/posix.cc | |
parent | 595e90415cd831dfd3680ccdb134f5f71392a88e (diff) | |
download | gcc-c44de8ab02bf815fb920a2e6f1e6e16aadf05b07.tar.gz |
* win32.cc (_Jv_platform_nanotime): New function.
* include/win32.h (_Jv_platform_nanotime): Declare.
* posix.cc (_Jv_platform_nanotime): New function.
* include/posix.h (_Jv_platform_nanotime): Declare.
* java/lang/natSystem.cc (nanoTime): New method.
* java/lang/System.java (nanoTime): Declare.
* include/config.h.in, configure: Rebuilt.
* configure.ac: Check for clock_gettime.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111869 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/posix.cc')
-rw-r--r-- | libjava/posix.cc | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libjava/posix.cc b/libjava/posix.cc index 3b551966fca..15fc9c5c3f8 100644 --- a/libjava/posix.cc +++ b/libjava/posix.cc @@ -1,6 +1,6 @@ // posix.cc -- Helper functions for POSIX-flavored OSs. -/* Copyright (C) 2000, 2001, 2002 Free Software Foundation +/* Copyright (C) 2000, 2001, 2002, 2006 Free Software Foundation This file is part of libgcj. @@ -66,6 +66,22 @@ _Jv_platform_gettimeofday () #endif } +jlong +_Jv_platform_nanotime () +{ +#ifdef HAVE_CLOCK_GETTIME + struct timespec now; + if (clock_gettime (CLOCK_REALTIME, &now) == 0) + { + jlong result = (jlong) now.tv_sec; + result = result * 1000 * 1000 + now.tv_nsec; + return result; + } + // clock_gettime failed, but we can fall through. +#endif // HAVE_CLOCK_GETTIME + return _Jv_platform_gettimeofday () * 1000LL; +} + // Platform-specific VM initialization. void _Jv_platform_initialize (void) |