RFR: 8341452: Test runtime/cds/appcds/DumpRuntimeClassesTest.java from JDK-8324259 is failing [v3]
Ioi Lam
iklam at openjdk.org
Fri Oct 11 01:37:19 UTC 2024
On Thu, 10 Oct 2024 17:39:44 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:
>> DumpRuntimeClassesTest.java was added in [JDK-8324259](https://bugs.openjdk.org/browse/JDK-8324259) to verify that the newly added dummy call archived classes that are used at CDS runtime. This new test exposed a case where `JarVerifier` is used at CDS runtime while not being in the archive, so this patch performs a dummy call to `JarVerifier`.
>>
>> When using `-Xcomp`, the class `Manifest` is compiled which causes `JarVerifier` to be loaded. This does not occur in other modes since the constructor of `Manifest` doesn't create any instances of `JarVerifier`. The existing dummy call to `Manifest` doesn't load `JarVerifier` either, so a separate dummy call can be used to ensure it is loaded at dumptime. Now that there are multiple dummy calls, they are pulled out into a new method `make_dummy_calls()`. Verified with tier x-y tests.
>
> Matias Saavedra Silva has updated the pull request incrementally with two additional commits since the last revision:
>
> - Changed method name and added helper
> - Ioi comment
Changes requested by iklam (Reviewer).
src/hotspot/share/cds/cdsProtectionDomain.cpp line 221:
> 219: path_string, CHECK);
> 220: }
> 221:
JavaValue is used only when calling Java with JavaCalls::call_static. It's better to change the API to:
oop CDSProtectionDomain::get_shared_jar_url_helper(const char* path, Handle url_h, TRAPS) {
JavaValue result,
Handle path_string = java_lang_String::create_from_str(path, CHECK);
JavaCalls::call_static(&result, ...);
return result.get_oop();
}
-------------
PR Review: https://git.openjdk.org/jdk/pull/21329#pullrequestreview-2361748483
PR Review Comment: https://git.openjdk.org/jdk/pull/21329#discussion_r1796301032
More information about the hotspot-dev
mailing list