RFR: 8265135: Reduce work initializing VarForms

Paul Sandoz psandoz at openjdk.java.net
Tue Apr 13 23:12:59 UTC 2021


On Tue, 13 Apr 2021 18:11:37 GMT, Claes Redestad <redestad at openjdk.org> wrote:

> This patch reduces work done initializing VarForms - mostly observed when loading each VarHandle implementation class.
> 
> - Lazily resolve MemberNames.
> - Streamline MethodType creation. This reduces the number of MethodTypes created. 
> 
> Net effect is a reduction in bytecode executed per VH class by 50-60%.

Very nice.

src/java.base/share/classes/java/lang/invoke/VarForm.java line 130:

> 128:         } catch (NoSuchMethodException | IllegalAccessException e) {
> 129:             throw new UnsupportedOperationException();
> 130:         }

Suggestion:

        } catch (ReflectiveOperationException e) {
                throw newInternalError("Failed resolving VarHandle member name", ex);
        }

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

Marked as reviewed by psandoz (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3472


More information about the core-libs-dev mailing list