From 81c6f8db12b203878a7d72444ead2bc7cf5c47ad Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Wed, 25 Mar 2015 17:19:53 -0700 Subject: ART: PathClassLoader for compiler Use an actual PathClassLoader when compiling apps, instead of a side structure and cutout. This CL sets up a minimal object 'cluster' that recreates the Java side of a regular ClassLoader such that the Class-Linker will recognize it and use the internal native fast-path. This CL removes the now unnecessary compile-time-classpath and replaces it with a single 'compiling-the-boot-image' flag in the compiler callbacks. Note: This functionality is *only* intended for the compiler, as the objects have not been completely initialized. Bug: 19781184 Change-Id: I7f36af12dd7852d21281110a25c119e8c0669c1d --- runtime/compiler_callbacks.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'runtime/compiler_callbacks.h') diff --git a/runtime/compiler_callbacks.h b/runtime/compiler_callbacks.h index d1a68615b1..3fabe3ed44 100644 --- a/runtime/compiler_callbacks.h +++ b/runtime/compiler_callbacks.h @@ -40,8 +40,16 @@ class CompilerCallbacks { // done so. Return false if relocating in this way would be problematic. virtual bool IsRelocationPossible() = 0; + bool IsBootImage() { + return boot_image_; + } + protected: - CompilerCallbacks() { } + explicit CompilerCallbacks(bool boot_image) : boot_image_(boot_image) { } + + private: + // Whether the compiler is creating a boot image. + const bool boot_image_; }; } // namespace art -- cgit v1.2.3-59-g8ed1b