Skip to content

8387997: [lworld] Add JVMTI general spec clarification about value objects#2634

Closed
sspitsyn wants to merge 6 commits into
openjdk:lworldfrom
sspitsyn:8387997
Closed

8387997: [lworld] Add JVMTI general spec clarification about value objects#2634
sspitsyn wants to merge 6 commits into
openjdk:lworldfrom
sspitsyn:8387997

Conversation

@sspitsyn

@sspitsyn sspitsyn commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

This update is for repo-valhalla pre-integration. It adds a special intro section to the jvmti.xml with a general clarification related to value objects. Also, it fixes a couple of small typos.

Testing: N/A



Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed (1 review required, with at least 1 Committer)

Issue

  • JDK-8387997: [lworld] Add JVMTI general spec clarification about value objects (Enhancement - P2)

Reviewers

Contributors

  • David Holmes <dholmes@openjdk.org>

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 2634

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

Using diff file

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

Using Webrev

Link to Webrev Comment

@bridgekeeper

bridgekeeper Bot commented Jul 9, 2026

Copy link
Copy Markdown

👋 Welcome back sspitsyn! 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.

@openjdk

openjdk Bot commented Jul 9, 2026

Copy link
Copy Markdown

@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:

8387997: [lworld] Add JVMTI general spec clarification about value objects

Co-authored-by: David Holmes <dholmes@openjdk.org>
Reviewed-by: dholmes, cjplummer

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 61 new commits pushed to the lworld branch:

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 openjdk Bot added the rfr Pull request is ready for review label Jul 9, 2026
@mlbridge

mlbridge Bot commented Jul 9, 2026

Copy link
Copy Markdown

Webrevs

Comment thread src/hotspot/share/prims/jvmti.xml Outdated
Comment thread src/hotspot/share/prims/jvmti.xml Outdated
@sspitsyn

Copy link
Copy Markdown
Contributor Author

/contributor add @dholmes-ora

@openjdk

openjdk Bot commented Jul 10, 2026

Copy link
Copy Markdown

@sspitsyn
Contributor David Holmes <dholmes@openjdk.org> successfully added.

@sspitsyn

Copy link
Copy Markdown
Contributor Author

I've made another update according to the offline agreement. There is also a minor tweak in the "Object Tags" section.

@dholmes-ora dholmes-ora left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. One suggested update.

When preview features are enabled, the Object Free event is only sent for tagged
<externallink id="jni/functions.html#hasidentity">identity objects</externallink>.
<b>The event is not sent for tagged values objects.</b>
<b>The event is not sent for tagged value objects.</b>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<b>The event is not sent for tagged value objects.</b>
<b>The event is not sent for tagged value objects because they are kept alive while tagged.</b>

To be consistent with earlier change.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have discussed with you that this is confusing as the lifecycle of value objects is not defined. My move is in opposite direction. It is to remove this: "because they are kept alive while tagged."

@openjdk openjdk Bot added the ready Pull request is ready to be integrated label Jul 17, 2026
@sspitsyn

Copy link
Copy Markdown
Contributor Author

David, thank you for review!

@dholmes-ora dholmes-ora left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update looks good. Thanks

@dholmes-ora

Copy link
Copy Markdown
Member

Aside: you should add JVMTI to the issue synopsis. Thanks

@sspitsyn sspitsyn changed the title 8387997: [lworld] Add general spec clarification about value objects 8387997: [lworld] JVMTI Add general spec clarification about value objects Jul 17, 2026
@openjdk openjdk Bot removed the ready Pull request is ready to be integrated label Jul 17, 2026
@sspitsyn sspitsyn changed the title 8387997: [lworld] JVMTI Add general spec clarification about value objects 8387997: [lworld] Add JVMTI general spec clarification about value objects Jul 17, 2026
@openjdk openjdk Bot added the ready Pull request is ready to be integrated label Jul 17, 2026
@sspitsyn

sspitsyn commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

Aside: you should add JVMTI to the issue synopsis. Thanks

Fixed now.

@plummercj plummercj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

a Java object that does not have identity. Such differences in behavior are described
by the individual functions and events where they apply.
<p/>
In summary, tags for value objects use value equality semantics, and

@AlanBateman AlanBateman Jul 20, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is tricky to word as tags are (jlong) values. While more verbose, I wonder if it should be something like "Object tags are jlong values that a JVMTI agent can associate with an object. JVMTI allows a value object to be tagged despite the object having no identity. Consequently, the tag is a jong value associated with the object's fields rather than its identity.". Having it link to the "Object Tags" section would help too. Alternatively, we could beef up the "Object Tags" section so that this overview/intro section just links without doing into any details except to highlight that value objects can be tagged but ObjectFree events are only sent for tagged identity objects.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good suggestions, thanks. I'll try to update as suggested. I like the alternative suggestion as well but it can be a little bit more tricky.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AlanBateman There was a request to finalize the SVC CSR now. So, I'll integrate this now as is, and we can incorporate your suggestion later,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, and I assume you'll create a JBS issue for the follow-up.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filed this issue:
8388540 [lworld] Need minor tweak in JVMTI intro section on value objects

Will publish a PR soon.

@sspitsyn

Copy link
Copy Markdown
Contributor Author

David and Chris, thank you for review!

@sspitsyn

Copy link
Copy Markdown
Contributor Author

/integrate

@openjdk

openjdk Bot commented Jul 20, 2026

Copy link
Copy Markdown

Going to push as commit 87f1ae9.
Since your change was applied there have been 62 commits pushed to the lworld branch:

Your commit was automatically rebased without conflicts.

@openjdk openjdk Bot added the integrated Pull request has been integrated label Jul 20, 2026
@openjdk openjdk Bot closed this Jul 20, 2026
@openjdk openjdk Bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Jul 20, 2026
@openjdk

openjdk Bot commented Jul 20, 2026

Copy link
Copy Markdown

@sspitsyn Pushed as commit 87f1ae9.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integrated Pull request has been integrated

Development

Successfully merging this pull request may close these issues.

4 participants