aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/opto
diff options
context:
space:
mode:
authortwisti <none@none>2012-10-08 17:04:00 -0700
committertwisti <none@none>2012-10-08 17:04:00 -0700
commitfb8c7bd27990938a885fa0c99e576f9bfda8177c (patch)
tree602f1b2713ce75b9870ad4c3bf60f83d4a397abb /src/share/vm/opto
parentefa99f2958f833a3a9dc2d04a66ce28f6ecb071d (diff)
8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
Diffstat (limited to 'src/share/vm/opto')
-rw-r--r--src/share/vm/opto/library_call.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/share/vm/opto/library_call.cpp b/src/share/vm/opto/library_call.cpp
index 386662e15..4ba7e127e 100644
--- a/src/share/vm/opto/library_call.cpp
+++ b/src/share/vm/opto/library_call.cpp
@@ -2378,13 +2378,15 @@ const TypeOopPtr* LibraryCallKit::sharpen_unsafe_type(Compile::AliasType* alias_
}
}
- 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.