On Wed, 5 Apr 2023 13:22:30 GMT, Jorn Vernee <jver...@openjdk.org> wrote:

>> Chen Liang has updated the pull request with a new target base due to a 
>> merge or a rebase. The incremental webrev excludes the unrelated changes 
>> brought in by the merge/rebase. The pull request contains 13 additional 
>> commits since the last revision:
>> 
>>  - Use a dumper for interface instances, other cleanup
>>  - Merge branch 'master' into explore/mhp-iface
>>  - Merge branch 'master' into explore/mhp-iface
>>  - Remove unused JavaLangReflectReflectAccess.invokeDefault
>>  - rethrow error
>>  - Benchmark compareing to lamda metafactory, various minor updates
>>  - Cache the spinned class, loading is still slow
>>  - Wrapper instance type is already available
>>  - mark records as private
>>  - Merge branch 'master' into explore/mhp-iface
>>  - ... and 3 more: https://git.openjdk.org/jdk/compare/3fd633cd...0eec507d
>
> src/java.base/share/classes/java/lang/invoke/MethodHandleProxies.java line 
> 213:
> 
>> 211:                     .defineClassAsLookup(true, List.of(mhs));
>> 212:             proxy = lookup.findConstructor(lookup.lookupClass(), 
>> methodType(void.class))
>> 213:                     .asType(methodType(Object.class)).invokeExact();
> 
> This can use `invoke` instead of an explicit `asType` and `invokeExact`. It 
> is more or less the same.
> Suggestion:
> 
>             proxy = lookup.findConstructor(lookup.lookupClass(), 
> methodType(void.class)).invoke();

@JornVernee Is there any performance difference with `invokeExact` vs `invoke`? 
  I have the impression there is.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13197#discussion_r1160099637

Reply via email to