On Fri, 1 Aug 2025 16:16:01 GMT, Chen Liang <li...@openjdk.org> wrote:
>> Unsafe throws IAE for misusing static vs instance fields, and it's revealed >> that AtomicXxxFieldUpdaters are using this mechanism to reject static >> fields. This is not a good practice, but we can at least document this so we >> don't accidentally introduce problems. > > Chen Liang has updated the pull request incrementally with one additional > commit since the last revision: > > Test update advised by volkan src/java.base/share/classes/jdk/internal/misc/Unsafe.java line 1093: > 1091: * startup. This should not be used to find fields in non-trusted > code. > 1092: * Use the {@link #objectFieldOffset(Field) Field}-accepting > version for > 1093: * arbitrary fields instead. It’s also used to obtain offsets of fields in classes which have their fields filtered from reflection using `Reflection::registerFieldsToFilter(…)`, such as fields in `java.lang.ClassLoader` or `java.lang.Module`. src/java.base/share/classes/jdk/internal/misc/Unsafe.java line 1108: > 1106: if (result < 0) { > 1107: String type = switch ((int) result) { > 1108: case -2 -> "a static field"; Suggestion: case -2 -> "is a static field"; ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25945#discussion_r2248635899 PR Review Comment: https://git.openjdk.org/jdk/pull/25945#discussion_r2248630006