RFR: 8346280: C2: implement late barrier elision for G1

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Thu Jan 23 13:03:47 UTC 2025


On Thu, 23 Jan 2025 10:24:12 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

> We have seen many crashes in JFR tests like jdk/jfr/api/consumer/streaming/TestFilledChunks.java on PPC64:
> 
> ```
> #  SIGSEGV (0xb) at pc=0x00007fff9ef80948, pid=285054, tid=285751
> # V  [libjvm.so+0x620948]  get_base_and_offset(MachNode const*, long&)+0x2c8
> 
> V  [libjvm.so+0x620948]  get_base_and_offset(MachNode const*, long&)+0x2c8  (type.hpp:994)
> V  [libjvm.so+0x629e4c]  BarrierSetC2::is_allocation(Node const*)+0x10c  (barrierSetC2.cpp:1048)
> V  [libjvm.so+0xd1c708]  G1BarrierSetC2::analyze_dominating_barriers() const+0x628  (g1BarrierSetC2.cpp:554)
> V  [libjvm.so+0x17686d8]  PhaseOutput::perform_mach_node_analysis()+0xe8  (output.cpp:258)
> V  [libjvm.so+0x177ceb4]  PhaseOutput::Output()+0xc74  (output.cpp:346)
> V  [libjvm.so+0xa4b450]  Compile::Code_Gen()+0x650  (compile.cpp:3030)
> V  [libjvm.so+0xa50100]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1c20  (compile.cpp:884)
> V  [libjvm.so+0x7fb294]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1c4  (c2compiler.cpp:141)
> ```

Thanks for the report, Martin. Have you tried running this test with ZGC? ZGC exercises the same logic (even before this changeset) so it could be subject to the same issue.

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

PR Comment: https://git.openjdk.org/jdk/pull/23235#issuecomment-2609751843


More information about the hotspot-compiler-dev mailing list