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) {
|