RFR: 8329982: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java failed assert(oopDesc::is_oop_or_null(val)) failed: bad oop found

Doug Simon dnsimon at openjdk.org
Wed May 1 21:01:53 UTC 2024


On Wed, 1 May 2024 17:49:53 GMT, Tom Rodriguez <never at openjdk.org> wrote:

> In the long term I'm not sure it's worth trying to maintain these assembler tests. The barrier verification code is very weak and on aarch64 it's slightly complicated so we're barely checking that it really matches. I guess this is good enough until we get further problems.

I agree. I had to push more changes now to remove tests that expect to be able to install 0 length code (which obviously fail the nmethod barrier verification). These tests provided stop gap coverage in the early days of JVMCI but now test functionality where breakage will clearly show up in higher layers (such as Graal). What's more, expanding the assembler support in JVMCI is redundant with the fully fledged assembler in Graal.

> I think you can simplify some other logic that deals with the optionality of the barrier. Start with removing JVMCINMethodData::has_entry_barrier and maybe update some of the comments to reflect that it's always emitted. And places that check _nmethod_entry_patch_offset for -1 can be removed or weakened.

I've done that now. Please let me know if you can spot any other vestiges of the optional support.

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

PR Comment: https://git.openjdk.org/jdk/pull/19035#issuecomment-2089131172


More information about the hotspot-compiler-dev mailing list