diff options
author | Andreas Gampe <agampe@google.com> | 2015-03-25 17:19:53 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2015-03-27 21:43:21 -0700 |
commit | 81c6f8db12b203878a7d72444ead2bc7cf5c47ad (patch) | |
tree | 11caae30b75b700ac648356fd30759a6154be997 /runtime/jni_internal.cc | |
parent | cac51526bbd03947676a8d49700425b19a57e447 (diff) | |
download | art-81c6f8db12b203878a7d72444ead2bc7cf5c47ad.zip art-81c6f8db12b203878a7d72444ead2bc7cf5c47ad.tar.gz art-81c6f8db12b203878a7d72444ead2bc7cf5c47ad.tar.bz2 |
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
Diffstat (limited to 'runtime/jni_internal.cc')
-rw-r--r-- | runtime/jni_internal.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/jni_internal.cc b/runtime/jni_internal.cc index 6063e1e..566b097 100644 --- a/runtime/jni_internal.cc +++ b/runtime/jni_internal.cc @@ -164,8 +164,10 @@ static mirror::ClassLoader* GetClassLoader(const ScopedObjectAccess& soa) // See if the override ClassLoader is set for gtests. class_loader = soa.Decode<mirror::ClassLoader*>(soa.Self()->GetClassLoaderOverride()); if (class_loader != nullptr) { - // If so, CommonCompilerTest should have set UseCompileTimeClassPath. - CHECK(Runtime::Current()->UseCompileTimeClassPath()); + // If so, CommonCompilerTest should have marked the runtime as a compiler not compiling an + // image. + CHECK(Runtime::Current()->IsAotCompiler()); + CHECK(!Runtime::Current()->GetCompilerCallbacks()->IsBootImage()); return class_loader; } // Use the BOOTCLASSPATH. |