Index: test/cctest/test-mark-compact.cc |
diff --git a/test/cctest/test-mark-compact.cc b/test/cctest/test-mark-compact.cc |
index a01c5dfae3aa40bce96ac62b0eb02b620479a0fc..cb5157f1e0d35b9ee72f89d203f38cff96acd6e1 100644 |
--- a/test/cctest/test-mark-compact.cc |
+++ b/test/cctest/test-mark-compact.cc |
@@ -566,4 +566,31 @@ TEST(BootUpMemoryUse) { |
} |
} |
+ |
+intptr_t ShortLivingIsolate() { |
+ v8::Isolate* isolate = v8::Isolate::New(); |
+ { v8::Isolate::Scope iscope(isolate); |
+ v8::V8::Initialize(); |
+ v8::Locker l(isolate); |
+ |
+ v8::HandleScope handle_scope; |
+ v8::Local<v8::Context> context = v8::Context::New(isolate); |
+ CHECK(!context.IsEmpty()); |
+ v8::Context::Scope context_scope(context); |
+ v8::TryCatch try_catch; |
+ CompileRun("Math.abs(2);"); |
+ } |
+ |
+ isolate->Dispose(); |
+ return MemoryInUse(); |
+} |
+ |
+ |
+TEST(RegressJoinThreadsOnIsolateDeinit) { |
+ intptr_t first_size = ShortLivingIsolate(); |
+ for (int i = 0; i < 10; i++) { |
+ CHECK_EQ(first_size, ShortLivingIsolate()); |
+ } |
+} |
+ |
#endif // __linux__ and !USE_SIMULATOR |