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; }
vm-dev@lists.squeakfoundation.org