Use GC exclusion for NotifyStartupCompleted
Prevent deadlocks that can occur in very rare cases where checkpoints
block on a thread decoding weak globals, resulting in a deadlock.
This is done by moving the startup completed event on a separate
thread and using GC exclusion.
Test: test-art-host
Bug: 138852758
Change-Id: I314c61aff5be0d5829f7ad5fac0659e99dec1d90
diff --git a/runtime/runtime.h b/runtime/runtime.h
index 0b336c7..4975e65 100644
--- a/runtime/runtime.h
+++ b/runtime/runtime.h
@@ -1295,6 +1295,7 @@
friend std::string GetFaultMessageForAbortLogging();
friend class ScopedThreadPoolUsage;
friend class OatFileAssistantTest;
+ class NotifyStartupCompletedTask;
DISALLOW_COPY_AND_ASSIGN(Runtime);
};