On Wed, 7 May 2025 07:46:45 GMT, Per Minborg <pminb...@openjdk.org> wrote:
>> This sketch shows how "Stable Updaters" can be used to create stable >> computations of `@Stable` fields. Only one updater is needed per class, >> similar to `AtomicIntegerFieldUpdater`. > > Per Minborg has updated the pull request incrementally with one additional > commit since the last revision: > > Add a method handle based field updater src/java.base/share/classes/jdk/internal/lang/stable/StableFieldUpdater.java line 173: > 171: if (!underlying.type().parameterType(0).equals(Object.class)) { > 172: underlying = > underlying.asType(underlying.type().changeParameterType(0, Object.class)); > 173: } Suggestion: var type = underlying.type(); if (type.returnType() != int.class || type.parameterCount() != 1) { throw new IllegalArgumentException("Illegal underlying function: " + underlying); } if (!type.parameterType(0).equals(Object.class)) { underlying = underlying.asType(type.changeParameterType(0, Object.class)); } underlying.type() is used 4 times, local variables should be used ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25040#discussion_r2077031643