/ Check-in [3168326e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3168326ebfa1c961d8fc6435453b02be23d910cc
User & Date: mistachkin 2015-10-06 01:44:53
Context
2015-10-06
17:27
Fix the LIMIT and OFFSET handling for UNION ALL queries that contain a subquery with ORDER BY on the right-hand side. Fix for ticket [b65cb2c8d91f668584]. check-in: 4b631364 user: drh tags: trunk
01:44
Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. check-in: 3168326e user: mistachkin tags: trunk
2015-10-05
19:41
Improve performance of prefix queries without a prefix index on fts5 tables. check-in: f2f0184e user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/mutex_w32.c.

    83     83   ** compiled without mutexes (SQLITE_THREADSAFE=0).
    84     84   */
    85     85   void sqlite3MemoryBarrier(void){
    86     86   #if defined(SQLITE_MEMORY_BARRIER)
    87     87     SQLITE_MEMORY_BARRIER;
    88     88   #elif defined(__GNUC__)
    89     89     __sync_synchronize();
    90         -#else
           90  +#elif !defined(SQLITE_DISABLE_INTRINSIC) && \
           91  +      defined(_MSC_VER) && _MSC_VER>=1300
           92  +  _ReadWriteBarrier();
           93  +#elif defined(MemoryBarrier)
    91     94     MemoryBarrier();
    92     95   #endif
    93     96   }
    94     97   
    95     98   /*
    96     99   ** Initialize and deinitialize the mutex subsystem.
    97    100   */

Changes to src/sqliteInt.h.

   192    192   */
   193    193   #if !defined(SQLITE_DISABLE_INTRINSIC)
   194    194   #  if defined(_MSC_VER) && _MSC_VER>=1300
   195    195   #    if !defined(_WIN32_WCE)
   196    196   #      include <intrin.h>
   197    197   #      pragma intrinsic(_byteswap_ushort)
   198    198   #      pragma intrinsic(_byteswap_ulong)
          199  +#      pragma intrinsic(_ReadWriteBarrier)
   199    200   #    else
   200    201   #      include <cmnintrin.h>
   201    202   #    endif
   202    203   #  endif
   203    204   #endif
   204    205   
   205    206   /*