181496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org/* 281496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org * Copyright 2014 Google Inc. 381496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org * 481496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org * Use of this source code is governed by a BSD-style license that can be 581496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org * found in the LICENSE file. 681496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org */ 781496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org 881496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org#ifndef SkThreadPriv_DEFINED 981496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org#define SkThreadPriv_DEFINED 1081496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org 1181496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org#include "SkTypes.h" 1281496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org 1381496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org// SK_ATOMICS_PLATFORM_H must provide inline implementations for the following declarations. 1481496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org 1581496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org/** Atomic compare and set, for pointers. 1681496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org * If *addr == before, set *addr to after. Always returns previous value of *addr. 1797de357270e54be53acb17e1cb4b4d5e25bacc01commit-bot@chromium.org * This must issue a release barrier on success, acquire on failure, and always a compiler barrier. 1881496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org */ 1981496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.orgstatic void* sk_atomic_cas(void** addr, void* before, void* after); 2081496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org 2181496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org#include SK_ATOMICS_PLATFORM_H 2281496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org 2381496fb21637cc8d2a2b45a790e0f9d6d6f769c4commit-bot@chromium.org#endif//SkThreadPriv_DEFINED 24