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

AArch64: build errors with GCC11 in frame::saved_oop_result

XMLWordPrintable

    • b10
    • aarch64

      Building AArch64 using GCC 11.1.1 that is provided with Fedora 34:

      In file included from /Users/alahay01/java/gerrit_jdk/src/hotspot/share/runtime/frame.inline.hpp:42,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp:31:
      /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp: In member function 'oop frame::saved_oop_result(RegisterMap*) const':
      /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp:239:42: error: 'this' pointer is null [-Werror=nonnull]
        239 | oop* result_adr = (oop *)map->location(r0->as_VMReg());
            | ^~
      In file included from /Users/alahay01/java/gerrit_jdk/src/hotspot/share/code/vmreg.inline.hpp:31,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp:30,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/share/runtime/frame.inline.hpp:42,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp:31:
      /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/vmreg_aarch64.inline.hpp:29:14: note: in a call to non-static member function 'VMRegImpl* RegisterImpl::as_VMReg()'
         29 | inline VMReg RegisterImpl::as_VMReg() {
            | ^~~~~~~~~~~~
      In file included from /Users/alahay01/java/gerrit_jdk/src/hotspot/share/runtime/frame.inline.hpp:42,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp:31:
      /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp: In member function 'void frame::set_saved_oop_result(RegisterMap*, oop)':
      /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp:246:42: error: 'this' pointer is null [-Werror=nonnull]
        246 | oop* result_adr = (oop *)map->location(r0->as_VMReg());
            | ^~
      In file included from /Users/alahay01/java/gerrit_jdk/src/hotspot/share/code/vmreg.inline.hpp:31,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/frame_aarch64.inline.hpp:30,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/share/runtime/frame.inline.hpp:42,
                       from /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/abstractInterpreter_aarch64.cpp:31:
      /Users/alahay01/java/gerrit_jdk/src/hotspot/cpu/aarch64/vmreg_aarch64.inline.hpp:29:14: note: in a call to non-static member function 'VMRegImpl* RegisterImpl::as_VMReg()'
         29 | inline VMReg RegisterImpl::as_VMReg() {
            | ^~~~~~~~~~~~

      The cause of this bug is:

      commit 4d2412ef3e1068063acc954a00b4db0fa4b5affb
      8269122: The use of "extern const" for Register definitions generates poor code

            ahayward Alan Hayward
            ahayward Alan Hayward
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: