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

[JVMCI] Make r27 unconditionally reserved in JVMCI

XMLWordPrintable

    • b19
    • aarch64

      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

            yzheng Yudi Zheng
            yzheng Yudi Zheng
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: