diff options
Diffstat (limited to 'deps/v8/test/unittests/heap/shared-heap-unittest.cc')
-rw-r--r-- | deps/v8/test/unittests/heap/shared-heap-unittest.cc | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/deps/v8/test/unittests/heap/shared-heap-unittest.cc b/deps/v8/test/unittests/heap/shared-heap-unittest.cc index cae779a360..19b5b1eb6f 100644 --- a/deps/v8/test/unittests/heap/shared-heap-unittest.cc +++ b/deps/v8/test/unittests/heap/shared-heap-unittest.cc @@ -19,23 +19,33 @@ using SharedHeapTest = TestJSSharedMemoryWithIsolate; class SharedHeapNoClientsTest : public TestJSSharedMemoryWithPlatform { public: SharedHeapNoClientsTest() { - bool created; - shared_isolate_ = Isolate::GetProcessWideSharedIsolate(&created); - CHECK(created); + if (v8_flags.shared_space) { + shared_space_isolate_wrapper.emplace(kNoCounters); + shared_isolate_ = shared_space_isolate_wrapper->i_isolate(); + } else { + bool created; + shared_isolate_ = Isolate::GetProcessWideSharedIsolate(&created); + CHECK(created); + } } ~SharedHeapNoClientsTest() override { - Isolate::DeleteProcessWideSharedIsolate(); + if (!v8_flags.shared_space) { + Isolate::DeleteProcessWideSharedIsolate(); + } + + shared_isolate_ = nullptr; } - v8::Isolate* shared_isolate() { - return reinterpret_cast<v8::Isolate*>(i_shared_isolate()); + v8::Isolate* shared_heap_isolate() { + return reinterpret_cast<v8::Isolate*>(i_shared_heap_isolate()); } - Isolate* i_shared_isolate() { return shared_isolate_; } + Isolate* i_shared_heap_isolate() { return shared_isolate_; } private: Isolate* shared_isolate_; + base::Optional<IsolateWrapper> shared_space_isolate_wrapper; }; namespace { @@ -182,10 +192,12 @@ TEST_F(SharedHeapTest, ConcurrentAllocationInSharedMapSpace) { } TEST_F(SharedHeapNoClientsTest, SharedCollectionWithoutClients) { - DCHECK_NULL(i_shared_isolate()->heap()->new_space()); - DCHECK_NULL(i_shared_isolate()->heap()->new_lo_space()); + if (!v8_flags.shared_space) { + DCHECK_NULL(i_shared_heap_isolate()->heap()->new_space()); + DCHECK_NULL(i_shared_heap_isolate()->heap()->new_lo_space()); + } - ::v8::internal::CollectGarbage(OLD_SPACE, shared_isolate()); + ::v8::internal::CollectGarbage(OLD_SPACE, shared_heap_isolate()); } void AllocateInSharedHeap(int iterations = 100) { |