Add timing split for updating app image class loaders
Added since this a non-trivial portion of app image loading time.
Test: test-art-host
Bug: 111397239
Bug: 116052292
Change-Id: I922077a8929a46efaa7f5567beffee6d7b634392
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 9ba52c4..ff455f6 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -2034,11 +2034,15 @@
}
if (app_image) {
AppImageLoadingHelper::Update(this, space, class_loader, dex_caches, &temp_set);
- // Update class loader and resolved strings. If added_class_table is false, the resolved
- // strings were forwarded UpdateAppImageClassLoadersAndDexCaches.
- UpdateClassLoaderVisitor visitor(space, class_loader.Get());
- for (const ClassTable::TableSlot& root : temp_set) {
- visitor(root.Read());
+
+ {
+ ScopedTrace trace("AppImage:UpdateClassLoaders");
+ // Update class loader and resolved strings. If added_class_table is false, the resolved
+ // strings were forwarded UpdateAppImageClassLoadersAndDexCaches.
+ UpdateClassLoaderVisitor visitor(space, class_loader.Get());
+ for (const ClassTable::TableSlot& root : temp_set) {
+ visitor(root.Read());
+ }
}
if (kBitstringSubtypeCheckEnabled) {