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

0.39.0: Insert branch around re performing store for awrtbar #17530

Conversation

r30shah
Copy link
Contributor

@r30shah r30shah commented Jun 5, 2023

In case of balanced GC policy, we generated code for awrtbar where in case of Non-NULL object stored into array object, it will re performing storing to avoid branching around which may have been cheaper. This re performing storing in the same object field twice for awrtbarrier somehow causing issue in unit test for PingPong using virtual threads where we end up with incorrect state in the array of ForkJoinTask causing one of the producer or consumer thread to be in waiting state. Change in this commit inserts the branch around the second store where we would jump to in case on runtime we encounter the null object store which can bypass costly write barrier checks.

In case of balanced GC policy, we generated code for awrtbar where in
case of Non-NULL object stored into array object, it will re performing
storing to avoid branching around which may have been cheaper. This re
performing storing in the same object field twice for awrtbarrier
somehow causing issue in unit test for PingPong using virtual threads
where we end up with incorrect state in the array of ForkJoinTask
causing one of the producer or consumer thread to be in waiting state.
Change in this commit inserts the branch around the second store where
we would jump to in case on runtime we encounter the null object store
which can bypass costly write barrier checks.

Fixes: eclipse-openj9#17255

Signed-off-by: Rahil Shah <rahil@ca.ibm.com>
@r30shah
Copy link
Contributor Author

r30shah commented Jun 5, 2023

@pshipton created a PR against 0.39 to backport #17517

@r30shah r30shah changed the title 0.39.0: Fix awrtbarrier store for balanced 0.39.0: Insert branch around re performing store for awrtbar Jun 5, 2023
@pshipton pshipton merged commit 19b0de6 into eclipse-openj9:v0.39.0-release Jun 6, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants