1 /*
  2  * Note: to run this test manually, you need to build the tests first to get native
  3  * libraries compiled, and then execute it with plain jtreg, like:
  4  *
  5  *  $ bin/jtreg -jdk:<path-to-tested-jdk> \
  6  *              -nativepath:<path-to-build-dir>/support/test/jdk/jtreg/native/lib/ \
  7  *              -concurrency:auto \
  8  *              ./test/jdk/java/foreign/TestMatrix.java
  9  */
 10 
 11 /*
 12  * @test id=UpcallHighArity-FFTT
 13  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 14  * @modules jdk.incubator.foreign/jdk.internal.foreign
 15  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
 16  *
 17  * @run testng/othervm/native/manual
 18  *   --enable-native-access=ALL-UNNAMED
 19  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
 20  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
 21  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
 22  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
 23  *   TestUpcallHighArity
 24  */
 25 
 26 /* @test id=UpcallHighArity-TFTT
 27  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 28  * @modules jdk.incubator.foreign/jdk.internal.foreign
 29  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
 30  *
 31  * @run testng/othervm/native/manual
 32  *   --enable-native-access=ALL-UNNAMED
 33  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
 34  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
 35  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
 36  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
 37  *   TestUpcallHighArity
 38  */
 39 
 40 /* @test id=UpcallHighArity-FTTT
 41  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 42  * @modules jdk.incubator.foreign/jdk.internal.foreign
 43  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
 44  *
 45  * @run testng/othervm/native/manual
 46  *   --enable-native-access=ALL-UNNAMED
 47  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
 48  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
 49  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
 50  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
 51  *   TestUpcallHighArity
 52  */
 53 
 54 /* @test id=UpcallHighArity-TTTT
 55  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 56  * @modules jdk.incubator.foreign/jdk.internal.foreign
 57  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
 58  *
 59  * @run testng/othervm/native/manual
 60  *   --enable-native-access=ALL-UNNAMED
 61  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
 62  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
 63  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
 64  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
 65  *   TestUpcallHighArity
 66  */
 67 
 68 /* @test id=UpcallHighArity-FFTF
 69  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 70  * @modules jdk.incubator.foreign/jdk.internal.foreign
 71  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
 72  *
 73  * @run testng/othervm/native/manual
 74  *   --enable-native-access=ALL-UNNAMED
 75  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
 76  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
 77  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
 78  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
 79  *   TestUpcallHighArity
 80  */
 81 
 82 /* @test id=UpcallHighArity-TFTF
 83  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 84  * @modules jdk.incubator.foreign/jdk.internal.foreign
 85  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
 86  *
 87  * @run testng/othervm/native/manual
 88  *   --enable-native-access=ALL-UNNAMED
 89  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
 90  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
 91  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
 92  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
 93  *   TestUpcallHighArity
 94  */
 95 
 96 /* @test id=UpcallHighArity-FTTF
 97  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
 98  * @modules jdk.incubator.foreign/jdk.internal.foreign
 99  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
100  *
101  * @run testng/othervm/native/manual
102  *   --enable-native-access=ALL-UNNAMED
103  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
104  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
105  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
106  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
107  *   TestUpcallHighArity
108  */
109 
110 /* @test id=UpcallHighArity-TTTF
111  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
112  * @modules jdk.incubator.foreign/jdk.internal.foreign
113  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
114  *
115  * @run testng/othervm/native/manual
116  *   --enable-native-access=ALL-UNNAMED
117  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
118  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
119  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
120  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
121  *   TestUpcallHighArity
122  */
123 
124 /* @test id=UpcallHighArity-FFFT
125  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
126  * @modules jdk.incubator.foreign/jdk.internal.foreign
127  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
128  *
129  * @run testng/othervm/native/manual
130  *   --enable-native-access=ALL-UNNAMED
131  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
132  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
133  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
134  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
135  *   TestUpcallHighArity
136  */
137 
138 /* @test id=UpcallHighArity-TFFT
139  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
140  * @modules jdk.incubator.foreign/jdk.internal.foreign
141  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
142  *
143  * @run testng/othervm/native/manual
144  *   --enable-native-access=ALL-UNNAMED
145  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
146  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
147  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
148  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
149  *   TestUpcallHighArity
150  */
151 
152 /* @test id=UpcallHighArity-FTFT
153  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
154  * @modules jdk.incubator.foreign/jdk.internal.foreign
155  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
156  *
157  * @run testng/othervm/native/manual
158  *   --enable-native-access=ALL-UNNAMED
159  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
160  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
161  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
162  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
163  *   TestUpcallHighArity
164  */
165 
166 /* @test id=UpcallHighArity-TTFT
167  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
168  * @modules jdk.incubator.foreign/jdk.internal.foreign
169  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
170  *
171  * @run testng/othervm/native/manual
172  *   --enable-native-access=ALL-UNNAMED
173  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
174  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
175  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
176  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
177  *   TestUpcallHighArity
178  */
179 
180 /* @test id=UpcallHighArity-FFFF
181  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
182  * @modules jdk.incubator.foreign/jdk.internal.foreign
183  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
184  *
185  * @run testng/othervm/native/manual
186  *   --enable-native-access=ALL-UNNAMED
187  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
188  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
189  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
190  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
191  *   TestUpcallHighArity
192  */
193 
194 /* @test id=UpcallHighArity-TFFF
195  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
196  * @modules jdk.incubator.foreign/jdk.internal.foreign
197  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
198  *
199  * @run testng/othervm/native/manual
200  *   --enable-native-access=ALL-UNNAMED
201  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
202  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
203  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
204  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
205  *   TestUpcallHighArity
206  */
207 
208 /* @test id=UpcallHighArity-FTFF
209  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
210  * @modules jdk.incubator.foreign/jdk.internal.foreign
211  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
212  *
213  * @run testng/othervm/native/manual
214  *   --enable-native-access=ALL-UNNAMED
215  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
216  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
217  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
218  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
219  *   TestUpcallHighArity
220  */
221 
222 /* @test id=UpcallHighArity-TTFF
223  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
224  * @modules jdk.incubator.foreign/jdk.internal.foreign
225  * @build NativeTestHelper CallGeneratorHelper TestUpcallHighArity
226  *
227  * @run testng/othervm/native/manual
228  *   --enable-native-access=ALL-UNNAMED
229  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
230  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
231  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
232  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
233  *   TestUpcallHighArity
234  */
235 
236 /* @test id=Downcall-FF
237  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
238  * @modules jdk.incubator.foreign/jdk.internal.foreign
239  * @build NativeTestHelper CallGeneratorHelper TestDowncall
240  *
241  * @run testng/othervm/manual
242  *   --enable-native-access=ALL-UNNAMED
243  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
244  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
245  *   TestDowncall
246  */
247 
248 /* @test id=Downcall-TF
249  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
250  * @modules jdk.incubator.foreign/jdk.internal.foreign
251  * @build NativeTestHelper CallGeneratorHelper TestDowncall
252  *
253  * @run testng/othervm/manual
254  *   --enable-native-access=ALL-UNNAMED
255  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
256  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
257  *   TestDowncall
258  */
259 
260 /* @test id=Downcall-FT
261  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
262  * @modules jdk.incubator.foreign/jdk.internal.foreign
263  * @build NativeTestHelper CallGeneratorHelper TestDowncall
264  *
265  * @run testng/othervm/manual
266  *   --enable-native-access=ALL-UNNAMED
267  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
268  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
269  *   TestDowncall
270  */
271 
272 /* @test id=Downcall-TT
273  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
274  * @modules jdk.incubator.foreign/jdk.internal.foreign
275  * @build NativeTestHelper CallGeneratorHelper TestDowncall
276  *
277  * @run testng/othervm/manual
278  *   --enable-native-access=ALL-UNNAMED
279  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
280  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
281  *   TestDowncall
282  */
283 
284 /* @test id=Upcall-TFTT
285  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
286  * @modules jdk.incubator.foreign/jdk.internal.foreign
287  * @build NativeTestHelper CallGeneratorHelper TestUpcall
288  *
289  * @run testng/othervm/manual
290  *   --enable-native-access=ALL-UNNAMED
291  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
292  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
293  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
294  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
295  *   TestUpcall
296  */
297 
298 /* @test id=Upcall-FTTT
299  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
300  * @modules jdk.incubator.foreign/jdk.internal.foreign
301  * @build NativeTestHelper CallGeneratorHelper TestUpcall
302  *
303  * @run testng/othervm/manual
304  *   --enable-native-access=ALL-UNNAMED
305  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
306  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
307  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
308  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
309  *   TestUpcall
310  */
311 
312 /* @test id=Upcall-TTTT
313  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
314  * @modules jdk.incubator.foreign/jdk.internal.foreign
315  * @build NativeTestHelper CallGeneratorHelper TestUpcall
316  *
317  * @run testng/othervm/manual
318  *   --enable-native-access=ALL-UNNAMED
319  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
320  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
321  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
322  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
323  *   TestUpcall
324  */
325 
326 /* @test id=Upcall-TFTF
327  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
328  * @modules jdk.incubator.foreign/jdk.internal.foreign
329  * @build NativeTestHelper CallGeneratorHelper TestUpcall
330  *
331  * @run testng/othervm/manual
332  *   --enable-native-access=ALL-UNNAMED
333  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
334  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
335  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
336  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
337  *   TestUpcall
338  */
339 
340 /* @test id=Upcall-FTTF
341  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
342  * @modules jdk.incubator.foreign/jdk.internal.foreign
343  * @build NativeTestHelper CallGeneratorHelper TestUpcall
344  *
345  * @run testng/othervm/manual
346  *   --enable-native-access=ALL-UNNAMED
347  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
348  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
349  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
350  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
351  *   TestUpcall
352  */
353 
354 /* @test id=Upcall-TTTF
355  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
356  * @modules jdk.incubator.foreign/jdk.internal.foreign
357  * @build NativeTestHelper CallGeneratorHelper TestUpcall
358  *
359  * @run testng/othervm/manual
360  *   --enable-native-access=ALL-UNNAMED
361  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
362  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
363  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=true
364  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
365  *   TestUpcall
366  */
367 
368 /* @test id=Upcall-TFFT
369  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
370  * @modules jdk.incubator.foreign/jdk.internal.foreign
371  * @build NativeTestHelper CallGeneratorHelper TestUpcall
372  *
373  * @run testng/othervm/manual
374  *   --enable-native-access=ALL-UNNAMED
375  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
376  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
377  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
378  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
379  *   TestUpcall
380  */
381 
382 /* @test id=Upcall-FTFT
383  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
384  * @modules jdk.incubator.foreign/jdk.internal.foreign
385  * @build NativeTestHelper CallGeneratorHelper TestUpcall
386  *
387  * @run testng/othervm/manual
388  *   --enable-native-access=ALL-UNNAMED
389  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
390  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
391  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
392  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
393  *   TestUpcall
394  */
395 
396 /* @test id=Upcall-TTFT
397  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
398  * @modules jdk.incubator.foreign/jdk.internal.foreign
399  * @build NativeTestHelper CallGeneratorHelper TestUpcall
400  *
401  * @run testng/othervm/manual
402  *   --enable-native-access=ALL-UNNAMED
403  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
404  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
405  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
406  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=true
407  *   TestUpcall
408  */
409 
410 /* @test id=Upcall-TFFF
411  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
412  * @modules jdk.incubator.foreign/jdk.internal.foreign
413  * @build NativeTestHelper CallGeneratorHelper TestUpcall
414  *
415  * @run testng/othervm/manual
416  *   --enable-native-access=ALL-UNNAMED
417  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
418  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=false
419  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
420  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
421  *   TestUpcall
422  */
423 
424 /* @test id=Upcall-FTFF
425  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
426  * @modules jdk.incubator.foreign/jdk.internal.foreign
427  * @build NativeTestHelper CallGeneratorHelper TestUpcall
428  *
429  * @run testng/othervm/manual
430  *   --enable-native-access=ALL-UNNAMED
431  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=false
432  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
433  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
434  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
435  *   TestUpcall
436  */
437 
438 /* @test id=Upcall-TTFF
439  * @requires ((os.arch == "amd64" | os.arch == "x86_64") & sun.arch.data.model == "64") | os.arch == "aarch64"
440  * @modules jdk.incubator.foreign/jdk.internal.foreign
441  * @build NativeTestHelper CallGeneratorHelper TestUpcall
442  *
443  * @run testng/othervm/manual
444  *   --enable-native-access=ALL-UNNAMED
445  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_SPEC=true
446  *   -Djdk.internal.foreign.ProgrammableInvoker.USE_INTRINSICS=true
447  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_SPEC=false
448  *   -Djdk.internal.foreign.ProgrammableUpcallHandler.USE_INTRINSICS=false
449  *   TestUpcall
450  */