src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File jdk Sdiff src/java.base/share/classes/java/lang/invoke

src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java

Print this page
rev 11258 : 8069591: Customize LambdaForms which are invoked using MH.invoke/invokeExact
Reviewed-by: ?


 676                                 .getDeclaredMethod("staticBase", Object.class)),
 677                         NF_staticOffset = new NamedFunction(DirectMethodHandle.class
 678                                 .getDeclaredMethod("staticOffset", Object.class)),
 679                         NF_checkCast = new NamedFunction(DirectMethodHandle.class
 680                                 .getDeclaredMethod("checkCast", Object.class, Object.class)),
 681                         NF_allocateInstance = new NamedFunction(DirectMethodHandle.class
 682                                 .getDeclaredMethod("allocateInstance", Object.class)),
 683                         NF_constructorMethod = new NamedFunction(DirectMethodHandle.class
 684                                 .getDeclaredMethod("constructorMethod", Object.class))
 685                 };
 686                 for (NamedFunction nf : nfs) {
 687                     // Each nf must be statically invocable or we get tied up in our bootstraps.
 688                     assert(InvokerBytecodeGenerator.isStaticallyInvocable(nf.member)) : nf;
 689                     nf.resolve();
 690                 }
 691             } catch (ReflectiveOperationException ex) {
 692                 throw newInternalError(ex);
 693             }
 694         }
 695     }





 696 }


 676                                 .getDeclaredMethod("staticBase", Object.class)),
 677                         NF_staticOffset = new NamedFunction(DirectMethodHandle.class
 678                                 .getDeclaredMethod("staticOffset", Object.class)),
 679                         NF_checkCast = new NamedFunction(DirectMethodHandle.class
 680                                 .getDeclaredMethod("checkCast", Object.class, Object.class)),
 681                         NF_allocateInstance = new NamedFunction(DirectMethodHandle.class
 682                                 .getDeclaredMethod("allocateInstance", Object.class)),
 683                         NF_constructorMethod = new NamedFunction(DirectMethodHandle.class
 684                                 .getDeclaredMethod("constructorMethod", Object.class))
 685                 };
 686                 for (NamedFunction nf : nfs) {
 687                     // Each nf must be statically invocable or we get tied up in our bootstraps.
 688                     assert(InvokerBytecodeGenerator.isStaticallyInvocable(nf.member)) : nf;
 689                     nf.resolve();
 690                 }
 691             } catch (ReflectiveOperationException ex) {
 692                 throw newInternalError(ex);
 693             }
 694         }
 695     }
 696 
 697     void customize() {
 698         assert(form.customized == null);
 699         // No need to customize DMHs.
 700     }
 701 }
src/java.base/share/classes/java/lang/invoke/DirectMethodHandle.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File