RFR: 8280682: Refactor AOT code source validation checks
Ioi Lam
iklam at openjdk.org
Tue Feb 11 05:29:10 UTC 2025
On Wed, 5 Feb 2025 22:32:58 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:
> This changset refactors CDS class paths and module paths validation code into a new class `AOTCodeSource` and related class `AOTCodeSourceConfig`. Code has been moved from filemap.[c|h]pp, classLoader.[c|h]pp, and classLoaderExt.[c|h]pp to aotCodeSource.[c|h]pp. CDS dependencies have been removed from `classLoader.cpp`. More refactoring could be done, such as removing `classLoaderExt.cpp`, in a future RFE.
>
> Passed tiers 1 - 5 testing.
Looks good. A few suggestions for the in-line comments.
src/hotspot/share/cds/aotCodeSource.cpp line 133:
> 131:
> 132: // AllCodeSourceStreams is used to iterate over all the code sources that
> 133: // are available to the application from -Xbootclasspath, -classpath and --module-path
Consider adding this comment:
// When creating an AOT cache, we store the contents from AllCodeSourceStreams
// into an array of AOTCodeSources. See AOTCodeSourceConfig::dumptime_init_helper().
// When loading the AOT cache in a production run, we compare the contents of the
// stored AOTCodeSources against the current AllCodeSourceStreams to determine whether
// the AOT cache is compatible with the current JVM. See AOTCodeSourceConfig::validate().
src/hotspot/share/cds/aotCodeSource.hpp line 126:
> 124: // Non-existent entries are recored during AOTCache creation. Those non-existent entries
> 125: // must not exist during runtime.
> 126: //
Typos:
- "subjected to AOTCodeSourceConfig::validate()" -- the function has two parameters, but we can omit them in this comment
- "validation is performed on *the* AOTCodeSources"
- "during AOTCache creation *are* the same"
- "on-existent entries are *recorded*"
-------------
PR Review: https://git.openjdk.org/jdk/pull/23476#pullrequestreview-2607702313
PR Review Comment: https://git.openjdk.org/jdk/pull/23476#discussion_r1950250159
PR Review Comment: https://git.openjdk.org/jdk/pull/23476#discussion_r1950244507
More information about the serviceability-dev
mailing list