diff options
Diffstat (limited to 'deps/v8/test/cctest/test-atomicops.cc')
-rw-r--r-- | deps/v8/test/cctest/test-atomicops.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/deps/v8/test/cctest/test-atomicops.cc b/deps/v8/test/cctest/test-atomicops.cc index eba956c85..53df22963 100644 --- a/deps/v8/test/cctest/test-atomicops.cc +++ b/deps/v8/test/cctest/test-atomicops.cc @@ -214,6 +214,21 @@ static void TestStore() { } +// Merge this test with TestStore as soon as we have Atomic8 acquire +// and release stores. +static void TestStoreAtomic8() { + const Atomic8 kVal1 = TestFillValue<Atomic8>(); + const Atomic8 kVal2 = static_cast<Atomic8>(-1); + + Atomic8 value; + + NoBarrier_Store(&value, kVal1); + CHECK_EQU(kVal1, value); + NoBarrier_Store(&value, kVal2); + CHECK_EQU(kVal2, value); +} + + // This is a simple sanity check to ensure that values are correct. // Not testing atomicity. template <class AtomicType> @@ -240,6 +255,21 @@ static void TestLoad() { } +// Merge this test with TestLoad as soon as we have Atomic8 acquire +// and release loads. +static void TestLoadAtomic8() { + const Atomic8 kVal1 = TestFillValue<Atomic8>(); + const Atomic8 kVal2 = static_cast<Atomic8>(-1); + + Atomic8 value; + + value = kVal1; + CHECK_EQU(kVal1, NoBarrier_Load(&value)); + value = kVal2; + CHECK_EQU(kVal2, NoBarrier_Load(&value)); +} + + TEST(AtomicIncrement) { TestAtomicIncrement<Atomic32>(); TestAtomicIncrement<AtomicWord>(); @@ -265,12 +295,14 @@ TEST(AtomicIncrementBounds) { TEST(Store) { + TestStoreAtomic8(); TestStore<Atomic32>(); TestStore<AtomicWord>(); } TEST(Load) { + TestLoadAtomic8(); TestLoad<Atomic32>(); TestLoad<AtomicWord>(); } |