Mercurial > hg > graal-compiler
diff src/share/vm/classfile/classFileParser.cpp @ 20561:8e15758b2e94
8031376: TraceClassLoading expects there to be a (Java) caller when you load a class with the bootstrap class loader
Reviewed-by: sla, dholmes
Contributed-by: jeremymanson@google.com
author | sla |
---|---|
date | Wed, 08 Jan 2014 08:34:02 +0100 |
parents | f0bedf980c65 |
children | 90257dfad6e3 |
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp Tue Oct 21 21:39:14 2014 -0400 +++ b/src/share/vm/classfile/classFileParser.cpp Wed Jan 08 08:34:02 2014 +0100 @@ -4165,8 +4165,12 @@ tty->print("[Loaded %s from %s]\n", this_klass->external_name(), cfs->source()); } else if (class_loader.is_null()) { - if (THREAD->is_Java_thread()) { - Klass* caller = ((JavaThread*)THREAD)->security_get_caller_class(1); + Klass* caller = + THREAD->is_Java_thread() + ? ((JavaThread*)THREAD)->security_get_caller_class(1) + : NULL; + // caller can be NULL, for example, during a JVMTI VM_Init hook + if (caller != NULL) { tty->print("[Loaded %s by instance of %s]\n", this_klass->external_name(), InstanceKlass::cast(caller)->external_name());