diff options
author | twisti <none@none> | 2012-10-08 17:04:00 -0700 |
---|---|---|
committer | twisti <none@none> | 2012-10-08 17:04:00 -0700 |
commit | fb8c7bd27990938a885fa0c99e576f9bfda8177c (patch) | |
tree | 602f1b2713ce75b9870ad4c3bf60f83d4a397abb /src/share/vm/opto | |
parent | efa99f2958f833a3a9dc2d04a66ce28f6ecb071d (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.cpp | 8 |
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. |