From 9d2fa8fe22652cbf1c70b953247bd154b363b383 Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Mon, 10 Nov 2025 14:29:35 +0000 Subject: [PATCH] 8371321: Remove unused last arg of BarrierSetAssembler::arraycopy_epilogue Reviewed-by: fandreuzzi, tschatzl --- .../cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp | 3 +-- .../cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.hpp | 2 +- .../cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp | 2 +- .../gc/shared/cardTableBarrierSetAssembler_aarch64.cpp | 7 +++---- .../gc/shared/cardTableBarrierSetAssembler_aarch64.hpp | 4 ++-- .../shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp | 6 +++--- .../shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp | 4 ++-- src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp | 7 +++---- .../cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp | 3 +-- .../cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.hpp | 2 +- .../cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp | 2 +- .../riscv/gc/shared/cardTableBarrierSetAssembler_riscv.cpp | 7 +++---- .../riscv/gc/shared/cardTableBarrierSetAssembler_riscv.hpp | 4 ++-- .../gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp | 6 +++--- .../gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp | 4 ++-- src/hotspot/cpu/riscv/stubGenerator_riscv.cpp | 7 +++---- 16 files changed, 32 insertions(+), 38 deletions(-) diff --git a/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp index 3138c76c593..d7884c27a2c 100644 --- a/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp @@ -90,8 +90,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas DecoratorSet decorators, Register start, Register count, - Register scratch, - RegSet saved_regs) { + Register scratch) { Label done; Label loop; diff --git a/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.hpp index 777a86e804b..bbcbb6bff1a 100644 --- a/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.hpp @@ -39,7 +39,7 @@ protected: void gen_write_ref_array_pre_barrier(MacroAssembler* masm, DecoratorSet decorators, Register addr, Register count, RegSet saved_regs); void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); void g1_write_barrier_pre(MacroAssembler* masm, Register obj, diff --git a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp index fa093a6ef69..8de9b77d608 100644 --- a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp @@ -47,7 +47,7 @@ public: virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, Register src, Register dst, Register count, RegSet saved_regs) {} virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs) {} + Register start, Register count, Register tmp) {} virtual void copy_load_at(MacroAssembler* masm, DecoratorSet decorators, diff --git a/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp index c039e55cd4d..0bfc320179d 100644 --- a/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.cpp @@ -41,10 +41,9 @@ void CardTableBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Deco } void CardTableBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, - RegSet saved_regs) { + Register start, Register count, Register tmp) { if (is_oop) { - gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp, saved_regs); + gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp); } } @@ -80,7 +79,7 @@ void CardTableBarrierSetAssembler::store_check(MacroAssembler* masm, Register ob } void CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register scratch, RegSet saved_regs) { + Register start, Register count, Register scratch) { Label L_loop, L_done; const Register end = count; diff --git a/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.hpp index 91a65710f45..cdad45b9ead 100644 --- a/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/gc/shared/cardTableBarrierSetAssembler_aarch64.hpp @@ -34,7 +34,7 @@ protected: Register addr, Register count, RegSet saved_regs) {} virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Address dst, Register val, Register tmp1, Register tmp2, Register tmp3); @@ -42,7 +42,7 @@ protected: Register src, Register dst, Register count, RegSet saved_regs); virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Address dst, Register val, Register tmp1, Register tmp2, Register tmp3); diff --git a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp index 200c4217134..9a035d9f40e 100644 --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp @@ -79,9 +79,9 @@ void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Dec } void ShenandoahBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs) { + Register start, Register count, Register tmp) { if (ShenandoahCardBarrier && is_oop) { - gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp, saved_regs); + gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp); } } @@ -607,7 +607,7 @@ void ShenandoahBarrierSetAssembler::cmpxchg_oop(MacroAssembler* masm, } void ShenandoahBarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register scratch, RegSet saved_regs) { + Register start, Register count, Register scratch) { assert(ShenandoahCardBarrier, "Should have been checked by caller"); Label L_loop, L_done; diff --git a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp index c89847b9d52..c0e708e1292 100644 --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp @@ -64,7 +64,7 @@ private: void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, Register start, Register count, - Register scratch, RegSet saved_regs); + Register scratch); public: virtual NMethodPatchingType nmethod_patching_type() { return NMethodPatchingType::conc_instruction_and_data_patch; } @@ -79,7 +79,7 @@ public: virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, Register src, Register dst, Register count, RegSet saved_regs); virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register dst, Address src, Register tmp1, Register tmp2); virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, diff --git a/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp b/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp index ffe5afd93cb..8dbc5dbac03 100644 --- a/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp @@ -1647,7 +1647,7 @@ class StubGenerator: public StubCodeGenerator { verify_oop_array(size, d, count, r16); } - bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, rscratch1, RegSet()); + bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, rscratch1); __ leave(); __ mov(r0, zr); // return 0 @@ -1807,7 +1807,7 @@ class StubGenerator: public StubCodeGenerator { if (VerifyOops) verify_oop_array(size, d, count, r16); } - bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, rscratch1, RegSet()); + bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, rscratch1); __ leave(); __ mov(r0, zr); // return 0 __ ret(lr); @@ -1874,7 +1874,6 @@ class StubGenerator: public StubCodeGenerator { const Register ckval = c_rarg4; // super_klass RegSet wb_pre_saved_regs = RegSet::range(c_rarg0, c_rarg4); - RegSet wb_post_saved_regs = RegSet::of(count); // Registers used as temps (r19, r20, r21, r22 are save-on-entry) const Register copied_oop = r22; // actual oop copied @@ -2000,7 +1999,7 @@ class StubGenerator: public StubCodeGenerator { __ br(Assembler::EQ, L_done_pop); __ BIND(L_do_card_marks); - bs->arraycopy_epilogue(_masm, decorators, is_oop, start_to, count_save, rscratch1, wb_post_saved_regs); + bs->arraycopy_epilogue(_masm, decorators, is_oop, start_to, count_save, rscratch1); __ bind(L_done_pop); __ pop(RegSet::of(r19, r20, r21, r22), sp); diff --git a/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp b/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp index 966afde4cb0..cf7cb98d2d4 100644 --- a/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.cpp @@ -91,8 +91,7 @@ void G1BarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* mas DecoratorSet decorators, Register start, Register count, - Register tmp, - RegSet saved_regs) { + Register tmp) { assert_different_registers(start, count, tmp); Label loop, next, done; diff --git a/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.hpp b/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.hpp index d2d2f4d49bc..2010e58cc89 100644 --- a/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/gc/g1/g1BarrierSetAssembler_riscv.hpp @@ -42,7 +42,7 @@ protected: void gen_write_ref_array_pre_barrier(MacroAssembler* masm, DecoratorSet decorators, Register addr, Register count, RegSet saved_regs); void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); void g1_write_barrier_pre(MacroAssembler* masm, Register obj, diff --git a/src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp b/src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp index 63a7032bb84..bc0b14f1365 100644 --- a/src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp @@ -48,7 +48,7 @@ public: virtual void arraycopy_prologue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, Register src, Register dst, Register count, RegSet saved_regs) {} virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs) {} + Register start, Register count, Register tmp) {} virtual void copy_load_at(MacroAssembler* masm, DecoratorSet decorators, diff --git a/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.cpp b/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.cpp index 408620dc56f..d94bf428fd2 100644 --- a/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.cpp @@ -41,10 +41,9 @@ void CardTableBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Deco } void CardTableBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, - RegSet saved_regs) { + Register start, Register count, Register tmp) { if (is_oop) { - gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp, saved_regs); + gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp); } } @@ -81,7 +80,7 @@ void CardTableBarrierSetAssembler::store_check(MacroAssembler* masm, Register ob } void CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register tmp, RegSet saved_regs) { + Register start, Register count, Register tmp) { assert_different_registers(start, tmp); assert_different_registers(count, tmp); diff --git a/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.hpp b/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.hpp index 98737c3623f..cf97d0ff5cb 100644 --- a/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/gc/shared/cardTableBarrierSetAssembler_riscv.hpp @@ -37,7 +37,7 @@ protected: Register addr, Register count, RegSet saved_regs) {} virtual void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); virtual void oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Address dst, Register val, Register tmp1, Register tmp2, Register tmp3); @@ -47,7 +47,7 @@ public: Register src, Register dst, Register count, RegSet saved_regs); virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Address dst, Register val, Register tmp1, Register tmp2, Register tmp3); diff --git a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp index f1236bc183a..dd6c8556307 100644 --- a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp @@ -82,9 +82,9 @@ void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Dec } void ShenandoahBarrierSetAssembler::arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs) { + Register start, Register count, Register tmp) { if (ShenandoahCardBarrier && is_oop) { - gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp, saved_regs); + gen_write_ref_array_post_barrier(masm, decorators, start, count, tmp); } } @@ -550,7 +550,7 @@ void ShenandoahBarrierSetAssembler::cmpxchg_oop(MacroAssembler* masm, } void ShenandoahBarrierSetAssembler::gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, - Register start, Register count, Register tmp, RegSet saved_regs) { + Register start, Register count, Register tmp) { assert(ShenandoahCardBarrier, "Did you mean to enable ShenandoahCardBarrier?"); Label L_loop, L_done; diff --git a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp index 3fe7c8d1740..c8a7c35fb83 100644 --- a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp @@ -65,7 +65,7 @@ private: void gen_write_ref_array_post_barrier(MacroAssembler* masm, DecoratorSet decorators, Register start, Register count, - Register tmp, RegSet saved_regs); + Register tmp); public: @@ -82,7 +82,7 @@ public: Register src, Register dst, Register count, RegSet saved_regs); virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop, - Register start, Register count, Register tmp, RegSet saved_regs); + Register start, Register count, Register tmp); virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type, Register dst, Address src, Register tmp1, Register tmp2); diff --git a/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp b/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp index ec268d9bb65..e5eb15cb8e4 100644 --- a/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp +++ b/src/hotspot/cpu/riscv/stubGenerator_riscv.cpp @@ -1239,7 +1239,7 @@ class StubGenerator: public StubCodeGenerator { } } - bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, t0, RegSet()); + bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, t0); __ leave(); __ mv(x10, zr); // return 0 @@ -1401,7 +1401,7 @@ class StubGenerator: public StubCodeGenerator { verify_oop_array(size, d, count, t2); } } - bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, t0, RegSet()); + bs->arraycopy_epilogue(_masm, decorators, is_oop, d, count, t0); __ leave(); __ mv(x10, zr); // return 0 __ ret(); @@ -1467,7 +1467,6 @@ class StubGenerator: public StubCodeGenerator { const Register ckval = c_rarg4; // super_klass RegSet wb_pre_saved_regs = RegSet::range(c_rarg0, c_rarg4); - RegSet wb_post_saved_regs = RegSet::of(count); // Registers used as temps (x7, x9, x18 are save-on-entry) const Register count_save = x19; // orig elementscount @@ -1588,7 +1587,7 @@ class StubGenerator: public StubCodeGenerator { __ beqz(count, L_done_pop); __ BIND(L_do_card_marks); - bs->arraycopy_epilogue(_masm, decorators, is_oop, start_to, count_save, t0, wb_post_saved_regs); + bs->arraycopy_epilogue(_masm, decorators, is_oop, start_to, count_save, t0); __ bind(L_done_pop); __ pop_reg(RegSet::of(x7, x9, x18, x19), sp);