aboutsummaryrefslogtreecommitdiff
path: root/dep/ACE_wrappers/ace/gethrtime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dep/ACE_wrappers/ace/gethrtime.cpp')
-rw-r--r--dep/ACE_wrappers/ace/gethrtime.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/dep/ACE_wrappers/ace/gethrtime.cpp b/dep/ACE_wrappers/ace/gethrtime.cpp
index 360db7a78a3..163645cd68b 100644
--- a/dep/ACE_wrappers/ace/gethrtime.cpp
+++ b/dep/ACE_wrappers/ace/gethrtime.cpp
@@ -4,21 +4,28 @@
// that was compiled with GreenHills. It wouldn't be necessary if I
// knew a way to correctly move values from registers to a 64-bit
// variable in GHS asm code. That's easy with g++ asm.
+
#include "ace/config-all.h"
+
ACE_RCSID(ace, gethrtime, "$Id: gethrtime.cpp 80826 2008-03-04 14:51:23Z wotte $")
+
#if defined (ghs) && (defined (i386) || defined(__i386__))
+
#include "ace/OS_NS_time.h"
+
extern "C"
ACE_hrtime_t
ACE_GETHRTIME_NAME (void)
{
#if defined (ACE_HAS_PENTIUM)
// ACE_TRACE ("ACE_GETHRTIME_NAME");
+
#if defined (ACE_LACKS_LONGLONG_T)
double now;
#else /* ! ACE_LACKS_LONGLONG_T */
ACE_hrtime_t now;
#endif /* ! ACE_LACKS_LONGLONG_T */
+
// Read the high-res tick counter directly into memory variable
// "now". The A constraint signifies a 64-bit int.
#if defined (__GNUG__)
@@ -31,6 +38,7 @@ ACE_GETHRTIME_NAME (void)
#else
# error unsupported compiler
#endif
+
#if defined (ACE_LACKS_LONGLONG_T)
// ACE_U_LongLong doesn't have the same layout as now, so construct
// it "properly".
@@ -38,11 +46,13 @@ ACE_GETHRTIME_NAME (void)
ACE_OS::memcpy (&least, &now, sizeof (ACE_UINT32));
ACE_OS::memcpy (&most, (unsigned char *) &now + sizeof (ACE_UINT32),
sizeof (ACE_UINT32));
+
const ACE_hrtime_t ret (least, most);
return ret;
#else /* ! ACE_LACKS_LONGLONG_T */
return now;
#endif /* ! ACE_LACKS_LONGLONG_T */
+
#else /* ! ACE_HAS_PENTIUM */
# error This file can _only_ be compiled with ACE_HAS_PENTIUM.
#endif /* ! ACE_HAS_PENTIUM */