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

[JVMCI] Make r27 unconditionally reserved in JVMCI

    XMLWordPrintable

    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:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: