[WTF] Remove Atomics.cpp
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 13:46:21 +0000 (13:46 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 13:46:21 +0000 (13:46 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184300

Reviewed by Konstantin Tokarev.

This Atomics.cpp is a workaround for GCC which version is < 4.8.
Our compiler requirement is now 5.0.0. This workaround is no
longer necessary.

* wtf/Atomics.cpp: Removed.
* wtf/CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/Atomics.cpp [deleted file]
Source/WTF/wtf/CMakeLists.txt

index 0cdfcb9..4474a28 100644 (file)
@@ -1,3 +1,17 @@
+2018-04-04  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [WTF] Remove Atomics.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=184300
+
+        Reviewed by Konstantin Tokarev.
+
+        This Atomics.cpp is a workaround for GCC which version is < 4.8.
+        Our compiler requirement is now 5.0.0. This workaround is no
+        longer necessary.
+
+        * wtf/Atomics.cpp: Removed.
+        * wtf/CMakeLists.txt:
+
 2018-04-03  Tomas Popela  <tpopela@redhat.com>
 
         Unreviewed, mute the unused parameter compilation warning
diff --git a/Source/WTF/wtf/Atomics.cpp b/Source/WTF/wtf/Atomics.cpp
deleted file mode 100644 (file)
index 9f3dcf7..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2007, 2008, 2010, 2012, 2015 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Justin Haygood (jhaygood@reaktix.com)
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "Atomics.h"
-
-// Some architectures, like MIPS32, don't have GCC implementation for builtin __sync_* functions
-// with 64 bits variable size. Official GCC answer for the problem: If a target doesn't support
-// atomic operations on certain variable sizes, you are out of luck with atomicity in that case
-// (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8 will support __atomic_* builtin
-// functions for this purpose for all the GCC targets, but for current compilers we have to include
-// our own implementation.
-#if COMPILER(GCC_OR_CLANG) && !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) && USE(PTHREADS)
-
-#include "ThreadingPrimitives.h"
-
-namespace WTF {
-
-static const size_t kSwapLockCount = 32;
-static Mutex s_swapLocks[kSwapLockCount];
-
-static inline Mutex& getSwapLock(const volatile int64_t* addr)
-{
-    return s_swapLocks[(reinterpret_cast<intptr_t>(addr) >> 3U) % kSwapLockCount];
-}
-
-static int64_t atomicStep(int64_t volatile* addend, int64_t step)
-{
-    Mutex& mutex = getSwapLock(addend);
-
-    mutex.lock();
-    int64_t value = *addend + step;
-    *addend = value;
-    mutex.unlock();
-
-    return value;
-}
-
-extern "C" {
-
-int64_t __sync_add_and_fetch_8(int64_t volatile* addend, int64_t value)
-{
-    return atomicStep(addend, value);
-}
-
-int64_t __sync_sub_and_fetch_8(int64_t volatile* addend, int64_t value)
-{
-    return atomicStep(addend, -value);
-}
-
-} // extern "C"
-
-} // namespace WTF
-
-#endif
index 65a650f..341401e 100644 (file)
@@ -322,7 +322,6 @@ set(WTF_PUBLIC_HEADERS
 
 set(WTF_SOURCES
     Assertions.cpp
-    Atomics.cpp
     AutomaticThread.cpp
     BitVector.cpp
     CPUTime.cpp