From 19146ad7ca9ea8438edfa5590ddbbadb70d28600 Mon Sep 17 00:00:00 2001 From: Gui Cao Date: Thu, 4 Jun 2026 01:48:51 +0000 Subject: [PATCH] 8385915: RISC-V: Remove unused cmpxchg* methods Reviewed-by: fyang, dzhang --- .../cpu/riscv/macroAssembler_riscv.cpp | 44 ------------------- .../cpu/riscv/macroAssembler_riscv.hpp | 2 - 2 files changed, 46 deletions(-) diff --git a/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp b/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp index 7b3e034906e..d93329544a7 100644 --- a/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/macroAssembler_riscv.cpp @@ -4176,50 +4176,6 @@ void MacroAssembler::safepoint_poll(Label& slow_path, bool at_return, bool in_nm } } -void MacroAssembler::cmpxchgptr(Register oldv, Register newv, Register addr, Register tmp, - Label &succeed, Label *fail) { - assert_different_registers(addr, tmp, t0); - assert_different_registers(newv, tmp, t0); - assert_different_registers(oldv, tmp, t0); - - // oldv holds comparison value - // newv holds value to write in exchange - // addr identifies memory word to compare against/update - if (UseZacas) { - mv(tmp, oldv); - atomic_cas(tmp, newv, addr, Assembler::int64, Assembler::aq, Assembler::rl); - beq(tmp, oldv, succeed); - } else { - Label retry_load, nope; - bind(retry_load); - // Load reserved from the memory location - load_reserved(tmp, addr, int64, Assembler::aqrl); - // Fail and exit if it is not what we expect - bne(tmp, oldv, nope); - // If the store conditional succeeds, tmp will be zero - store_conditional(tmp, newv, addr, int64, Assembler::rl); - beqz(tmp, succeed); - // Retry only when the store conditional failed - j(retry_load); - - bind(nope); - } - - // neither amocas nor lr/sc have an implied barrier in the failing case - membar(AnyAny); - - mv(oldv, tmp); - if (fail != nullptr) { - j(*fail); - } -} - -void MacroAssembler::cmpxchg_obj_header(Register oldv, Register newv, Register obj, Register tmp, - Label &succeed, Label *fail) { - assert(oopDesc::mark_offset_in_bytes() == 0, "assumption"); - cmpxchgptr(oldv, newv, obj, tmp, succeed, fail); -} - void MacroAssembler::load_reserved(Register dst, Register addr, Assembler::operand_size size, diff --git a/src/hotspot/cpu/riscv/macroAssembler_riscv.hpp b/src/hotspot/cpu/riscv/macroAssembler_riscv.hpp index 6e592b5c852..a5ad7eeaa5f 100644 --- a/src/hotspot/cpu/riscv/macroAssembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/macroAssembler_riscv.hpp @@ -1203,8 +1203,6 @@ public: #undef INSN_ENTRY_RELOC - void cmpxchg_obj_header(Register oldv, Register newv, Register obj, Register tmp, Label &succeed, Label *fail); - void cmpxchgptr(Register oldv, Register newv, Register addr, Register tmp, Label &succeed, Label *fail); void cmpxchg(Register addr, Register expected, Register new_val, Assembler::operand_size size,