Add option for controling app image class initialization
The new option is --initialize-app-image-classes. This attempts to
initialize app image classes by running the class initializers ahead
of time.
Will test this through test 660, but there are currently aborts when
it's enabled.
Test: test-art-host
Bug: 70735003
Change-Id: Icc05683b23098a15531097f67aad17144f0badaf
diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h
index bd832b9..98b15dc 100644
--- a/compiler/driver/compiler_options.h
+++ b/compiler/driver/compiler_options.h
@@ -346,6 +346,10 @@
max_image_block_size_ = size;
}
+ bool InitializeAppImageClasses() const {
+ return initialize_app_image_classes_;
+ }
+
// Is `boot_image_filename` the name of a core image (small boot
// image used for ART testing only)?
static bool IsCoreImageFilename(const std::string& boot_image_filename);
@@ -429,6 +433,9 @@
// profile.
bool resolve_startup_const_strings_;
+ // Whether we attempt to run class initializers for app image classes.
+ bool initialize_app_image_classes_;
+
// When running profile-guided compilation, check that methods intended to be compiled end
// up compiled and are not punted.
ProfileMethodsCheck check_profiled_methods_;