RFR: 8253909: Implement detailed map file for CDS [v2]
Calvin Cheung
ccheung at openjdk.java.net
Tue Oct 6 20:49:10 UTC 2020
On Mon, 5 Oct 2020 18:26:55 GMT, Ioi Lam <iklam at openjdk.org> wrote:
>> For analyzing the contents of a CDS archive, we need a "map file" that describes the archive in different levels of
>> detail. This can be done using unified logging. E.g.,
>> java -Xshare:dump -Xlog:cds+map=trace:file=cds.map:none:filesize=0
>>
>> For example, we can use the map file for troubleshooting [JDK-8253495](https://bugs.openjdk.java.net/browse/JDK-8253495)
>> (runtime/cds/DeterministicDump.java broken). We can diff two different cds.map files to see where the non-deterministic
>> contents come from.
>> See attachments in [JDK-8253909](https://bugs.openjdk.java.net/browse/JDK-8253909) for example map files at the
>> info/debug/trace levels.
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
>
> Feedback from Thomas Stuefe
One nit in archiveBuilder.cpp.
Marked as reviewed by ccheung (Reviewer).
src/hotspot/share/memory/archiveBuilder.cpp line 788:
> 786: char* bitmap, size_t bitmap_size_in_bytes) {
> 787: if (log_is_enabled(Info, cds, map)) {
> 788: CDSMapLogger::write(this, mapinfo, closed_heap_regions,open_heap_regions,
Needs a space before `open_heap_regions`.
src/hotspot/share/memory/filemap.cpp line 1311:
> 1309:
> 1310: write_region(MetaspaceShared::bm, (char*)buffer, size_in_bytes, /*read_only=*/true, /*allow_exec=*/false);
> 1311: return (char*)buffer;
`buffer` is declared as `char*`, no need to typecast.
-------------
Marked as reviewed by ccheung (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/474
More information about the hotspot-runtime-dev
mailing list