8387552: [lworld] Add new capability to enable value objects support for JVMTI VMObjectAlloc and SampledObjectAlloc#2607
8387552: [lworld] Add new capability to enable value objects support for JVMTI VMObjectAlloc and SampledObjectAlloc#2607sspitsyn wants to merge 3 commits into
Conversation
…for JVMTI VMObjectAlloc and SampledObjectAlloc
|
👋 Welcome back sspitsyn! A progress list of the required criteria for merging this PR into |
|
@sspitsyn 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: 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 16 new commits pushed to the
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 |
Webrevs
|
lmesnik
left a comment
There was a problem hiding this comment.
I reviewed the implementation and tests only, assuming that CSR will be approved.
The only general comment is that implementation doesn't check the '--enable-preview' so agent with enabled 'can_support_value_objects' is not going to fail.
Do we need a separate test for this?
Also, there is a general lack of coverage of this behaviour for multi environments/agents.
Might be needed to to file RFE to review './vmTestbase/nsk/jvmti/scenarios/multienv' and see if they should be updated or write new tests.
There are few comments inline.
Thank you for looking at this change! This does not look as a real problem.
Yes. We have a lack of coverage in this area. I hope, it is not a stopper for this PR. :) |
plummercj
left a comment
There was a problem hiding this comment.
It's a little unclear to me how this all works when not in preview mode. Does the jvmti client still get to enable can_support_value_objects, but it has no affect.
I think this came up with can_support_virtual_threads capability when virtual threads were in preview. I think we concluded that it's benign as it needs both the capability and preview features be enabled. |
|
Chris and Leonid, thank you for review! |
|
/integrate |
|
Going to push as commit 3a7e2e0.
Your commit was automatically rebased without conflicts. |
This update is for Valhalla pre-integration. It introduces new JVMTI capability
can_support_value_objects.The variable
_can_support_value_objects_countis introduced for optimization. It follows the pattern of thecan_support_virtual_threadscapability.Additionally, this update includes test fixes:
test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.cpp:
if (!jni->HasIdentity(object))check because it is not needed anymore as the JVMTI capabilitycan_support_value_objectsis no acquired by the testThese two tests are updated to provide both positive and negative coverage for new capability:
test/hotspot/jtreg/serviceability/jvmti/valhalla/VMObjectAllocValue
test/hotspot/jtreg/serviceability/jvmti/valhalla/SampledObjectAllocValue
Testing:
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/valhalla.git pull/2607/head:pull/2607$ git checkout pull/2607Update a local copy of the PR:
$ git checkout pull/2607$ git pull https://git.openjdk.org/valhalla.git pull/2607/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2607View PR using the GUI difftool:
$ git pr show -t 2607Using diff file
Download this PR as a diff file:
https://git.openjdk.org/valhalla/pull/2607.diff
Using Webrev
Link to Webrev Comment