summaryrefslogtreecommitdiffstats
path: root/skia/ext
diff options
context:
space:
mode:
authorbungeman@chromium.org <bungeman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-21 20:47:39 +0000
committerbungeman@chromium.org <bungeman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-21 20:47:39 +0000
commite593f8b12a57a5270b6d5024aa90fee435a38c19 (patch)
tree93d0e95b1e7510bca8fd99231ea9ba610d3ce06a /skia/ext
parentf9e684382c3f1a2ad74e62477c33ffdebf849567 (diff)
downloadchromium_src-e593f8b12a57a5270b6d5024aa90fee435a38c19.zip
chromium_src-e593f8b12a57a5270b6d5024aa90fee435a38c19.tar.gz
chromium_src-e593f8b12a57a5270b6d5024aa90fee435a38c19.tar.bz2
Improve Skia configuration.
This is the Chromium side of https://codereview.chromium.org/19808007 . R=djsollen@google.com Review URL: https://codereview.chromium.org/19477005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229905 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia/ext')
-rw-r--r--skia/ext/SkThread_chrome.cc88
1 files changed, 0 insertions, 88 deletions
diff --git a/skia/ext/SkThread_chrome.cc b/skia/ext/SkThread_chrome.cc
deleted file mode 100644
index f379beb..0000000
--- a/skia/ext/SkThread_chrome.cc
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "third_party/skia/include/core/SkThread.h"
-
-#include <new>
-
-#include "base/atomicops.h"
-#include "base/basictypes.h"
-#include "base/logging.h"
-#include "base/synchronization/lock.h"
-
-/** Adds one to the int specified by the address (in a thread-safe manner), and
- returns the previous value.
- No additional memory barrier is required.
- This must act as a compiler barrier.
-*/
-int32_t sk_atomic_inc(int32_t* addr) {
- // sk_atomic_inc is expected to return the old value,
- // Barrier_AtomicIncrement returns the new value.
- return base::subtle::NoBarrier_AtomicIncrement(addr, 1) - 1;
-}
-
-/* Subtracts one from the int specified by the address (in a thread-safe
- manner), and returns the previous value.
- Expected to act as a release (SL/S) memory barrier and a compiler barrier.
-*/
-int32_t sk_atomic_dec(int32_t* addr) {
- // sk_atomic_dec is expected to return the old value,
- // Barrier_AtomicIncrement returns the new value.
- return base::subtle::Barrier_AtomicIncrement(addr, -1) + 1;
-}
-/** If sk_atomic_dec does not act as an aquire (L/SL) barrier, this is expected
- to act as an aquire (L/SL) memory barrier and as a compiler barrier.
-*/
-void sk_membar_aquire__after_atomic_dec() { }
-
-/** Adds one to the int specified by the address iff the int specified by the
- address is not zero (in a thread-safe manner), and returns the previous
- value.
- No additional memory barrier is required.
- This must act as a compiler barrier.
-*/
-int32_t sk_atomic_conditional_inc(int32_t* addr) {
- int32_t value = *addr;
-
- while (true) {
- if (value == 0) {
- return 0;
- }
-
- int32_t before;
- before = base::subtle::Acquire_CompareAndSwap(addr, value, value + 1);
-
- if (before == value) {
- return value;
- } else {
- value = before;
- }
- }
-}
-/** If sk_atomic_conditional_inc does not act as an aquire (L/SL) barrier, this
- is expected to act as an aquire (L/SL) memory barrier and as a compiler
- barrier.
-*/
-void sk_membar_aquire__after_atomic_conditional_inc() { }
-
-SkMutex::SkMutex() {
- COMPILE_ASSERT(sizeof(base::Lock) <= sizeof(fStorage), Lock_is_too_big_for_SkMutex);
- base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage);
- new(lock) base::Lock();
-}
-
-SkMutex::~SkMutex() {
- base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage);
- lock->~Lock();
-}
-
-void SkMutex::acquire() {
- base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage);
- lock->Acquire();
-}
-
-void SkMutex::release() {
- base::Lock* lock = reinterpret_cast<base::Lock*>(fStorage);
- lock->Release();
-}