[vm/concurrency] Speed up debug runs of isolate tests

Running isolates tests in debug mode is currently very slow due to heap
verification and related code on isolate startup & shutdown.

This CL limits those verifications to only run on the first isolate of
an isolate group.

Issue https://github.com/dart-lang/sdk/issues/36097

TEST=Existing test suite.

Change-Id: I1f329bca9e4c1d56ab60f36ffa8b9cc037b818f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199249
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
This commit is contained in:
Martin Kustermann
2021-05-12 07:55:38 +00:00
committed by commit-bot@chromium.org
parent c0f6b37d17
commit bdcb07c85f
2 changed files with 6 additions and 2 deletions
+3 -1
View File
@@ -861,7 +861,9 @@ ErrorPtr Dart::InitializeIsolate(const uint8_t* snapshot_data,
}
Object::VerifyBuiltinVtables();
DEBUG_ONLY(IG->heap()->Verify(kForbidMarked));
if (T->isolate()->origin_id() == 0) {
DEBUG_ONLY(IG->heap()->Verify(kForbidMarked));
}
#if defined(DART_PRECOMPILED_RUNTIME)
const bool kIsAotRuntime = true;
+3 -1
View File
@@ -1499,7 +1499,9 @@ DART_EXPORT void Dart_ShutdownIsolate() {
StackZone zone(T);
HandleScope handle_scope(T);
#if defined(DEBUG)
T->isolate_group()->ValidateConstants();
if (T->isolate()->origin_id() == 0) {
T->isolate_group()->ValidateConstants();
}
#endif
Dart::RunShutdownCallback();
}