[Vm-dev] [commit][3433] Fix heartbeat code signatures for 64-bits.

commits at squeakvm.org commits at squeakvm.org
Fri Sep 11 16:29:41 UTC 2015


Revision: 3433
Author:   eliot
Date:     2015-09-11 09:29:40 -0700 (Fri, 11 Sep 2015)
Log Message:
-----------
Fix heartbeat code signatures for 64-bits.  Thnaks, Ryan.

Modified Paths:
--------------
    branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
    branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
    branches/Cog/platforms/win32/vm/sqWin32Heartbeat.c

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu Sep 10 16:19:32 PDT 2015
   + Fri Sep 11 09:29:08 PDT 2015

Modified: branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c	2015-09-10 23:20:00 UTC (rev 3432)
+++ branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c	2015-09-11 16:29:40 UTC (rev 3433)
@@ -162,7 +162,8 @@
   sqLong value = 0;
 #if defined(__GNUC__) && ( defined(i386) || defined(__i386) || defined(__i386__)  \
 			|| defined(i486) || defined(__i486) || defined (__i486__) \
-			|| defined(intel) || defined(x86) || defined(i86pc) )
+			|| defined(intel) || defined(x86) || defined(i86pc) \
+			|| defined(x86_64) || defined(__x86_64) || defined (__x86_64__))
     __asm__ __volatile__ ("rdtsc" : "=A"(value));
 #elif defined(__arm__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_7A__))
 	/* tpr - do nothing for now; needs input from eliot to decide further */
@@ -255,23 +256,23 @@
 usqLong
 ioLocalMicrosecondsNow() { return currentUTCMicroseconds() + vmGMTOffset; };
 
-int
+sqInt
 ioMSecs() { return millisecondClock; }
 
 /* Note: ioMicroMSecs returns *milli*seconds */
-int ioMicroMSecs(void) { return microToMilliseconds(currentUTCMicroseconds()); }
+sqInt ioMicroMSecs(void) { return microToMilliseconds(currentUTCMicroseconds()); }
 
 /* returns the local wall clock time */
-int
+sqInt
 ioSeconds(void) { return get64(localMicrosecondClock) / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioSecondsNow(void) { return ioLocalMicrosecondsNow() / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioUTCSeconds(void) { return get64(utcMicrosecondClock) / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioUTCSecondsNow(void) { return currentUTCMicroseconds() / MicrosecondsPerSecond; }
 
 /*
@@ -279,7 +280,7 @@
  * On Unix use dpy->ioRelinquishProcessorForMicroseconds
  */
 #if macintoshSqueak
-int
+sqInt
 ioRelinquishProcessorForMicroseconds(int microSeconds)
 {
     long	realTimeToWait;

Modified: branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
===================================================================
--- branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c	2015-09-10 23:20:00 UTC (rev 3432)
+++ branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c	2015-09-11 16:29:40 UTC (rev 3433)
@@ -258,23 +258,24 @@
 usqLong
 ioLocalMicrosecondsNow() { return currentUTCMicroseconds() + vmGMTOffset; };
 
-int
+sqInt
 ioMSecs() { return millisecondClock; }
 
 /* Note: ioMicroMSecs returns *milli*seconds */
-int ioMicroMSecs(void) { return microToMilliseconds(currentUTCMicroseconds()); }
+sqInt
+ioMicroMSecs(void) { return microToMilliseconds(currentUTCMicroseconds()); }
 
 /* returns the local wall clock time */
-int
+sqInt
 ioSeconds(void) { return get64(localMicrosecondClock) / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioSecondsNow(void) { return ioLocalMicrosecondsNow() / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioUTCSeconds(void) { return get64(utcMicrosecondClock) / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioUTCSecondsNow(void) { return currentUTCMicroseconds() / MicrosecondsPerSecond; }
 
 /*
@@ -282,7 +283,7 @@
  * On Unix use dpy->ioRelinquishProcessorForMicroseconds
  */
 #if macintoshSqueak
-int
+sqInt
 ioRelinquishProcessorForMicroseconds(int microSeconds)
 {
     long	realTimeToWait;

Modified: branches/Cog/platforms/win32/vm/sqWin32Heartbeat.c
===================================================================
--- branches/Cog/platforms/win32/vm/sqWin32Heartbeat.c	2015-09-10 23:20:00 UTC (rev 3432)
+++ branches/Cog/platforms/win32/vm/sqWin32Heartbeat.c	2015-09-11 16:29:40 UTC (rev 3433)
@@ -53,7 +53,8 @@
 static DWORD dwTimerPeriod = 0;
 static DWORD timerID = 0;
 
-int ioOldMSecs()
+int
+ioOldMSecs()
 {
   /* Make sure the value fits into Squeak SmallIntegers */
 #ifndef _WIN32_WCE
@@ -256,20 +257,20 @@
 ioMSecs() { return millisecondClock; }
 
 /* Note: ioMicroMSecs returns *milli*seconds */
-int
+sqInt
 ioMicroMSecs(void) { return microToMilliseconds(ioUTCMicrosecondsNow()); }
 
 /* returns the local wall clock time */
-int
+sqInt
 ioSeconds(void) { return get64(localMicrosecondClock) / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioSecondsNow(void) { return ioLocalMicrosecondsNow() / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioUTCSeconds(void) { return get64(utcMicrosecondClock) / MicrosecondsPerSecond; }
 
-int
+sqInt
 ioUTCSecondsNow(void) { return ioUTCMicrosecondsNow() / MicrosecondsPerSecond; }
 
 



More information about the Vm-dev mailing list