RFR: 8321033: Avoid casting Array to GrowableArray [v5]

Matias Saavedra Silva matsaave at openjdk.org
Fri Jun 14 17:17:23 UTC 2024


> `ModuleEntry::_reads` is declared as an GrowableArray<ModuleEntry*>*, but when stored in a CDS archive, it's assigned to an Array<ModuleEntry*>*. To ensure better type safety, `ModuleEntry::_reads` is changed to a generic pointer which uses two different getters and setters as well as two booleans to ensure the value is interpreted correctly. This was chosen to avoid introducing a new field to the ModuleEntry class, as another pointer and further alignment would increase the size of the ModuleEntry array. Verified with tier1-5 tests.

Matias Saavedra Silva has updated the pull request incrementally with one additional commit since the last revision:

  Added assert to ensure reads is empty

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19549/files
  - new: https://git.openjdk.org/jdk/pull/19549/files/96af6a07..407ca174

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19549&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19549&range=03-04

  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/19549.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19549/head:pull/19549

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


More information about the hotspot-runtime-dev mailing list