On Tue, 14 Oct 2025 23:44:39 GMT, Chad Rakoczy <[email protected]> wrote:
>> [JDK-8369147](https://bugs.openjdk.org/browse/JDK-8369147) >> >> Fixes tests added in >> [JDK-8316694](https://bugs.openjdk.org/browse/JDK-8316694) >> >> `DeoptimizeRelocatedNMethod.java` and `RelocateNMethod.java` failed because >> they attempted to relocate nmethods to the `MethodProfiled` code heap which >> does not exist when `TieredCompilation` is false. Updated the tests to use >> `MethodNonProfiled` heap which exists regardless of `TieredCompilation` >> >> `StressNMethodRelocation.java` runs for 60 seconds and also compiles 1024 >> methods with C2. This was causing the test to timeout if the compilation >> took too much time. Increasing the timeout to 5 minutes should give C2 >> enough time to compile the functions >> >> `NMethodRelocationTest.java` runs using SerialGC which caused a multiple GC >> error when trying to run with another GC. Added a requires to force SerialGC > > The following occurs when running DeoptimizeRelocatedNMethod on PPC64 > > # Internal Error (jdk/src/hotspot/cpu/ppc/nativeInst_ppc.cpp:405) > # assert(!decode(i1, i2)) failed: already patched > > Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native > code) > V [libjvm.so+0x1701784] NativePostCallNop::patch(int, int)+0xf4 > (nativeInst_ppc.cpp:405) > V [libjvm.so+0x1718414] nmethod::finalize_relocations()+0x6f4 > (nmethod.cpp:2059) > V [libjvm.so+0x171891c] nmethod::post_init()+0x5c (nmethod.cpp:1252) > V [libjvm.so+0x171a8dc] nmethod::relocate(CodeBlobType)+0x1ec > (nmethod.cpp:1515) > V [libjvm.so+0x200b598] WB_RelocateNMethodFromMethod+0x388 > (whitebox.cpp:1653) > j > jdk.test.whitebox.WhiteBox.relocateNMethodFromMethod0(Ljava/lang/reflect/Executable;I)V+0 > j > jdk.test.whitebox.WhiteBox.relocateNMethodFromMethod(Ljava/lang/reflect/Executable;I)V+8 > j compiler.whitebox.DeoptimizeRelocatedNMethod.main([Ljava/lang/String;)V+50 > > > @TheRealMDoerr @reinrich Do you have any ideas on a solution for this? I > don't have any experience working with PPC so guidance would be greatly > appreciated @chadrako > StressNMethodRelocation.java runs for 60 seconds and also compiles 1024 > methods with C2. This was causing the test to timeout if the compilation took > too much time. Maybe instead of hardcoding the number of methods (1024), we can have a reasonable time slice, e.g. 10 seconds, and compile as many methods as possible. ------------- PR Comment: https://git.openjdk.org/jdk/pull/27659#issuecomment-3407142928
