8387997: [lworld] Add JVMTI general spec clarification about value objects#2634
8387997: [lworld] Add JVMTI general spec clarification about value objects#2634sspitsyn wants to merge 6 commits into
Conversation
|
👋 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 61 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
|
|
/contributor add @dholmes-ora |
|
@sspitsyn |
|
I've made another update according to the offline agreement. There is also a minor tweak in the "Object Tags" section. |
dholmes-ora
left a comment
There was a problem hiding this comment.
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> |
There was a problem hiding this comment.
| <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.
There was a problem hiding this comment.
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."
|
David, thank you for review! |
dholmes-ora
left a comment
There was a problem hiding this comment.
Update looks good. Thanks
|
Aside: you should add JVMTI to the issue synopsis. Thanks |
Fixed now. |
| 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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
@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,
There was a problem hiding this comment.
Okay, and I assume you'll create a JBS issue for the follow-up.
There was a problem hiding this comment.
Filed this issue:
8388540 [lworld] Need minor tweak in JVMTI intro section on value objects
Will publish a PR soon.
|
David and Chris, thank you for review! |
|
/integrate |
|
Going to push as commit 87f1ae9.
Your commit was automatically rebased without conflicts. |
This update is for
repo-valhallapre-integration. It adds a special intro section to thejvmti.xmlwith a general clarification related to value objects. Also, it fixes a couple of small typos.Testing: N/A
Progress
Issue
Reviewers
Contributors
<dholmes@openjdk.org>Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/valhalla.git pull/2634/head:pull/2634$ git checkout pull/2634Update a local copy of the PR:
$ git checkout pull/2634$ git pull https://git.openjdk.org/valhalla.git pull/2634/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 2634View PR using the GUI difftool:
$ git pr show -t 2634Using diff file
Download this PR as a diff file:
https://git.openjdk.org/valhalla/pull/2634.diff
Using Webrev
Link to Webrev Comment