summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authordeanm@google.com <deanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-07 14:12:34 +0000
committerdeanm@google.com <deanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-07 14:12:34 +0000
commit50e431472ec1589884f2de2007a10718cb3d4176 (patch)
treee7cc64c1160c164121572906e4b6fabcb6fa8ea0 /base
parentdd6ad6dd02501f33768037ced54ff3eaedf9bbb6 (diff)
downloadchromium_src-50e431472ec1589884f2de2007a10718cb3d4176.zip
chromium_src-50e431472ec1589884f2de2007a10718cb3d4176.tar.gz
chromium_src-50e431472ec1589884f2de2007a10718cb3d4176.tar.bz2
Remove the old atomic operations interface.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@511 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/SConscript1
-rw-r--r--base/atomic.h111
-rw-r--r--base/atomic_unittest.cc63
-rw-r--r--base/build/base.vcproj4
-rw-r--r--base/build/base_unittests.vcproj4
5 files changed, 0 insertions, 183 deletions
diff --git a/base/SConscript b/base/SConscript
index 26493a7..39ccdda 100644
--- a/base/SConscript
+++ b/base/SConscript
@@ -215,7 +215,6 @@ env_tests.ChromeTestProgram(['debug_message.exe',
test_files = [
'at_exit_unittest.cc',
- 'atomic_unittest.cc',
'check_handler_unittest.cc',
'clipboard_unittest.cc',
'command_line_unittest.cc',
diff --git a/base/atomic.h b/base/atomic.h
deleted file mode 100644
index becbcc3..0000000
--- a/base/atomic.h
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2008, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * 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.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
-// OWNER OR 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.
-
-#ifndef BASE_ATOMIC_H__
-#define BASE_ATOMIC_H__
-
-#if defined(WIN32)
-#include <windows.h>
-#elif defined(__APPLE__)
-#include <libkern/OSAtomic.h>
-#else
-#error Implement atomic support on your platform
-#endif
-
-#include "base/basictypes.h"
-
-namespace base {
-
-///////////////////////////////////////////////////////////////////////////
-//
-// Forward declarations and descriptions of the functions
-//
-///////////////////////////////////////////////////////////////////////////
-
-// Atomically increments *value and returns the resulting incremented value.
-// This function implies no memory barriers.
-int32 AtomicIncrement(volatile int32* value);
-
-// Atomically decrements *value and returns the resulting decremented value.
-// This function implies no memory barriers.
-int32 AtomicDecrement(volatile int32* value);
-
-// Atomically sets *target to new_value and returns the old value of *target.
-// This function implies no memory barriers.
-int32 AtomicSwap(volatile int32* target, int32 new_value);
-
-///////////////////////////////////////////////////////////////////////////
-//
-// Implementations for various platforms
-//
-///////////////////////////////////////////////////////////////////////////
-
-#if defined(WIN32)
-
-inline int32 AtomicIncrement(volatile int32* value) {
- return InterlockedIncrement(reinterpret_cast<volatile LONG*>(value));
-}
-
-inline int32 AtomicDecrement(volatile int32* value) {
- return InterlockedDecrement(reinterpret_cast<volatile LONG*>(value));
-}
-
-inline int32 AtomicSwap(volatile int32* target, int32 new_value) {
- return InterlockedExchange(reinterpret_cast<volatile LONG*>(target),
- new_value);
-}
-
-#elif defined(__APPLE__)
-
-inline int32 AtomicIncrement(volatile int32* value) {
- return OSAtomicIncrement32(reinterpret_cast<volatile int32_t*>(value));
-}
-
-inline int32 AtomicDecrement(volatile int32* value) {
- return OSAtomicDecrement32(reinterpret_cast<volatile int32_t*>(value));
-}
-
-inline int32 AtomicSwap(volatile int32* target, int32 new_value) {
- int32 old_value;
- do {
- old_value = *target;
- } while (!OSAtomicCompareAndSwap32(old_value, new_value,
- reinterpret_cast<volatile int32_t*>(target)));
- return old_value;
-}
-
-#else
-
-#error Implement atomic support on your platform
-
-#endif
-
-} // namespace base
-
-#endif // BASE_ATOMIC_H__
diff --git a/base/atomic_unittest.cc b/base/atomic_unittest.cc
deleted file mode 100644
index 770a520..0000000
--- a/base/atomic_unittest.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2008, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * 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.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
-// OWNER OR 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 "base/atomic.h"
-
-#include "base/lock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-TEST(AtomicTest, Increment) {
- int32 value = 38;
- int32 new_value = base::AtomicIncrement(&value);
- EXPECT_EQ(39, value);
- EXPECT_EQ(39, new_value);
-}
-
-TEST(AtomicTest, Decrement) {
- int32 value = 49;
- int32 new_value = base::AtomicDecrement(&value);
- EXPECT_EQ(48, value);
- EXPECT_EQ(48, new_value);
-}
-
-TEST(AtomicTest, Swap) {
- int32 value = 38;
- int32 old_value = base::AtomicSwap(&value, 49);
- EXPECT_EQ(49, value);
- EXPECT_EQ(38, old_value);
-
- // Now do another test.
- value = 0;
- old_value = base::AtomicSwap(&value, 1);
- EXPECT_EQ(0, old_value);
- old_value = base::AtomicSwap(&value, 1);
- EXPECT_EQ(1, old_value);
- old_value = base::AtomicSwap(&value, 1);
- EXPECT_EQ(1, old_value);
-}
diff --git a/base/build/base.vcproj b/base/build/base.vcproj
index 60c759c..c76886f 100644
--- a/base/build/base.vcproj
+++ b/base/build/base.vcproj
@@ -130,10 +130,6 @@
>
</File>
<File
- RelativePath="..\atomic.h"
- >
- </File>
- <File
RelativePath="..\atomic_ref_count.h"
>
</File>
diff --git a/base/build/base_unittests.vcproj b/base/build/base_unittests.vcproj
index 7ffc029..27a4ad8 100644
--- a/base/build/base_unittests.vcproj
+++ b/base/build/base_unittests.vcproj
@@ -172,10 +172,6 @@
>
</File>
<File
- RelativePath="..\atomic_unittest.cc"
- >
- </File>
- <File
RelativePath="..\check_handler_unittest.cc"
>
</File>