RFR: 8352567: [s390x] disable JFR tests requiring JFR stubs

Amit Kumar amitkumar at openjdk.org
Tue Nov 25 04:22:57 UTC 2025


On Fri, 21 Nov 2025 01:48:27 GMT, Vladimir Petko <vpetko at openjdk.org> wrote:

> JFR stubs are not [implemented](https://github.com/openjdk/jdk/blame/06ba6cf3a137a6cdf572a876a46d18e51c248451/src/hotspot/cpu/s390/sharedRuntime_s390.cpp#L3412). 
> Add platform requirement to JFR tests that require JFR stubs to skip them on S390x.
> 
> Testing: 
> - s390x:
> 
> ==============================
> Test summary
> ==============================
>    TEST                                              TOTAL  PASS  FAIL ERROR  SKIP   
>    jtreg:test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java
>                                                          0     0     0     0     0   
>    jtreg:test/hotspot/jtreg/compiler/intrinsics/TestReturnOopSetForJFRWriteCheckpoint.java
>                                                          0     0     0     0     0   
>    jtreg:test/jdk/jdk/jfr                              630   577     0     0    53   
> ==============================
> TEST SUCCESS
> 
> 
> - amd64:
> 
> ==============================
> Test summary
> ==============================
>    TEST                                              TOTAL  PASS  FAIL ERROR  SKIP   
>    jtreg:test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java
>                                                          1     1     0     0     0   
>    jtreg:test/hotspot/jtreg/compiler/intrinsics/TestReturnOopSetForJFRWriteCheckpoint.java
>                                                          1     1     0     0     0   
>    jtreg:test/jdk/jdk/jfr                              629   622     0     0     7   
> ==============================
> TEST SUCCESS

I would've suggested to use `@requires vm.continuations` that way test will be disabled if continuations support is not there. Or probably we can do simple problem listing, that way it will be little easy to enable the test case again. 

Reason: 


#if INCLUDE_JFR
RuntimeStub* SharedRuntime::generate_jfr_write_checkpoint() {
  if (!Continuations::enabled()) return nullptr;
  Unimplemented();
  return nullptr;
}

RuntimeStub* SharedRuntime::generate_jfr_return_lease() {
  if (!Continuations::enabled()) return nullptr;
  Unimplemented();
  return nullptr;
}

#endif // INCLUDE_JFR


we can see that we are going to return `nullptr` even if the stub is implemented in case `continuations` is disabled. 

But it seems once these stubs were implemented for other architectures the requirement for continuations support vanished. 
See aarch64 for example: https://github.com/openjdk/jdk/blob/dea95e65a2493b545f78243025d1a5a4957a3806/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp#L2870

https://github.com/openjdk/jdk/blob/dea95e65a2493b545f78243025d1a5a4957a3806/src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp#L2832


@theRealAph could you suggest if this solution looks correct ?

I see this testcase failing in tier1 tests on headstream: `java/foreign/sharedclosejfr/TestSharedCloseJFR.java ` could you check if it's the same case for you as well ?

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

Changes requested by amitkumar (Committer).

PR Review: https://git.openjdk.org/jdk/pull/28444#pullrequestreview-3503196066
PR Comment: https://git.openjdk.org/jdk/pull/28444#issuecomment-3573719023


More information about the hotspot-dev mailing list