8009539: JVM crash when run lambda testng tests
Summary: Ensure class pointer is non-null before dereferencing it to check if it is loaded.
Reviewed-by: kvn
--- a/hotspot/src/share/vm/opto/parse2.cpp Thu Mar 21 10:13:56 2013 -0700
+++ b/hotspot/src/share/vm/opto/parse2.cpp Fri Mar 22 07:58:55 2013 -0700
@@ -104,7 +104,8 @@
if (C->log() != NULL) C->log()->elem("observe that='!need_range_check'");
}
- if (!arytype->klass()->is_loaded()) {
+ ciKlass * arytype_klass = arytype->klass();
+ if ((arytype_klass != NULL) && (!arytype_klass->is_loaded())) {
// Only fails for some -Xcomp runs
// The class is unloaded. We have to run this bytecode in the interpreter.
uncommon_trap(Deoptimization::Reason_unloaded,
@@ -1385,6 +1386,7 @@
if (TraceOptoParse) {
tty->print(" @");
dump_bci(bci());
+ tty->cr();
}
#endif