Integrated: 8344140: Refactor the discovery of AOT cache artifacts
Ioi Lam
iklam at openjdk.org
Wed Jan 15 04:35:52 UTC 2025
On Thu, 21 Nov 2024 05:27:43 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> This is a clean up after the initial integration for [JEP 483](https://bugs.openjdk.org/browse/JDK-8315737)
>
> - Merged 3 loops into 1 for discovering the classes and oops that should be stored in the AOT cache. About 250 lines of code are deleted.
> - Added comments in aotArtifactFinder.hpp to describe the logic, which is much simpler than before.
> - Enum classes are no longer unconditionally AOT-initialized -- an Enum class is AOT-initialized only if we find an archived oop of this type.
>
> Note to reviewers:
>
> One consequence of this refactoring is that archived oops are now discovered (by heapShared.cpp) before the metadata are copied (by ArchiveBuilder). There are some functions that depend on the old order (metadata were copied before oop discovery), so I had to shuffle them around. Examples are `Modules::check_archived_module_oop()`, or the new code in `Klass::remove_java_mirror()`.
This pull request has now been integrated.
Changeset: be1cdd94
Author: Ioi Lam <iklam at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/be1cdd9450763c5c409bd6e28ec3604cdd90b653
Stats: 1356 lines in 29 files changed: 563 ins; 679 del; 114 mod
8344140: Refactor the discovery of AOT cache artifacts
Reviewed-by: ccheung, asmehra
-------------
PR: https://git.openjdk.org/jdk/pull/22291
More information about the hotspot-dev
mailing list