From d9e46e3b5e475f17591f458f37f46b4b4eb8b8a8 Mon Sep 17 00:00:00 2001 From: Anton Seoane Ampudia Date: Wed, 25 Feb 2026 09:49:21 +0000 Subject: [PATCH] 8280283: Dead compiler code found during the JDK-8272058 code review Reviewed-by: bulasevich, dcubed, phh --- .../cpu/aarch64/macroAssembler_aarch64.cpp | 17 ++--------------- .../cpu/aarch64/macroAssembler_aarch64.hpp | 3 +-- src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp | 7 +++---- src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp | 7 +------ 4 files changed, 7 insertions(+), 27 deletions(-) diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp index 409343b6b8d..35e90d296c9 100644 --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp @@ -406,7 +406,6 @@ public: offset <<= shift; uint64_t target_page = ((uint64_t)insn_addr) + offset; target_page &= ((uint64_t)-1) << shift; - uint32_t insn2 = insn_at(insn_addr, 1); target = address(target_page); precond(inner != nullptr); inner(insn_addr, target); @@ -520,13 +519,6 @@ int MacroAssembler::patch_narrow_klass(address insn_addr, narrowKlass n) { return 2 * NativeInstruction::instruction_size; } -address MacroAssembler::target_addr_for_insn_or_null(address insn_addr) { - if (NativeInstruction::is_ldrw_to_zr(insn_addr)) { - return nullptr; - } - return MacroAssembler::target_addr_for_insn(insn_addr); -} - void MacroAssembler::safepoint_poll(Label& slow_path, bool at_return, bool in_nmethod, Register tmp) { ldr(tmp, Address(rthread, JavaThread::polling_word_offset())); if (at_return) { @@ -1960,9 +1952,7 @@ void MacroAssembler::verify_secondary_supers_table(Register r_sub_klass, const Register r_array_base = temp1, - r_array_length = temp2, - r_array_index = noreg, // unused - r_bitmap = noreg; // unused + r_array_length = temp2; BLOCK_COMMENT("verify_secondary_supers_table {"); @@ -3611,9 +3601,8 @@ extern "C" void findpc(intptr_t x); void MacroAssembler::debug64(char* msg, int64_t pc, int64_t regs[]) { // In order to get locks to work, we need to fake a in_VM state - if (ShowMessageBoxOnError ) { + if (ShowMessageBoxOnError) { JavaThread* thread = JavaThread::current(); - JavaThreadState saved_state = thread->thread_state(); thread->set_thread_state(_thread_in_vm); #ifndef PRODUCT if (CountBytecodes || TraceBytecodes || StopInterpreterAt) { @@ -5738,7 +5727,6 @@ address MacroAssembler::read_polling_page(Register r, relocInfo::relocType rtype } void MacroAssembler::adrp(Register reg1, const Address &dest, uint64_t &byte_offset) { - relocInfo::relocType rtype = dest.rspec().reloc()->type(); uint64_t low_page = (uint64_t)CodeCache::low_bound() >> 12; uint64_t high_page = (uint64_t)(CodeCache::high_bound()-1) >> 12; uint64_t dest_page = (uint64_t)dest.target() >> 12; @@ -6114,7 +6102,6 @@ void MacroAssembler::string_equals(Register a1, Register a2, Label SAME, DONE, SHORT, NEXT_WORD; Register tmp1 = rscratch1; Register tmp2 = rscratch2; - Register cnt2 = tmp2; // cnt2 only used in array length compare assert_different_registers(a1, a2, result, cnt1, rscratch1, rscratch2); diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp index 7eb6cea0614..7b5af532ca1 100644 --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2024, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -678,7 +678,6 @@ public: static bool uses_implicit_null_check(void* address); static address target_addr_for_insn(address insn_addr); - static address target_addr_for_insn_or_null(address insn_addr); // Required platform-specific helpers for Label::patch_instructions. // They _shadow_ the declarations in AbstractAssembler, which are undefined. diff --git a/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp b/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp index 0cdf36f0bc5..8b76b96d345 100644 --- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -192,7 +192,6 @@ int NativeMovRegMem::offset() const { void NativeMovRegMem::set_offset(int x) { address pc = instruction_address(); - unsigned insn = *(unsigned*)pc; if (maybe_cpool_ref(pc)) { address addr = MacroAssembler::target_addr_for_insn(pc); *(int64_t*)addr = x; @@ -204,7 +203,7 @@ void NativeMovRegMem::set_offset(int x) { void NativeMovRegMem::verify() { #ifdef ASSERT - address dest = MacroAssembler::target_addr_for_insn_or_null(instruction_address()); + MacroAssembler::target_addr_for_insn(instruction_address()); #endif } @@ -213,7 +212,7 @@ void NativeMovRegMem::verify() { void NativeJump::verify() { ; } address NativeJump::jump_destination() const { - address dest = MacroAssembler::target_addr_for_insn_or_null(instruction_address()); + address dest = MacroAssembler::target_addr_for_insn(instruction_address()); // We use jump to self as the unresolved address which the inline // cache code (and relocs) know about diff --git a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp index 15b6c9ff215..fc7274714ad 100644 --- a/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2025, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -78,7 +78,6 @@ public: inline bool is_nop() const; bool is_jump(); bool is_general_jump(); - inline bool is_jump_or_nop(); inline bool is_cond_jump(); bool is_safepoint_poll(); bool is_movz(); @@ -420,10 +419,6 @@ inline bool NativeInstruction::is_jump() { return false; } -inline bool NativeInstruction::is_jump_or_nop() { - return is_nop() || is_jump(); -} - // Call trampoline stubs. class NativeCallTrampolineStub : public NativeInstruction { public: