< prev index next >
src/java.base/unix/native/libjli/java_md_solinux.h
Print this page
@@ -32,12 +32,26 @@
*/
#include <sys/time.h>
#define CounterGet() (gethrtime()/1000)
#define Counter2Micros(counts) (counts)
#else /* ! HAVE_GETHRTIME */
-#define CounterGet() (0)
-#define Counter2Micros(counts) (1)
+/*
+ * * Add gethrtime() implementation for launch time debug on Linux.
+ * */
+#include <sys/time.h>
+inline uint64_t gethrtime() {
+ uint64_t result = 0;
+ struct timeval tv;
+ if (gettimeofday(&tv, NULL) != -1) {
+ result = 1000000LL * (uint64_t)tv.tv_sec;
+ result += (uint64_t)tv.tv_usec;
+ }
+ return result;
+}
+
+#define CounterGet() (gethrtime())
+#define Counter2Micros(counts) (counts)
#endif /* HAVE_GETHRTIME */
/* pointer to environment */
extern char **environ;
< prev index next >