974 #endif |
974 #endif |
975 } |
975 } |
976 break; |
976 break; |
977 case T_METADATA: __ ld_ptr(base, offset, to_reg->as_register()); break; |
977 case T_METADATA: __ ld_ptr(base, offset, to_reg->as_register()); break; |
978 case T_ADDRESS: |
978 case T_ADDRESS: |
979 if (offset == oopDesc::klass_offset_in_bytes()) { |
979 #ifdef _LP64 |
|
980 if (offset == oopDesc::klass_offset_in_bytes() && UseCompressedKlassPointers) { |
980 __ lduw(base, offset, to_reg->as_register()); |
981 __ lduw(base, offset, to_reg->as_register()); |
981 #ifdef _LP64 |
982 __ decode_klass_not_null(to_reg->as_register()); |
982 if (UseCompressedKlassPointers) { |
983 } else |
983 __ decode_klass_not_null(to_reg->as_register()); |
984 #endif |
984 } |
985 { |
985 #endif |
|
986 } else { |
|
987 __ ld_ptr(base, offset, to_reg->as_register()); |
986 __ ld_ptr(base, offset, to_reg->as_register()); |
988 } |
987 } |
989 break; |
988 break; |
990 case T_ARRAY : // fall through |
989 case T_ARRAY : // fall through |
991 case T_OBJECT: |
990 case T_OBJECT: |