RFR: 8350896: Integer/Long.compress gets wrong type from CompressBitsNode::Value [v13]

Jatin Bhateja jbhateja at openjdk.org
Mon Jul 14 15:16:50 UTC 2025


On Mon, 14 Jul 2025 13:45:07 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> `compiler/intrinsics/TestBitShuffleOpers.java` fails with `-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation`:
>> 
>> 
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> #  Internal Error (/workspace/open/src/hotspot/share/opto/intrinsicnode.cpp:315), pid=3588220, tid=3588247
>> #  Error: assert(lo == (T_INT ? min_jint : min_jlong)) failed
>> #
>> # JRE version: Java(TM) SE Runtime Environment (26.0) (fastdebug build 26-internal-2025-07-14-1229127.tobias.hartmann.jdk4)
>> # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-internal-2025-07-14-1229127.tobias.hartmann.jdk4, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V  [libjvm.so+0x1066720]  bitshuffle_value(TypeInteger const*, TypeInteger const*, int, BasicType)+0x440
>> #
>> 
>> urrent CompileTask:
>> C2:2810  490 %  b        compiler.intrinsics.TestBitShuffleOpers::test17 @ 7 (1042 bytes)
>> 
>> Stack: [0x00007f2910b4c000,0x00007f2910c4c000],  sp=0x00007f2910c47e30,  free space=1007k
>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
>> V  [libjvm.so+0x1066720]  bitshuffle_value(TypeInteger const*, TypeInteger const*, int, BasicType)+0x440  (intrinsicnode.cpp:315)
>> V  [libjvm.so+0x182ddbf]  PhaseGVN::transform(Node*)+0x1cf  (phaseX.cpp:703)
>> V  [libjvm.so+0x14913a2]  LibraryCallKit::inline_bitshuffle_methods(vmIntrinsicID)+0xb2  (library_call.cpp:2244)
>> V  [libjvm.so+0x14bcff8]  LibraryCallKit::try_to_inline(int)+0x1b8  (library_call.cpp:556)
>> V  [libjvm.so+0x14bfea0]  LibraryIntrinsic::generate(JVMState*)+0x230  (library_call.cpp:119)
>> V  [libjvm.so+0xd1aaa2]  Parse::do_call()+0x712  (doCall.cpp:677)
>> V  [libjvm.so+0x17ff8b8]  Parse::do_one_bytecode()+0x4b8  (parse2.cpp:2723)
>> V  [libjvm.so+0x17eca9c]  Parse::do_one_block()+0x24c  (parse1.cpp:1586)
>> V  [libjvm.so+0x17edea0]  Parse::do_all_blocks()+0x130  (parse1.cpp:724)
>> V  [libjvm.so+0x17f1393]  Parse::Parse(JVMState*, ciMethod*, float)+0xaa3  (parse1.cpp:628)
>> V  [libjvm.so+0x97cb6b]  ParseGenerator::generate(JVMState*)+0x13b  (callGenerator.cpp:97)
>> V  [libjvm.so+0xb54c49]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x18b9  (compile.cpp:804)
>> V  [libjvm.so+0x97a437]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x467  (c2compiler.cpp:141)
>> V  [libjvm.so+0xb64698]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb58  (co...
>
>> -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation
> 
> Thanks @TobiHartmann , kindly verify with the latest version.

> @jatin-bhateja This is with the latest version (webrev 13).

Hi @TobiHartmann I don't see any failure at https://github.com/openjdk/jdk/pull/23947/commits/06eafe7712833d830bbd60cdb729ad261eca59b8

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

PR Comment: https://git.openjdk.org/jdk/pull/23947#issuecomment-3069973582


More information about the hotspot-compiler-dev mailing list