Ignore:
Timestamp:
Aug 19, 2011, 4:22:16 PM (14 years ago)
Author:
[email protected]
Message:

Implement WTF::atomic{Increment, Decrement}() for QNX
https://bugs.webkit.org/show_bug.cgi?id=66605

Reviewed by Darin Adler.

  • wtf/Atomics.h:

(WTF::atomicIncrement):
(WTF::atomicDecrement):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/wtf/Atomics.h

    r81567 r93450  
    6868#elif OS(ANDROID)
    6969#include <cutils/atomic.h>
     70#elif OS(QNX)
     71#include <atomic.h>
    7072#elif COMPILER(GCC) && !OS(SYMBIAN)
    7173#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2))
     
    9597inline int atomicDecrement(int volatile* addend) { return OSAtomicDecrement32Barrier(const_cast<int*>(addend)); }
    9698
     99#elif OS(QNX)
     100#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
     101
     102// Note, atomic_{add, sub}_value() return the previous value of addend's content.
     103inline int atomicIncrement(int volatile* addend) { return static_cast<int>(atomic_add_value(reinterpret_cast<unsigned volatile*>(addend), 1)) + 1; }
     104inline int atomicDecrement(int volatile* addend) { return static_cast<int>(atomic_sub_value(reinterpret_cast<unsigned volatile*>(addend), 1)) - 1; }
     105
    97106#elif OS(ANDROID)
    98107
Note: See TracChangeset for help on using the changeset viewer.