summaryrefslogtreecommitdiff
path: root/deps/v8/test/unittests/heap/shared-heap-unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/unittests/heap/shared-heap-unittest.cc')
-rw-r--r--deps/v8/test/unittests/heap/shared-heap-unittest.cc32
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) {