From: shane Date: Thu, 12 Jun 2008 02:24:38 +0000 (+0000) Subject: Added x86_64 version of hwtime function. Ticket #3156. (CVS 5208) X-Git-Tag: version-3.6.10~969 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b08c1d0c7d96a65268c039dd0e58944959453b6b;p=thirdparty%2Fsqlite.git Added x86_64 version of hwtime function. Ticket #3156. (CVS 5208) FossilOrigin-Name: 0729f5c3d01200190897488f14aec413a5ea17f9 --- diff --git a/manifest b/manifest index 18f1538559..4a806c9be0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Removed\sall\sC++\sstyle\scomments.\sTicket\s#3172.\s(CVS\s5207) -D 2008-06-12T02:16:45 +C Added\sx86_64\sversion\sof\shwtime\sfunction.\s\sTicket\s#3156.\s(CVS\s5208) +D 2008-06-12T02:24:39 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in ce92ea8dc7adfb743757794f51c10d1b0d9c55e4 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -109,7 +109,7 @@ F src/fault.c 1f6177188edb00641673e462f3fab8cba9f7422b F src/func.c 77a910a1ca7613d291fd0b5cba3be14c02f0dce0 F src/hash.c fd8cb06fb54c2fe7d48c9195792059a2e5be8b70 F src/hash.h 031cd9f915aff27e12262cb9eb570ac1b8326b53 -F src/hwtime.h 10fae2093aefa2b00be13bcac40c06e90924bc83 +F src/hwtime.h 745961687a65ef8918cd551c02e5ccb4b8e772de F src/insert.c c2ead6c36566de8e3f130e7ab1431723a269d5d7 F src/journal.c cffd2cd214e58c0e99c3ff632b3bee6c7cbb260e F src/legacy.c 8f5a2b25d9673b4004287cf2bf51dbf7d0738406 @@ -593,7 +593,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 14a9b9453bc1c85785fcc44617af80912f5118c8 -R 2f32538fd41301b7db27aba00bd1cd70 +P 59f72425eb9acd270110a6a739f98a045c555f23 +R e05fbcefeff7929064a3601d150fe711 U shane -Z 5f5579143d41d2431d70f73b40c5dc99 +Z 04de18a0cb7b221fee4cdd4f5e5f10fc diff --git a/manifest.uuid b/manifest.uuid index 4da47eb769..7df3e07672 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -59f72425eb9acd270110a6a739f98a045c555f23 \ No newline at end of file +0729f5c3d01200190897488f14aec413a5ea17f9 \ No newline at end of file diff --git a/src/hwtime.h b/src/hwtime.h index ba34d385c8..40d7da75f9 100644 --- a/src/hwtime.h +++ b/src/hwtime.h @@ -13,7 +13,7 @@ ** This file contains inline asm code for retrieving "high-performance" ** counters for x86 class CPUs. ** -** $Id: hwtime.h,v 1.1 2008/05/29 20:22:37 shane Exp $ +** $Id: hwtime.h,v 1.2 2008/06/12 02:24:39 shane Exp $ */ #ifndef _HWTIME_H_ #define _HWTIME_H_ @@ -31,7 +31,6 @@ __inline__ sqlite_uint64 sqlite3Hwtime(void){ unsigned int lo, hi; - /* We cannot use "=A", since this would use %rax on x86_64 */ __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); return (sqlite_uint64)hi << 32 | lo; } @@ -47,6 +46,14 @@ #endif +#elif (defined(__GNUC__) && defined(__x86_64__)) + + __inline__ sqlite_uint64 sqlite3Hwtime(void){ + unsigned long val; + __asm__ __volatile__ ("rdtsc" : "=A" (val)); + return val; + } + #else #error Need implementation of sqlite3Hwtime() for your platform.