From 8d9837acd52d5bd8212ca93c882bb4a40ef6cd76 Mon Sep 17 00:00:00 2001 From: mistachkin Date: Tue, 6 Oct 2015 01:44:53 +0000 Subject: [PATCH] Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. FossilOrigin-Name: 3168326ebfa1c961d8fc6435453b02be23d910cc --- manifest | 16 ++++++++-------- manifest.uuid | 2 +- src/mutex_w32.c | 5 ++++- src/sqliteInt.h | 1 + 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index 5081c72572..57806324c5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Improve\sperformance\sof\sprefix\squeries\swithout\sa\sprefix\sindex\son\sfts5\stables. -D 2015-10-05T19:41:16.348 +C Adjustments\sto\ssqlite3MemoryBarrier()\swhen\scompiling\swith\sMSVC\sand/or\sWinCE. +D 2015-10-06T01:44:53.212 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2143eeef6d0cc26006ae5fc4bb242a4a8b973412 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -320,7 +320,7 @@ F src/mutex.c 8e45800ee78e0cd1f1f3fe8e398853307f4a085c F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85 F src/mutex_noop.c 9d4309c075ba9cc7249e19412d3d62f7f94839c4 F src/mutex_unix.c a94b46f3f7beba307dde1b298b0f99f9c3677a93 -F src/mutex_w32.c b483d3e5914b84c82516a6a9919582f12ef3b838 +F src/mutex_w32.c 5e6fe1c298fb5a8a15aaed4161d5759311431c17 F src/notify.c 9711a7575036f0d3040ba61bc6e217f13a9888e7 F src/os.c 8fd25588eeba74068d41102d26810e216999b6c8 F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf @@ -347,7 +347,7 @@ F src/shell.c dfd18e56fcb88dd79378774e9bc3246a9bd52243 F src/sqlite.h.in 4b76d74d69af48c534c58fb723137dc6944bdedc F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad F src/sqlite3ext.h 64350bf36833a56ad675e27392a913f417c5c308 -F src/sqliteInt.h 681f38fc0decba6edcf3bad230e76fa5bf55a7bf +F src/sqliteInt.h e21cc96bc24161df7373f6b24367cf580496889d F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46 F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179 F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e @@ -1391,7 +1391,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P d6b66cd7b89fbd964f798d160a34caac0ba7347a -R 0053d2d2b912a0e9b79250c67681b097 -U dan -Z c981c12e0ed92ecd6400cdfa9ecf4084 +P f2f0184e9e1c9f121ee2ac864cd28c8cd8efecb5 +R e9c328a2763ce5ce6b257c253eecdcc8 +U mistachkin +Z 85dfdec3788a9562e3ed3a33e9d7dade diff --git a/manifest.uuid b/manifest.uuid index fcb70f5907..1515ed061b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f2f0184e9e1c9f121ee2ac864cd28c8cd8efecb5 \ No newline at end of file +3168326ebfa1c961d8fc6435453b02be23d910cc \ No newline at end of file diff --git a/src/mutex_w32.c b/src/mutex_w32.c index 7d28e4defc..9570bdc0bf 100644 --- a/src/mutex_w32.c +++ b/src/mutex_w32.c @@ -87,7 +87,10 @@ void sqlite3MemoryBarrier(void){ SQLITE_MEMORY_BARRIER; #elif defined(__GNUC__) __sync_synchronize(); -#else +#elif !defined(SQLITE_DISABLE_INTRINSIC) && \ + defined(_MSC_VER) && _MSC_VER>=1300 + _ReadWriteBarrier(); +#elif defined(MemoryBarrier) MemoryBarrier(); #endif } diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 6c9bb06f69..15bf930618 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -196,6 +196,7 @@ # include # pragma intrinsic(_byteswap_ushort) # pragma intrinsic(_byteswap_ulong) +# pragma intrinsic(_ReadWriteBarrier) # else # include # endif