-
Notifications
You must be signed in to change notification settings - Fork 706
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
Update jvmtiGetStackTrace to support virtual thread #15788
Conversation
@fengxue-IS can you please take a look? |
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.
LGTM, can you verify that this change passes all the test under https://github.com/ibmruntimes/openj9-openjdk-jdk19/tree/openj9/test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace
Actually 4 tests failed, 2 are |
for unmatched stacktrace, if it is due to |
In test case 5:
got:
expected:
got:
|
Based on the stacktrace posted, looks like the unmatched portion is with |
ac1a74f
to
e9d304d
Compare
e9d304d
to
3c9673f
Compare
Also, remove markdown syntax from the commit message, and make sure the commit message body is wrapped at 72 chars, where reasonable. Ref: https://github.com/eclipse-openj9/openj9/blob/master/CONTRIBUTING.md#commit-guidelines. |
e46b1eb
to
f5c5eda
Compare
jenkins test sanity win,xlinux jdk11,jdk19 |
Refactors vm->internalVMFunctions to vmFuncs Adds a continuation object parameter to jvmtiInternalGetStackTrace. If targetThread is not null, the targetThread will be used, otherwise check if continuation object is not null and use that. In jvmtiGetStackTrace, adds a check for virtual thread, call jvmtiInternalGetStackTrace with the corresponding arguments depending on whether the thread is virtual or not. Adds an assertion to getVMThread to ensure that targetThread will be NULL for a virtual thread so the extra call to IS_VIRTUAL_THREAD can be avoided. Updates jvmtiGetFrameCount and jvmtiGetFrameLocation to remove the unnecessary IS_VIRTUAL_THREAD call. Updates the coding style of surrounding code Issues: eclipse-openj9#15759 eclipse-openj9#15183 Signed-off-by: Gengchen Tuo <gengchen.tuo@ibm.com>
f5c5eda
to
3c79790
Compare
jenkins test sanity win,xlinux jdk11,jdk19 |
@thallium PR builds have passed. Did your local reruns of the JVMTI serviceability tests from the extension repo pass with this PR? |
Results stays the same: GetFrameCount and GetFrameLocation passed and GetStackTrace 3/7 passed as expected. |
- Define vmFuncs only within the scope of its usage. - Initialize local variables. - Fix formatting. - Use Assert_JVMTI_unreachable instead of Assert_JVMTI_true. Related: eclipse-openj9#15788, eclipse-openj9#15813 Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
Refactors vm->internalVMFunctions to vmFuncs
Adds a continuation object parameter to jvmtiInternalGetStackTrace.
If targetThread is not null, the targetThread will be used, otherwise
check if continuation object is not null and use that.
In jvmtiGetStackTrace, adds a check for virtual thread, call
jvmtiInternalGetStackTrace with the corresponding arguments depending
on whether the thread is virtual or not.
Adds an assertion to getVMThread to ensure that targetThread will be
NULL for a virtual thread so the extra call to IS_VIRTUAL_THREAD can be
avoided.
Updates jvmtiGetFrameCount and jvmtiGetFrameLocation to remove the
unnecessary IS_VIRTUAL_THREAD call.
Updates the coding style of surrounding code
Issues: #15759 #15183
Signed-off-by: Gengchen Tuo gengchen.tuo@ibm.com