File tree Expand file tree Collapse file tree 2 files changed +11
-6
lines changed Expand file tree Collapse file tree 2 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -834,11 +834,12 @@ createField(struct J9VMThread *vmThread, jfieldID fieldID)
834834 J9VMJAVALANGREFLECTFIELD_SET_CLAZZ (vmThread , fieldObject , J9VM_J9CLASS_TO_HEAPCLASS (j9FieldID -> declaringClass ));
835835 J9VMJAVALANGREFLECTFIELD_SET_MODIFIERS (vmThread , fieldObject , j9FieldID -> field -> modifiers & CFR_FIELD_ACCESS_MASK );
836836#if JAVA_SPEC_VERSION >= 15
837- /* Trust that static final fields and final record or hidden class fields will not be modified. */
837+ /* Trust that static final fields, and final fields of hidden, record or value classes will not be modified. */
838838 if (J9_ARE_ALL_BITS_SET (j9FieldID -> field -> modifiers , J9AccFinal )) {
839839 if (J9_ARE_ALL_BITS_SET (j9FieldID -> field -> modifiers , J9AccStatic )
840- || J9ROMCLASS_IS_RECORD (j9FieldID -> declaringClass -> romClass )
841- || J9ROMCLASS_IS_HIDDEN (j9FieldID -> declaringClass -> romClass )
840+ || J9ROMCLASS_IS_HIDDEN (j9FieldID -> declaringClass -> romClass )
841+ || J9ROMCLASS_IS_RECORD (j9FieldID -> declaringClass -> romClass )
842+ || J9ROMCLASS_IS_VALUE (j9FieldID -> declaringClass -> romClass )
842843 ) {
843844#if defined(J9VM_OPT_VALHALLA_VALUE_TYPES )
844845 fieldFlags |= TRUST_FINAL ;
Original file line number Diff line number Diff line change @@ -1960,8 +1960,8 @@ class VM_VMHelpers
19601960 /* *
19611961 * Determine if the field is a trusted final field.
19621962 *
1963- * A trusted final field must have be a static final field or
1964- * a final field defined in either a hidden class or Record class
1963+ * A trusted final field must be a static final field or,
1964+ * a final field defined in a hidden, record or value class.
19651965 *
19661966 * @param field the field to be checked
19671967 * @param romClass the declaring class of the field
@@ -1972,7 +1972,11 @@ class VM_VMHelpers
19721972 {
19731973 bool result = false ;
19741974 if (J9_ARE_ALL_BITS_SET (field->modifiers , J9AccFinal)) {
1975- if (J9_ARE_ALL_BITS_SET (field->modifiers , J9AccStatic) || J9ROMCLASS_IS_HIDDEN (romClass) || J9ROMCLASS_IS_RECORD (romClass)) {
1975+ if (J9_ARE_ALL_BITS_SET (field->modifiers , J9AccStatic)
1976+ || J9ROMCLASS_IS_HIDDEN (romClass)
1977+ || J9ROMCLASS_IS_RECORD (romClass)
1978+ || J9ROMCLASS_IS_VALUE (romClass)
1979+ ) {
19761980 result = true ;
19771981 }
19781982 }
You can’t perform that action at this time.
0 commit comments