New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8306028: separate ThreadStart/ThreadEnd events posting code in JVMTI VTMS transitions #13484
Conversation
👋 Welcome back sspitsyn! A progress list of the required criteria for merging this PR into |
Webrevs
|
@sspitsyn This issue is referenced in the PR title - it will now be updated. |
/issue add 8304444: Reappearance of NULL in jvmtiThreadState.cpp |
@sspitsyn Command syntax:
Some examples:
If issues are specified only by their ID, the title will be automatically retrieved from JBS. The project prefix ( |
/issue add 8304444 |
@sspitsyn |
@sspitsyn this pull request can not be integrated into git checkout br29
git fetch https://git.openjdk.org/jdk.git master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
Added update with refactoring prepared by @pchilano . |
merge with branch29
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Serguei,
Changes look good to me. Thanks for taking care of the refactoring.
Patricio
@@ -636,27 +636,27 @@ JRT_ENTRY(void, SharedRuntime::notify_jvmti_object_alloc(oopDesc* o, JavaThread* | |||
current->set_vm_result(h()); | |||
JRT_END | |||
|
|||
JRT_ENTRY(void, SharedRuntime::notify_jvmti_mount(oopDesc* vt, jboolean hide, jboolean first_mount, JavaThread* current)) | |||
JRT_ENTRY(void, SharedRuntime::notify_jvmti_vthread_start(oopDesc* vt, jboolean dummy, JavaThread* current)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe rename dummy to hide and just assert is false in this case and true for the vthread_end case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good suggestion. Thank you.
@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 no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
Patricio, thank you a lot for review! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update copyrights, at leas in symbols-unix.
Leonid, thank you a lot for review! |
Done. |
/integrate |
Going to push as commit 1227a27. |
@@ -636,27 +636,29 @@ JRT_ENTRY(void, SharedRuntime::notify_jvmti_object_alloc(oopDesc* o, JavaThread* | |||
current->set_vm_result(h()); | |||
JRT_END | |||
|
|||
JRT_ENTRY(void, SharedRuntime::notify_jvmti_mount(oopDesc* vt, jboolean hide, jboolean first_mount, JavaThread* current)) | |||
JRT_ENTRY(void, SharedRuntime::notify_jvmti_vthread_start(oopDesc* vt, jboolean hide, JavaThread* current)) | |||
assert(hide == JNI_FALSE, "must be VTMS transition finish"); | |||
jobject vthread = JNIHandles::make_local(const_cast<oopDesc*>(vt)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the current thread is in the current
arg, it could be used here when creating the local handle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's right. Thanks.
This refactoring to separate ThreadStart/ThreadEnd events posting code in the JVMTI VTMS transitions is needed for future work on JVMTI scalability and performance improvements. It is to easier put this code on slow path.
Testing: mach5 tiers 1-6 were successful.
Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/13484/head:pull/13484
$ git checkout pull/13484
Update a local copy of the PR:
$ git checkout pull/13484
$ git pull https://git.openjdk.org/jdk.git pull/13484/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 13484
View PR using the GUI difftool:
$ git pr show -t 13484
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/13484.diff
Webrev
Link to Webrev Comment