< prev index next >

src/java.base/share/classes/jdk/internal/misc/JavaLangInvokeAccess.java

Print this page
rev 15353 : 8164044: Generate the corresponding BoundMethodHandle to all generated DirectMethodHandles
Reviewed-by: vlivanov, mhaupt


  34      */
  35     Object newMemberName();
  36 
  37     /**
  38      * Returns the name for the given MemberName. Used by {@see StackFrameInfo}.
  39      */
  40     String getName(Object mname);
  41 
  42     /**
  43      * Returns {@code true} if the given MemberName is a native method. Used by
  44      * {@see StackFrameInfo}.
  45      */
  46     boolean isNative(Object mname);
  47 
  48     /**
  49      * Returns a {@code byte[]} containing the bytecode for a class implementing
  50      * DirectMethodHandle of each pairwise combination of {@code MethodType} and
  51      * an {@code int} representing method type.  Used by
  52      * GenerateJLIClassesPlugin to generate such a class during the jlink phase.
  53      */
  54     byte[] generateDMHClassBytes(String className, MethodType[] methodTypes,
  55             int[] types);









  56 
  57     /**
  58      * Returns a {@code byte[]} containing the bytecode for a BoundMethodHandle
  59      * species class implementing the signature defined by {@code types}. Used
  60      * by GenerateBMHClassesPlugin to enable generation of such classes during
  61      * the jlink phase. Should do some added validation since this string may be
  62      * user provided.
  63      */
  64     Map.Entry<String, byte[]> generateConcreteBMHClassBytes(
  65             final String types);
  66 }


  34      */
  35     Object newMemberName();
  36 
  37     /**
  38      * Returns the name for the given MemberName. Used by {@see StackFrameInfo}.
  39      */
  40     String getName(Object mname);
  41 
  42     /**
  43      * Returns {@code true} if the given MemberName is a native method. Used by
  44      * {@see StackFrameInfo}.
  45      */
  46     boolean isNative(Object mname);
  47 
  48     /**
  49      * Returns a {@code byte[]} containing the bytecode for a class implementing
  50      * DirectMethodHandle of each pairwise combination of {@code MethodType} and
  51      * an {@code int} representing method type.  Used by
  52      * GenerateJLIClassesPlugin to generate such a class during the jlink phase.
  53      */
  54     byte[] generateDirectMethodHandleHolderClassBytes(String className,
  55             MethodType[] methodTypes, int[] types);
  56 
  57     /**
  58      * Returns a {@code byte[]} containing the bytecode for a class implementing
  59      * DelegatingMethodHandles of each {@code MethodType} kind in the
  60      * {@code methodTypes} argument.  Used by GenerateJLIClassesPlugin to
  61      * generate such a class during the jlink phase.
  62      */
  63     byte[] generateDelegatingMethodHandleHolderClassBytes(String className,
  64             MethodType[] methodTypes);
  65 
  66     /**
  67      * Returns a {@code byte[]} containing the bytecode for a BoundMethodHandle
  68      * species class implementing the signature defined by {@code types}. Used
  69      * by GenerateBMHClassesPlugin to enable generation of such classes during
  70      * the jlink phase. Should do some added validation since this string may be
  71      * user provided.
  72      */
  73     Map.Entry<String, byte[]> generateConcreteBMHClassBytes(
  74             final String types);
  75 }
< prev index next >