valhalla icon indicating copy to clipboard operation
valhalla copied to clipboard

8341771: [lworld] Heap dump recognizing new flat fields formats

Open alexmenkov opened this issue 1 month ago • 5 comments

The fix re-implements flat object support in heap dumper. New approach does not require changes in .hprof format. Flat value objects are dumped as heap-allocated objects with generated ID. For heap-allocated objects the ID is their address (oop), they are always aligned. ID generator for flat objects uses unaligned values (so there is no conflicts with oops).

HeapDump test was reimplemented (it was disabled for a long time) Changes in hprof test lib were reverted (they are not needed anymore)

testing: tier1..4,hs-tier5-svc


Progress

  • [x] Change must not contain extraneous whitespace

Issues

  • JDK-8341771: [lworld] Heap dump recognizing new flat fields formats (Bug - P4)
  • JDK-8328468: [lworld] Reimplement HeapDump test for JEP401 (Bug - P4)
  • JDK-8317416: [lworld] JDK-8306441 (Two phase segmented heap dump) needs Valhalla support (Bug - P4)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/valhalla.git pull/1700/head:pull/1700
$ git checkout pull/1700

Update a local copy of the PR:
$ git checkout pull/1700
$ git pull https://git.openjdk.org/valhalla.git pull/1700/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1700

View PR using the GUI difftool:
$ git pr show -t 1700

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/valhalla/pull/1700.diff

Using Webrev

Link to Webrev Comment

alexmenkov avatar Oct 24 '25 00:10 alexmenkov

:wave: Welcome back amenkov! A progress list of the required criteria for merging this PR into lworld will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

bridgekeeper[bot] avatar Oct 24 '25 00:10 bridgekeeper[bot]

@alexmenkov This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8341771: [lworld] Heap dump recognizing new flat fields formats
8328468: [lworld] Reimplement HeapDump test for JEP401
8317416: [lworld] JDK-8306441 (Two phase segmented heap dump) needs Valhalla support

Reviewed-by: fparain

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 337 new commits pushed to the lworld branch:

  • 1cb010221d0df2d05273c412b385a26a5978f477: 8371318: [lworld] Bump copyright after JDK-8370479
  • 6f5c72ecd048ca9d980248a2f4af87eab0a9b996: 8370479: [lworld] OOP-related crashes via mvn surefire
  • 047e2327071e7f5a78f09f3a19980df2a82c00ba: 8370450: [lworld] Alternate implementation of the substitutability test method
  • ... and 334 more: https://git.openjdk.org/valhalla/compare/60af17ff5995cfa5de075332355f7f475c163865...lworld

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the lworld branch, type /integrate in a new comment.

openjdk[bot] avatar Oct 24 '25 00:10 openjdk[bot]

/issue add JDK-8328468,JDK-8317416

alexmenkov avatar Oct 24 '25 00:10 alexmenkov

@alexmenkov Adding additional issue to issue list: 8328468: [lworld] Reimplement HeapDump test for JEP401.

Adding additional issue to issue list: 8317416: [lworld] JDK-8306441 (Two phase segmented heap dump) needs Valhalla support.

openjdk[bot] avatar Oct 24 '25 01:10 openjdk[bot]

Webrevs

mlbridge[bot] avatar Oct 24 '25 01:10 mlbridge[bot]

/integrate

alexmenkov avatar Nov 07 '25 19:11 alexmenkov

Going to push as commit 296fe862f73ad92093d62372141dc848a3e42d72. Since your change was applied there have been 436 commits pushed to the lworld branch:

  • a0ec2441494f9e77b3a8a3db90358db239b27b4d: 8367244: [lworld] C2 compilation fails with assert "no node with a side effect"
  • a74780818f624c574adfe3c3380996679ba93fd7: Merge jdk
  • 17fd801b24162dfbac6d4e63ef5048a0fb146074: 8370807: G1: Improve region attribute table method naming
  • ... and 433 more: https://git.openjdk.org/valhalla/compare/60af17ff5995cfa5de075332355f7f475c163865...lworld

Your commit was automatically rebased without conflicts.

openjdk[bot] avatar Nov 07 '25 19:11 openjdk[bot]

@alexmenkov Pushed as commit 296fe862f73ad92093d62372141dc848a3e42d72.

:bulb: You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

openjdk[bot] avatar Nov 07 '25 19:11 openjdk[bot]