< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin.java

Print this page
rev 49203 : 8199453: Enable link-time generation of constructor forms
Reviewed-by: TBD


 130     private static Set<String> defaultInvokers() {
 131         return Set.of("LL_L", "LL_I", "LILL_I", "L6_L");
 132     }
 133 
 134     /**
 135      * @return the list of default DirectMethodHandle methods to generate.
 136      */
 137     private static Map<String, Set<String>> defaultDMHMethods() {
 138         return Map.of(
 139             DMH_INVOKE_VIRTUAL, Set.of("L_L", "LL_L", "LLI_I", "L3_V"),
 140             DMH_INVOKE_SPECIAL, Set.of("LL_I", "LL_L", "LLF_L", "LLD_L", "L3_L",
 141                 "L4_L", "L5_L", "L6_L", "L7_L", "L8_L", "LLI_I", "LLI_L",
 142                 "LLIL_I", "LLII_I", "LLII_L", "L3I_L", "L3I_I", "LLILI_I",
 143                 "LLIIL_L", "LLIILL_L", "LLIILL_I", "LLIIL_I", "LLILIL_I",
 144                 "LLILILL_I", "LLILII_I", "LLI3_I", "LLI3L_I", "LLI3LL_I",
 145                 "LLI3_L", "LLI4_I"),
 146             DMH_INVOKE_STATIC, Set.of("LII_I", "LIL_I", "LILIL_I", "LILII_I",
 147                 "L_I", "L_L", "L_V", "LD_L", "LF_L", "LI_I", "LII_L", "LLI_L",
 148                 "LL_V", "LL_L", "L3_L", "L4_L", "L5_L", "L6_L", "L7_L",
 149                 "L8_L", "L9_L", "L10_L", "L10I_L", "L10II_L", "L10IIL_L",
 150                 "L11_L", "L12_L", "L13_L", "L14_L", "L14I_L", "L14II_L")

 151         );
 152     }
 153 
 154     // Map from DirectMethodHandle method type to internal ID
 155     private static final Map<String, Integer> DMH_METHOD_TYPE_MAP =
 156             Map.of(
 157                 DMH_INVOKE_VIRTUAL,     0,
 158                 DMH_INVOKE_STATIC,      1,
 159                 DMH_INVOKE_SPECIAL,     2,
 160                 DMH_NEW_INVOKE_SPECIAL, 3,
 161                 DMH_INVOKE_INTERFACE,   4,
 162                 DMH_INVOKE_STATIC_INIT, 5
 163             );
 164 
 165     @Override
 166     public void configure(Map<String, String> config) {
 167         mainArgument = config.get(NAME);
 168     }
 169 
 170     public void initialize(ResourcePool in) {




 130     private static Set<String> defaultInvokers() {
 131         return Set.of("LL_L", "LL_I", "LILL_I", "L6_L");
 132     }
 133 
 134     /**
 135      * @return the list of default DirectMethodHandle methods to generate.
 136      */
 137     private static Map<String, Set<String>> defaultDMHMethods() {
 138         return Map.of(
 139             DMH_INVOKE_VIRTUAL, Set.of("L_L", "LL_L", "LLI_I", "L3_V"),
 140             DMH_INVOKE_SPECIAL, Set.of("LL_I", "LL_L", "LLF_L", "LLD_L", "L3_L",
 141                 "L4_L", "L5_L", "L6_L", "L7_L", "L8_L", "LLI_I", "LLI_L",
 142                 "LLIL_I", "LLII_I", "LLII_L", "L3I_L", "L3I_I", "LLILI_I",
 143                 "LLIIL_L", "LLIILL_L", "LLIILL_I", "LLIIL_I", "LLILIL_I",
 144                 "LLILILL_I", "LLILII_I", "LLI3_I", "LLI3L_I", "LLI3LL_I",
 145                 "LLI3_L", "LLI4_I"),
 146             DMH_INVOKE_STATIC, Set.of("LII_I", "LIL_I", "LILIL_I", "LILII_I",
 147                 "L_I", "L_L", "L_V", "LD_L", "LF_L", "LI_I", "LII_L", "LLI_L",
 148                 "LL_V", "LL_L", "L3_L", "L4_L", "L5_L", "L6_L", "L7_L",
 149                 "L8_L", "L9_L", "L10_L", "L10I_L", "L10II_L", "L10IIL_L",
 150                 "L11_L", "L12_L", "L13_L", "L14_L", "L14I_L", "L14II_L"),
 151             DMH_NEW_INVOKE_SPECIAL, Set.of("L_L", "LL_L")
 152         );
 153     }
 154 
 155     // Map from DirectMethodHandle method type to internal ID
 156     private static final Map<String, Integer> DMH_METHOD_TYPE_MAP =
 157             Map.of(
 158                 DMH_INVOKE_VIRTUAL,     0,
 159                 DMH_INVOKE_STATIC,      1,
 160                 DMH_INVOKE_SPECIAL,     2,
 161                 DMH_NEW_INVOKE_SPECIAL, 3,
 162                 DMH_INVOKE_INTERFACE,   4,
 163                 DMH_INVOKE_STATIC_INIT, 5
 164             );
 165 
 166     @Override
 167     public void configure(Map<String, String> config) {
 168         mainArgument = config.get(NAME);
 169     }
 170 
 171     public void initialize(ResourcePool in) {


< prev index next >