8009539: JVM crash when run lambda testng tests
authorbharadwaj
Fri, 22 Mar 2013 07:58:55 -0700
changeset 16613 58c6d72ad0ef
parent 16383 57cb9d398a11
child 16614 8ad69fc9fb0b
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
hotspot/src/share/vm/opto/parse2.cpp
--- 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