-
Notifications
You must be signed in to change notification settings - Fork 721
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
Handle monitor enter/exit on value based instances (X86) #11358
Handle monitor enter/exit on value based instances (X86) #11358
Conversation
@hzongaro Henry, could you help review this one? Thanks! |
2d39bdb
to
3b44a9e
Compare
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 pretty good. Just a couple of comments.
ea1a96f
to
a9e5929
Compare
Henry @hzongaro All comments addressed. Ready for another review. Thanks! |
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!
@0xdaryl May I ask you to review this one? Thanks! |
a9e5929
to
07845c8
Compare
Add `areValueBasedMonitorChecksEnabled` which calls VM to check if value based class monitor check is enabled. Add `isValueBasedClass` and `isMonitorValueBased` to determine if a monitor object is a value based class instance. Related to JEP390 Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
If the monitor object type is value based class, VM will either issue a warning or throw an exception based on -XX:ValueBasedClassCheck option. If the monitor object type is unkonwn, insert a runtime memory check in monitor enter/exit on the class flag J9ClassIsValueBased. If the monitor object type is not value based class, proceed as how it is handled today. Value based class and value type are mutually exclusive. Related to JEP390 Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
07845c8
to
881cddc
Compare
Jenkins test sanity,extended xlinuxval jdknext |
Jenkins test sanity all jdknext |
Add
areValueBasedMonitorChecksEnabled
which calls VM to check if value based class monitor check is enabled.Add
isValueBasedClass
andisMonitorValueBased
to determine if a monitor object is a value based class instance.If the monitor object type is value based class, VM will either issue a warning or throw an exception
based on
-XX:ValueBasedClassCheck
option.If the monitor object type is unkonwn, insert a runtime memory check in monitor enter/exit on the class flag
J9ClassIsValueBased
.If the monitor object type is not value based class, proceed as how it is handled today.
Related to JEP390 #10620