On Wed, 17 Mar 2021 07:21:06 GMT, Lin Zang <lz...@openjdk.org> wrote:
> IMO, it is better to dump all array object in `write-through` mode, because > it could avoid memory consumption and performance issue when dumping large > array. And the original implementation of object dump works like > `write-through`, so this fix looks like sort of retrieve back to the original > behavior. I guess I don't understand why you would want write-through for small arrays but not large objects. I also have to admit I don't fully grasp the purpose of "segment mode". I see the docs say: 301 * A heap dump can optionally be generated as a sequence of heap dump 302 * segments. This sequence is terminated by an end record. The additional 303 * tags allowed by format "JAVA PROFILE 1.0.2" are: 304 * 305 * HPROF_HEAP_DUMP_SEGMENT denote a heap dump segment 306 * 307 * [heap dump sub-records]* 308 * The same sub-record types allowed by HPROF_HEAP_DUMP 309 * 310 * HPROF_HEAP_DUMP_END denotes the end of a heap dump But all this seems to be doing is grouping the HPROF_HEAP_DUMP records into an array rather than having them interspersed with other types of records. How does this help, and why would this mode not always be enabled? ------------- PR: https://git.openjdk.java.net/jdk/pull/2803