-
Notifications
You must be signed in to change notification settings - Fork 728
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recognize and transform redundant calls in MH.invokeExact MethodHandle chain #11118
Recognize and transform redundant calls in MH.invokeExact MethodHandle chain #11118
Conversation
@andrewcraik @liqunl Requesting review. |
@liqunl can you make a first pass please? |
69c3a73
to
0c513f2
Compare
0c513f2
to
3eeca8a
Compare
@0xdaryl Requesting review |
Jenkins test sanity all jdknext |
I found that RecongnizedCallTransformer is not a good place for MH opts, as transforming these recognized MH methods usually requires known object info, and we need final field folding to discover more known objects, also a way to propagate known object from autos to the call sites. I'm adding a new opt to do this, and all the transformations should go there. |
Changing this PR to Draft state until we move these optimizations to a new opt. |
3eeca8a
to
e2548f2
Compare
Invokers contain some methods that are called to verify program correctness from MethodHandle adapter methods and LamdaForm methods. Recognizing these methods are required if we want to transform these calls when they are not necessary. Signed-off-by: Nazim Bhuiyan <[email protected]>
e2548f2
to
7aff3ec
Compare
Jenkins test sanity all jdk11,jdknext |
@liqunl : please approve if you are satisfied with the latest changes. |
Other changes LGTM |
The following calls will be recognized and transformed as part of the MethodHandleTransformer opt: * Invokers.checkExactType * Invokers.checkCustomized Signed-off-by: Nazim Bhuiyan <[email protected]>
7aff3ec
to
48a447a
Compare
Jenkins test sanity xlinux,plinux,zlinux jdknext Previous sanity testing passed. I am going to just launch a shortened sanity run for the minor edits. |
This changeset includes the following:
java/lang/invoke/Invokers
methods that require handling in RecognizedCallTransformerInvokers.checkExactType
to a ZEROCHKInvokers.checkCustomized
calls when MethodHandle is a known objectIssue: #10618