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

Fix Insertion of allocationFence #6628

Merged
merged 1 commit into from
Jul 31, 2019
Merged

Conversation

AlenBadel
Copy link
Contributor

@AlenBadel AlenBadel commented Jul 30, 2019

When compiling methods that include calls to constructors that initialize private fields in some cases an allocationfence was not inserted after the call.

Previously, isFinalFieldFromSuperClasses was incorrectly comparing the instance size of the superclass and the size of the field offset.
This was due to padding that could occur, causing the size of the superclass instance to be greater than it's actual size within the derived class.

isFinalFieldFromSuperClasses is removed in exchange for newly created jitGetDeclaringClassOfROMField that returns the J9Class which declares the given ROM field.

Signed-off-by: Alen Badel Alen.Badel@ibm.com

@AlenBadel AlenBadel force-pushed the bfix branch 2 times, most recently from 184a3db to 279ebce Compare July 30, 2019 18:12
When compiling methods that include calls to constructors that initialize private fields in some cases an allocationfence was not inserted after the call.

Previously, isFinalFieldFromSuperClasses was incorrectly comparing the instance size of the superclass and the size of the field offset.
This was due to padding that could occur, causing the size of the superclass instance to be greater than it's actual size within the derived class.

isFinalFieldFromSuperClasses is removed in exchange for newly created jitGetDeclaringClassOfROMField that returns the J9Class which declares the given ROM field.

Signed-off-by: Alen Badel <Alen.Badel@ibm.com>
@AlenBadel
Copy link
Contributor Author

Ready to review.
@gita-omr @andrewcraik @liqunl @gacholio @pdbain-ibm @zl-wang

runtime/compiler/ilgen/Walker.cpp Show resolved Hide resolved
runtime/compiler/ilgen/Walker.cpp Show resolved Hide resolved
@gacholio
Copy link
Contributor

Jenkins test sanity plinux jdk8 jdk11 jdk13

@andrewcraik andrewcraik merged commit b4a420b into eclipse-openj9:master Jul 31, 2019
@AlenBadel AlenBadel deleted the bfix branch May 14, 2020 14:28
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

6 participants