6982921: assert(_entry_bci != InvocationEntryBci) failed: wrong kind of nmethod
Summary: Assertion fails during print compilation because nmethod::print_on() calls osr_entry_bci() without checking that the method is an osr method. The fix adds an appropriate check.
Reviewed-by: never, twisti
--- a/hotspot/src/share/vm/code/nmethod.cpp Fri Sep 03 17:51:07 2010 -0700
+++ b/hotspot/src/share/vm/code/nmethod.cpp Tue Sep 07 14:16:50 2010 -0700
@@ -971,7 +971,9 @@
ttyLocker ttyl;
print_compilation(st, /*method_name*/NULL, title,
method(), /*is_blocking*/false,
- compile_id(), osr_entry_bci(), comp_level());
+ compile_id(),
+ is_osr_method() ? osr_entry_bci() : InvocationEntryBci,
+ comp_level());
if (WizardMode) st->print(" (" INTPTR_FORMAT ")", this);
}
}