Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8231754

[JVMCI] Make r27 unconditionally reserved in JVMCI

    Details

    • Subcomponent:
    • Resolved In Build:
      b19
    • CPU:
      aarch64

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                yzheng Yudi Zheng
                Reporter:
                yzheng Yudi Zheng
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: