mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8182397: Race in field updates when creating ArrayKlasses can lead to crash
Update array_klass field in component mirror after klass.java_mirror field for concurrent readers in compiled code Reviewed-by: aph, kbarrett
This commit is contained in:
parent
fe6e4eb1e0
commit
fd08aa9cef
5 changed files with 108 additions and 16 deletions
|
@ -446,6 +446,10 @@ void oopDesc::obj_field_put_volatile(int offset, oop value) {
|
|||
Metadata* oopDesc::metadata_field(int offset) const { return *metadata_field_addr(offset); }
|
||||
void oopDesc::metadata_field_put(int offset, Metadata* value) { *metadata_field_addr(offset) = value; }
|
||||
|
||||
void oopDesc::release_metadata_field_put(int offset, Metadata* value) {
|
||||
OrderAccess::release_store_ptr(metadata_field_addr(offset), value);
|
||||
}
|
||||
|
||||
jbyte oopDesc::byte_field(int offset) const { return (jbyte) *byte_field_addr(offset); }
|
||||
void oopDesc::byte_field_put(int offset, jbyte contents) { *byte_field_addr(offset) = (jint) contents; }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue