mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 18:44:38 +02:00
8000753: compiler/6912517 crashes on 64bit sparc with compressed oops off
Code generated by c1 for getClass intrinsic broken when klass field is loaded on 64bit with compressed klass off. Reviewed-by: kvn
This commit is contained in:
parent
f28ac57f94
commit
74ea92ce42
1 changed files with 5 additions and 6 deletions
|
@ -976,14 +976,13 @@ int LIR_Assembler::load(Register base, int offset, LIR_Opr to_reg, BasicType typ
|
|||
break;
|
||||
case T_METADATA: __ ld_ptr(base, offset, to_reg->as_register()); break;
|
||||
case T_ADDRESS:
|
||||
if (offset == oopDesc::klass_offset_in_bytes()) {
|
||||
__ lduw(base, offset, to_reg->as_register());
|
||||
#ifdef _LP64
|
||||
if (UseCompressedKlassPointers) {
|
||||
if (offset == oopDesc::klass_offset_in_bytes() && UseCompressedKlassPointers) {
|
||||
__ lduw(base, offset, to_reg->as_register());
|
||||
__ decode_klass_not_null(to_reg->as_register());
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
} else {
|
||||
{
|
||||
__ ld_ptr(base, offset, to_reg->as_register());
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue