summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-usecounters.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/test-usecounters.cc')
-rw-r--r--deps/v8/test/cctest/test-usecounters.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/deps/v8/test/cctest/test-usecounters.cc b/deps/v8/test/cctest/test-usecounters.cc
index 5e37991252..4c6c72a28d 100644
--- a/deps/v8/test/cctest/test-usecounters.cc
+++ b/deps/v8/test/cctest/test-usecounters.cc
@@ -60,6 +60,27 @@ TEST(AssigmentExpressionLHSIsCall) {
use_counts[v8::Isolate::kAssigmentExpressionLHSIsCallInStrict] = 0;
}
+TEST(AtomicsWakeAndAtomicsNotify) {
+ v8::Isolate* isolate = CcTest::isolate();
+ v8::HandleScope scope(isolate);
+ LocalContext env;
+ int use_counts[v8::Isolate::kUseCounterFeatureCount] = {};
+ global_use_counts = use_counts;
+ i::FLAG_harmony_sharedarraybuffer = true;
+ CcTest::isolate()->SetUseCounterCallback(MockUseCounterCallback);
+
+ CompileRun("Atomics.wake(new Int32Array(new SharedArrayBuffer(16)), 0);");
+ CHECK_EQ(1, use_counts[v8::Isolate::kAtomicsWake]);
+ CHECK_EQ(0, use_counts[v8::Isolate::kAtomicsNotify]);
+
+ use_counts[v8::Isolate::kAtomicsWake] = 0;
+ use_counts[v8::Isolate::kAtomicsNotify] = 0;
+
+ CompileRun("Atomics.notify(new Int32Array(new SharedArrayBuffer(16)), 0);");
+ CHECK_EQ(0, use_counts[v8::Isolate::kAtomicsWake]);
+ CHECK_EQ(1, use_counts[v8::Isolate::kAtomicsNotify]);
+}
+
} // namespace test_usecounters
} // namespace internal
} // namespace v8