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