-
Notifications
You must be signed in to change notification settings - Fork 737
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
Support using threadStatus field in JVM native #21043
base: master
Are you sure you want to change the base?
Conversation
6528e33
to
aa845d1
Compare
Personal test build on JDK 8 & 21 |
@babsingh 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.
Changes LGTM functionally. Minor nits.
For JDK21+, the j.l.Thread implementation is different. Have you opened the extension repo PRs? Will we need to coordinate the merge between this PR and the extension repo PRs?
Which JDK versions (11,17,21) and test suites (sanity.functional,sanity.openjdk) have you used to test these changes in your personal build?
Can you also squash the commits and link this PR to the following perf issue: #17251? |
@gacholio Can you also review these changes? |
Yes, I've opened PR for 21 & JDK next, see PR referenced above. will also include the link in PR description.
Testing have been done for 8,11,21 with sanity.functional & sanity.openjdk on xlinux |
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.
Looks good as far as it goes. We should attempt to transition to using the state field everywhere instead of attempting to derive it from various other states and bits (in a future PR).
Please squash the commits. |
I've created the extension change for JDK24, will test removing the sync block in JDK21+ locally to see if it is still needed after the started check have been moved before checking eetop |
Beware the possibility of out-of-order memory operations. |
d09ab6f
to
cd71984
Compare
Update thread status changes to j.l.Thread fields so getState() API can be called without needing to halt the target thread. Co-authored-by: Nathan Henderson <[email protected]> Signed-off-by: Jack Lu <[email protected]>
Signed-off-by: Jack Lu <[email protected]>
cd71984
to
09b5f25
Compare
squashed commits, updated extension changes |
|
Update thread status changes to j.l.Thread fields so getState() API
can be called without needing to halt the target thread.
Rework of #20550
Extension repo changes:
JDK21: ibmruntimes/openj9-openjdk-jdk21#246
JDK24: ibmruntimes/openj9-openjdk-jdk24#18
JDKnext: ibmruntimes/openj9-openjdk-jdk#927
Fixes: #17251
Co-authored-by: Nathan Henderson [email protected]
Signed-off-by: Jack Lu [email protected]