RFR: 8367601: Remove held_monitor_count

Martin Doerr mdoerr at openjdk.org
Tue Sep 30 13:35:28 UTC 2025


On Tue, 30 Sep 2025 09:43:51 GMT, Fredrik Bredberg <fbredberg at openjdk.org> wrote:

> Since we have removed all other locking modes than lightweight locking (see: [JDK-8344261](https://bugs.openjdk.org/browse/JDK-8344261)), we no longer need:
> - `_held_monitor_count`
> - `_parent_held_monitor_count`
> - `_jni_monitor_count`
> 
> This PR removes them from shared code as well as from `X86`, `AArch64`, `PowerPC` and `RISC-V`.
> They are not present in other platforms.
> 
> Tested tier1-7 (on supported platforms) without seeing any problems that can be traced to this code change.
> `PowerPC` and `RISC-V` has been sanity checked using QEMU.

Looks correct (PPC64 and shared code changes) and tier1 has passed. Would be nice to clean up unused temp registers

diff --git a/src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp b/src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp
index 0bcc24a23bf..9fe7e1f22ff 100644
--- a/src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp
+++ b/src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp
@@ -1639,7 +1639,6 @@ static void fill_continuation_entry(MacroAssembler* masm, Register reg_cont_obj,
   assert_different_registers(reg_cont_obj, reg_flags);
   Register zero = R8_ARG6;
   Register tmp2 = R9_ARG7;
-  Register tmp3 = R10_ARG8;
 
   DEBUG_ONLY(__ block_comment("fill {"));
 #ifdef ASSERT
@@ -1678,7 +1677,6 @@ static void fill_continuation_entry(MacroAssembler* masm, Register reg_cont_obj,
 static void continuation_enter_cleanup(MacroAssembler* masm) {
   Register tmp1 = R8_ARG6;
   Register tmp2 = R9_ARG7;
-  Register tmp3 = R10_ARG8;
 
 #ifdef ASSERT
   __ block_comment("clean {");
@@ -1689,8 +1687,8 @@ static void continuation_enter_cleanup(MacroAssembler* masm) {
 
   __ ld_ptr(tmp1, ContinuationEntry::parent_cont_fastpath_offset(), R1_SP);
   __ st_ptr(tmp1, JavaThread::cont_fastpath_offset(), R16_thread);
-  __ ld_ptr(tmp3, ContinuationEntry::parent_offset(), R1_SP);
-  __ st_ptr(tmp3, JavaThread::cont_entry_offset(), R16_thread);
+  __ ld_ptr(tmp2, ContinuationEntry::parent_offset(), R1_SP);
+  __ st_ptr(tmp2, JavaThread::cont_entry_offset(), R16_thread);
   DEBUG_ONLY(__ block_comment("} clean"));
 }
 

Thanks for doing it for all platforms!

-------------

PR Comment: https://git.openjdk.org/jdk/pull/27570#issuecomment-3352190916


More information about the graal-dev mailing list