RFR: 8311604: Simplify NOCOOPS requested addresses for archived heap objects

Ioi Lam iklam at openjdk.org
Thu Jul 6 23:47:16 UTC 2023


This PR attempts to clean up some of the cruds in the existing code:

- Simplified the calculation of "requested address" when `UseCompressedOops` is disabled -- the archived heap objects are always written starting from 0x10000000
- Removed `HeapShared::to_requested_address()` so we don't have two kinds of "requested address"
- Updated the comments about "source" vs "buffered" vs "requested" addresses in archiveHeapWriter.hpp
- Removed `SerializeClosure::oop()` as the only oop we need to store into the archive header is `HeapShared::roots()`, which can be handled more easily with `FileMapHeader::_heap_roots_offset`
- Removed some unnecessary dependencies on `G1CollectedHeap::heap()->reserved()`

Also:
- Moved SerializeClosure to its own header file to improve build time.
- Fixed DeterministicDump.java, which wasn't archiving Java objects when  `UseCompressedOops` was disabled.

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

Commit messages:
 - 8311604: Simplify NOCOOPS requested addresses for archived heap objects

Changes: https://git.openjdk.org/jdk/pull/14792/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14792&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311604
  Stats: 369 lines in 23 files changed: 157 ins; 172 del; 40 mod
  Patch: https://git.openjdk.org/jdk/pull/14792.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14792/head:pull/14792

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


More information about the hotspot-dev mailing list