Title: [231972] releases/WebKitGTK/webkit-2.20/Source/WTF
Revision
231972
Author
[email protected]
Date
2018-05-18 11:42:33 -0700 (Fri, 18 May 2018)

Log Message

Merged r230254 - [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:

Modified Paths

Removed Paths

Diff

Modified: releases/WebKitGTK/webkit-2.20/Source/WTF/ChangeLog (231971 => 231972)


--- releases/WebKitGTK/webkit-2.20/Source/WTF/ChangeLog	2018-05-18 18:42:28 UTC (rev 231971)
+++ releases/WebKitGTK/webkit-2.20/Source/WTF/ChangeLog	2018-05-18 18:42:33 UTC (rev 231972)
@@ -1,3 +1,17 @@
+2018-04-04  Yusuke Suzuki  <[email protected]>
+
+        [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-05-09  Michael Catanzaro  <[email protected]>
 
         [WPE] Build cleanly with GCC 8 and ICU 60

Deleted: releases/WebKitGTK/webkit-2.20/Source/WTF/wtf/Atomics.cpp (231971 => 231972)


--- releases/WebKitGTK/webkit-2.20/Source/WTF/wtf/Atomics.cpp	2018-05-18 18:42:28 UTC (rev 231971)
+++ releases/WebKitGTK/webkit-2.20/Source/WTF/wtf/Atomics.cpp	2018-05-18 18:42:33 UTC (rev 231972)
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2007, 2008, 2010, 2012, 2015 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Justin Haygood ([email protected])
- *
- * 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

Modified: releases/WebKitGTK/webkit-2.20/Source/WTF/wtf/CMakeLists.txt (231971 => 231972)


--- releases/WebKitGTK/webkit-2.20/Source/WTF/wtf/CMakeLists.txt	2018-05-18 18:42:28 UTC (rev 231971)
+++ releases/WebKitGTK/webkit-2.20/Source/WTF/wtf/CMakeLists.txt	2018-05-18 18:42:33 UTC (rev 231972)
@@ -315,7 +315,6 @@
 
 set(WTF_SOURCES
     Assertions.cpp
-    Atomics.cpp
     AutomaticThread.cpp
     BitVector.cpp
     CPUTime.cpp
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to