-
Bug
-
Resolution: Fixed
-
P4
-
18
-
Fedora release 34 (Thirty Four)
gcc (GCC) 11.1.1 20210428 (Red Hat 11.1.1-1)
-
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
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
- relates to
-
JDK-8269122 The use of "extern const" for Register definitions generates poor code
- Resolved
-
JDK-8270083 -Wnonnull errors happen with GCC 11.1.1
- Resolved
-
JDK-8270140 Improve Register class implementation
- Open
-
JDK-8291822 ARM32: Build errors with GCC 11 in frame::saved_oop_result
- Resolved
(1 links to)