20 // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 // or visit www.oracle.com if you need additional information or have any
22 // questions.
23 //
24 //
25
26 import java.lang.invoke.MethodHandle;
27 import java.lang.invoke.MethodHandles;
28 import java.lang.invoke.MethodType;
29 import java.lang.reflect.Constructor;
30 import java.lang.reflect.Field;
31 import java.lang.reflect.Method;
32 import java.math.BigInteger;
33 import java.util.Arrays;
34 import java.util.Random;
35
36 /**
37 * @test
38 * @bug 8130150
39 * @library /testlibrary
40 * @requires (os.simpleArch == "x64") & (os.family != "windows")
41 * @summary Verify that the Montgomery multiply intrinsic works and correctly checks its arguments.
42 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseMontgomerySquareIntrinsic
43 * -XX:+UseMontgomeryMultiplyIntrinsic MontgomeryMultiplyTest
44 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseMontgomerySquareIntrinsic
45 * -XX:-UseMontgomeryMultiplyIntrinsic MontgomeryMultiplyTest
46 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseMontgomerySquareIntrinsic
47 * -XX:+UseMontgomeryMultiplyIntrinsic MontgomeryMultiplyTest
48 */
49
50 public class MontgomeryMultiplyTest {
51
52 static final MethodHandles.Lookup lookup = MethodHandles.lookup();
53
54 static final MethodHandle montgomeryMultiplyHandle, montgomerySquareHandle;
55 static final MethodHandle bigIntegerConstructorHandle;
56 static final Field bigIntegerMagField;
57
58 static {
59 // Use reflection to gain access to the methods we want to test.
60 try {
|
20 // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 // or visit www.oracle.com if you need additional information or have any
22 // questions.
23 //
24 //
25
26 import java.lang.invoke.MethodHandle;
27 import java.lang.invoke.MethodHandles;
28 import java.lang.invoke.MethodType;
29 import java.lang.reflect.Constructor;
30 import java.lang.reflect.Field;
31 import java.lang.reflect.Method;
32 import java.math.BigInteger;
33 import java.util.Arrays;
34 import java.util.Random;
35
36 /**
37 * @test
38 * @bug 8130150
39 * @library /testlibrary
40 * @requires (os.simpleArch == "x64")
41 * @summary Verify that the Montgomery multiply intrinsic works and correctly checks its arguments.
42 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseMontgomerySquareIntrinsic
43 * -XX:+UseMontgomeryMultiplyIntrinsic MontgomeryMultiplyTest
44 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseMontgomerySquareIntrinsic
45 * -XX:-UseMontgomeryMultiplyIntrinsic MontgomeryMultiplyTest
46 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseMontgomerySquareIntrinsic
47 * -XX:+UseMontgomeryMultiplyIntrinsic MontgomeryMultiplyTest
48 */
49
50 public class MontgomeryMultiplyTest {
51
52 static final MethodHandles.Lookup lookup = MethodHandles.lookup();
53
54 static final MethodHandle montgomeryMultiplyHandle, montgomerySquareHandle;
55 static final MethodHandle bigIntegerConstructorHandle;
56 static final Field bigIntegerMagField;
57
58 static {
59 // Use reflection to gain access to the methods we want to test.
60 try {
|