RFR: 8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops [v36]

Roland Westrelin roland at openjdk.org
Wed Jul 16 09:38:18 UTC 2025


On Wed, 9 Jul 2025 10:35:21 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> I gave your latest patch another spin in our testing. It's still running but it already found some issues:

Thanks!

All failures should be fixed now. I added a test case for that one:

> ```
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  Internal Error (/opt/mach5/mesos/work_dir/slaves/d2398cde-9325-49c3-b030-8961a4f0a253-S650407/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/05605dc0-bf5e-434a-82b5-65af69c62ec6/runs/591d89b1-11c0-415e-b2ce-4c0a13ce80f8/workspace/open/src/hotspot/share/opto/vectorization.cpp:141), pid=704535, tid=704555
> #  assert(_cl->is_multiversion_fast_loop() == (_multiversioning_fast_proj != nullptr)) failed: must find the multiversion selector IFF loop is a multiversion fast loop
> 
> Current CompileTask:
> C2:7789 1280             jdk.incubator.vector.ByteVector::ldLongOp (48 bytes)
> 
> Stack: [0x00007f9ef7cfe000,0x00007f9ef7dfe000],  sp=0x00007f9ef7df8560,  free space=1001k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V  [libjvm.so+0x1bcb7a4]  VLoop::check_preconditions_helper() [clone .part.0]+0x824  (vectorization.cpp:141)
> V  [libjvm.so+0x1bcba31]  VLoop::check_preconditions()+0x41  (vectorization.cpp:41)
> V  [libjvm.so+0x1573ea1]  PhaseIdealLoop::auto_vectorize(IdealLoopTree*, VSharedData&)+0x241  (loopopts.cpp:4449)
> V  [libjvm.so+0x155274d]  PhaseIdealLoop::build_and_optimize()+0xfdd  (loopnode.cpp:5270)
> [...]
> ```

Would you mind re-running testing?

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

PR Comment: https://git.openjdk.org/jdk/pull/21630#issuecomment-3077761301


More information about the hotspot-compiler-dev mailing list