8341893: AArch64: Micro-optimize compressed ptr decoding

Reviewed-by: aph, fyang
This commit is contained in:
Aleksey Shipilev 2024-10-14 07:55:38 +00:00
parent 037f11b864
commit e3f6503937

View File

@ -5011,8 +5011,10 @@ void MacroAssembler::decode_heap_oop(Register d, Register s) {
verify_heapbase("MacroAssembler::decode_heap_oop: heap base corrupted?");
#endif
if (CompressedOops::base() == nullptr) {
if (CompressedOops::shift() != 0 || d != s) {
if (CompressedOops::shift() != 0) {
lsl(d, s, CompressedOops::shift());
} else if (d != s) {
mov(d, s);
}
} else {
Label done;