On Mon, 5 Apr 2021 12:37:06 GMT, Vladimir Ivanov <vliva...@openjdk.org> wrote:
>> Jorn Vernee has updated the pull request incrementally with one additional >> commit since the last revision: >> >> - Revert back to injected constructor handle >> - Add lambda form sharing >> - Add test case for collecting a custom class > > src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java line 1909: > >> 1907: boolean isSharedLambdaForm = parameterCount == 0 || >> basicType.parameterType(0) == Object.class; >> 1908: if (isSharedLambdaForm) { >> 1909: LambdaForm lform = >> basicType.form().cachedLambdaForm(MethodTypeForm.LF_COLLECTOR); > > How does sharing work w.r.t. array store check? Unless you put `storeFunc` on > the BMH, I don't see how sharing preserves proper check. Nevermind, it's the type of the method handle produced by `makeCollector` which ensures that all the arguments have proper type. ------------- PR: https://git.openjdk.java.net/jdk/pull/3306