提交 31987e03 编写于 作者: B bharadwaj

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
上级 585a0285
...@@ -104,7 +104,8 @@ Node* Parse::array_addressing(BasicType type, int vals, const Type* *result2) { ...@@ -104,7 +104,8 @@ Node* Parse::array_addressing(BasicType type, int vals, const Type* *result2) {
if (C->log() != NULL) C->log()->elem("observe that='!need_range_check'"); 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 // Only fails for some -Xcomp runs
// The class is unloaded. We have to run this bytecode in the interpreter. // The class is unloaded. We have to run this bytecode in the interpreter.
uncommon_trap(Deoptimization::Reason_unloaded, uncommon_trap(Deoptimization::Reason_unloaded,
...@@ -1385,6 +1386,7 @@ void Parse::do_one_bytecode() { ...@@ -1385,6 +1386,7 @@ void Parse::do_one_bytecode() {
if (TraceOptoParse) { if (TraceOptoParse) {
tty->print(" @"); tty->print(" @");
dump_bci(bci()); dump_bci(bci());
tty->cr();
} }
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册