[Webkit-unassigned] [Bug 106740] New: Fix the atomicIncrement implementation for Windows

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jan 13 01:23:59 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=106740

           Summary: Fix the atomicIncrement implementation for Windows
           Product: WebKit
           Version: 420+
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Template Framework
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: ossy at webkit.org
                CC: hausmann at webkit.org, jocelyn.turcotte at digia.com,
                    pierre.rossi at gmail.com, zarvai at inf.u-szeged.hu
        Depends on: 106708,106729


After https://trac.webkit.org/changeset/139514 we need 32 and 64 bit implementation 
for atomicIncrement(). I fixed it for GCC in http://trac.webkit.org/changeset/139553,
but we still need fix for Windows too:
----------------------------------------------------------------------------------------------------------------------------
#if COMPILER(MINGW) || COMPILER(MSVC7_OR_LOWER) || OS(WINCE)
inline int atomicIncrement(int* addend) { return InterlockedIncrement(reinterpret_cast<long*>(addend)); }
inline int atomicDecrement(int* addend) { return InterlockedDecrement(reinterpret_cast<long*>(addend)); }
#else
inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(reinterpret_cast<long volatile*>(addend)); }
inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast<long volatile*>(addend)); }
#endif
----------------------------------------------------------------------------------------------------------------------------

Maybe the InterlockedIncrement64 and InterlockedDecrement64 would be 
the fix, but I'm afraid it isn't implemented on 32 bit MinGW platform.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list