RFR: 8344140: Refactor the discovery of AOT cache artifacts [v2]

Ioi Lam iklam at openjdk.org
Sun Nov 24 00:30:38 UTC 2024


> 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()`.

Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:

  Fixe 32-bit builds; removed unused function

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22291/files
  - new: https://git.openjdk.org/jdk/pull/22291/files/be0ef2ee..29946dda

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22291&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22291&range=00-01

  Stats: 19 lines in 3 files changed: 14 ins; 5 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/22291.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22291/head:pull/22291

PR: https://git.openjdk.org/jdk/pull/22291


More information about the hotspot-dev mailing list