Skip to content
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

Use JNI refs for virtual thread objects during JVMTI suspend #16661

Merged
merged 1 commit into from Feb 3, 2023

Conversation

babsingh
Copy link
Contributor

@babsingh babsingh commented Feb 2, 2023

(jthread)&walkVirtualThread is not a JNI ref, and it will not be
updated by the GC when VM access is released in
suspendhelper.cpp::suspendThread.

Now, JNI refs are used to pass virtual thread objects during JVMTI
suspend. This assures that the GC updates them.

Related: #16593

Signed-off-by: Babneet Singh sbabneet@ca.ibm.com

@babsingh babsingh force-pushed the fix_vthread_jvmti_suspend branch 4 times, most recently from f6d2a4f to 2c8cad6 Compare February 2, 2023 21:24
@babsingh babsingh marked this pull request as ready for review February 2, 2023 21:32
@babsingh
Copy link
Contributor Author

babsingh commented Feb 2, 2023

@gacholio Can you please review/merge this PR?

(jthread)&walkVirtualThread is not a JNI ref, and it will not be
updated by the GC when VM access is released in
suspendhelper.cpp::suspendThread.

Now, JNI refs are used to pass virtual thread objects during JVMTI
suspend. This assures that the GC updates them.

Related: eclipse-openj9#16593

Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
@gacholio
Copy link
Contributor

gacholio commented Feb 3, 2023

jenkins test sanity zlinux jdk19

@gacholio gacholio merged commit 203dfe4 into eclipse-openj9:master Feb 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants