--- a/hotspot/src/share/vm/opto/library_call.cpp Tue Oct 09 10:09:34 2012 -0700
+++ b/hotspot/src/share/vm/opto/library_call.cpp Fri Oct 12 09:22:52 2012 -0700
@@ -2378,13 +2378,15 @@
}
}
- if (sharpened_klass != NULL) {
+ // The sharpened class might be unloaded if there is no class loader
+ // contraint in place.
+ if (sharpened_klass != NULL && sharpened_klass->is_loaded()) {
const TypeOopPtr* tjp = TypeOopPtr::make_from_klass(sharpened_klass);
#ifndef PRODUCT
if (PrintIntrinsics || PrintInlining || PrintOptoInlining) {
- tty->print(" from base type: "); adr_type->dump();
- tty->print(" sharpened value: "); tjp->dump();
+ tty->print(" from base type: "); adr_type->dump();
+ tty->print(" sharpened value: "); tjp->dump();
}
#endif
// Sharpen the value type.
@@ -4381,7 +4383,7 @@
// 12 - 64-bit VM, compressed klass
// 16 - 64-bit VM, normal klass
if (base_off % BytesPerLong != 0) {
- assert(UseCompressedOops, "");
+ assert(UseCompressedKlassPointers, "");
if (is_array) {
// Exclude length to copy by 8 bytes words.
base_off += sizeof(int);