JDK-8231754 : [JVMCI] Make r27 unconditionally reserved in JVMCI
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,14
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2019-10-02
  • Updated: 2022-02-06
  • Resolved: 2019-10-16
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 14
14 b19Fixed
Related Reports
Relates :  
Description
The heap base register, i.e. r27, should be reserved unconditionally because HotSpot does not intend to support it as an allocatable register even when compressed oops is off. This register is excluded from callee-saved register at cpu/aarch64/sharedRuntime_aarch64.cpp:RegisterSaver::save_live_registers, which may lead to dereferencing unknown value from the stack at share/runtime/stackValue.cpp:StackValue::create_stack_value during deoptimization.

We should make the conditional reserve at http://hg.openjdk.java.net/jdk/jdk/file/b25362cec8ce/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot.aarch64/src/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig.java#l143 unconditional.

Original GitHub issue at https://github.com/oracle/graal/issues/1704
Comments
URL: https://hg.openjdk.java.net/jdk/jdk/rev/d068b1e534de User: gdub Date: 2019-10-16 14:56:45 +0000
16-10-2019