JDK-8340731 : Cleanup remaining IA64 references in hotspot code
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 24
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-09-24
  • Updated: 2024-11-28
  • Resolved: 2024-11-28
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 24
24 masterFixed
Related Reports
Relates :  
Description
We expunged the bulk of the IA64 code in JDK-6518907 many years ago, but some remnants remain

./os/bsd/os_bsd.cpp:#elif defined(IA64)
./os/bsd/os_bsd.cpp:  #elif  (defined IA64)
./os/bsd/os_bsd.cpp:         IA32, AMD64, IA64, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K
./os/linux/hugepages.cpp:  // mode is enabled. AMD64/EM64T uses 2M page in 64bit mode. IA64 can use
./os/linux/os_linux.cpp:#elif  (defined IA64)
./os/linux/os_linux.cpp:        AARCH64, ALPHA, ARM, AMD64, IA32, IA64, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
./os/linux/os_linux.cpp:#elif defined(IA64)
./os/linux/os_linux.cpp:  strncpy(cpuinfo, "IA64", length);
./os/posix/signals_posix.cpp:#if defined(IA64) && defined(LINUX)
./os/posix/signals_posix.cpp:#if defined(IA64) && !defined(AIX)
./share/opto/generateOptoStub.cpp:#if (defined(IA64) && !defined(AIX))
./share/opto/output.cpp:  // and memory stacks (ie. IA64).
./share/opto/chaitin.cpp:          // IA64     1     1     1          1    1         50          41
./share/runtime/abstract_vm_version.cpp:                 IA64_ONLY("ia64")               \
./share/utilities/macros.hpp:// This is a REALLY BIG HACK, but on AIX <sys/systemcfg.h> unconditionally defines IA64.
./share/utilities/macros.hpp:#if defined(IA64) && !defined(AIX)
./share/utilities/macros.hpp:#define IA64_ONLY(code) code
./share/utilities/macros.hpp:#define NOT_IA64(code)
./share/utilities/macros.hpp:#define IA64_ONLY(code)
./share/utilities/macros.hpp:#define NOT_IA64(code) code
./share/utilities/elfFuncDescTable.cpp:  // first value in the function descriptor (on IA64 and PPC64 they look as follows):
./share/utilities/elfFuncDescTable.cpp:  // IA64 : [function entry point, GP (global pointer) value]
./share/utilities/elfFuncDescTable.cpp:  // assert(IA64_ONLY(2) PPC64_ONLY(3) * sizeof(address) == shdr.sh_entsize, "Size mismatch for '.opd' section entries");
./share/utilities/elfFuncDescTable.hpp:On PowerPC-64 (and other architectures like for example IA64) a pointer to a
hotspot-oraclelinux-12 /scratch/users/daholme/jdk-dev.git/open/src/hotspot > grepsrc.sh ia64
./os/bsd/os_bsd.cpp:static char cpu_arch[] = "ia64";
./os/linux/os_linux.cpp:// i386: 224, ia64: 1105, amd64: 186, sparc: 143
./os/linux/os_linux.cpp:  #ifdef __ia64__
./share/runtime/deoptimization.cpp:  // Note: on ia64 this guarantee can be fooled by frames with no memory stack
./share/runtime/deoptimization.cpp:    // 4852688: ProfileInterpreter is off by default for ia64.  The result is
./share/runtime/abstract_vm_version.cpp:                 IA64_ONLY("ia64")               \
./share/runtime/frame.hpp:  // For sparc and ia32 use sp. ia64 can have memory frames that are empty so multiple frames
./share/runtime/frame.hpp:  // will have identical sp values. For ia64 the bsp (fp) value will serve. No real frame
./share/runtime/os.hpp:  // only walk stack if %ebp is used as frame pointer; on ia64, it's not
./share/runtime/javaCalls.cpp:  // on sparc/ia64 which will catch violations of the resetting of last_Java_frame
./share/runtime/relocator.cpp:    case Bytecodes::_lookupswitch:                   // not rewritten on ia64

Note references to IA64 in Zero code should remain.

There are some sparc leftovers in the above too.
Comments
Changeset: a0df0a52 Branch: master Author: Amit Kumar <amitkumar@openjdk.org> Date: 2024-11-28 02:05:45 +0000 URL: https://git.openjdk.org/jdk/commit/a0df0a527fc3a6954fc08651947a5cfe1455e652
28-11-2024

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/22382 Date: 2024-11-26 06:52:51 +0000
26-11-2024