RFR: 8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060

Dean Long dlong at openjdk.org
Thu Jul 7 00:19:40 UTC 2022


On Wed, 6 Jul 2022 20:48:14 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

> We're currently calling `nullptr->is_valid()` and `nullptr->value()` which causes SIGSEGV on PPC64 (and is undefined behavior). See JBS for details.

src/hotspot/share/opto/c2compiler.cpp line 69:

> 67:   for (OptoReg::Name i=OptoReg::Name(0); i<OptoReg::Name(REG_COUNT); i = OptoReg::add(i,1)) {
> 68:     VMReg r = OptoReg::as_VMReg(i);
> 69:     if (r != nullptr && r->is_valid()) {

Instead of changing shared code, how about changing ppc.ad to use VMRegImpl::Bad() instead of NULL?

-------------

PR: https://git.openjdk.org/jdk/pull/9403


More information about the hotspot-compiler-dev mailing list