38 + "bytes\\)\\s+\\(intrinsic[,\\)]"; |
38 + "bytes\\)\\s+\\(intrinsic[,\\)]"; |
39 public static final String USE_AES = "UseAES"; |
39 public static final String USE_AES = "UseAES"; |
40 public static final String USE_AES_INTRINSICS = "UseAESIntrinsics"; |
40 public static final String USE_AES_INTRINSICS = "UseAESIntrinsics"; |
41 public static final String USE_SSE = "UseSSE"; |
41 public static final String USE_SSE = "UseSSE"; |
42 public static final String USE_VIS = "UseVIS"; |
42 public static final String USE_VIS = "UseVIS"; |
|
43 public static final String[] USE_DIAGNOSTIC_CMD |
|
44 = {"-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintIntrinsics"}; |
43 public static final String[] TEST_AES_CMD |
45 public static final String[] TEST_AES_CMD |
44 = {"-XX:+IgnoreUnrecognizedVMOptions", "-XX:+PrintFlagsFinal", |
46 = {"-XX:+IgnoreUnrecognizedVMOptions", "-XX:+PrintFlagsFinal", |
45 "-Xbatch","-XX:+UnlockDiagnosticVMOptions", |
47 "-Xbatch", "-DcheckOutput=true", "-Dmode=CBC", |
46 "-XX:+PrintIntrinsics", "-DcheckOutput=true", "-Dmode=CBC", |
|
47 "TestAESMain"}; |
48 "TestAESMain"}; |
48 |
49 |
49 protected AESIntrinsicsBase(BooleanSupplier predicate) { |
50 protected AESIntrinsicsBase(BooleanSupplier predicate) { |
50 super(predicate); |
51 super(predicate); |
51 } |
52 } |
52 |
53 |
53 /** |
54 /** |
54 * Prepares command for TestAESMain execution. |
55 * Prepares command for TestAESMain execution. |
|
56 * Intrinsics flags are of diagnostic type |
|
57 * and must be preceded by UnlockDiagnosticVMOptions. |
55 * @param args flags that must be added to command |
58 * @param args flags that must be added to command |
56 * @return command for TestAESMain execution |
59 * @return command for TestAESMain execution |
57 */ |
60 */ |
58 public static String[] prepareArguments(String... args) { |
61 public static String[] prepareArguments(String... args) { |
59 String[] command = Arrays.copyOf(args, TEST_AES_CMD.length |
62 String[] command = Arrays.copyOf(USE_DIAGNOSTIC_CMD, args.length |
60 + args.length); |
63 + USE_DIAGNOSTIC_CMD.length + TEST_AES_CMD.length); |
61 System.arraycopy(TEST_AES_CMD, 0, command, args.length, |
64 System.arraycopy(args, 0, command, USE_DIAGNOSTIC_CMD.length, |
62 TEST_AES_CMD.length); |
65 args.length); |
|
66 System.arraycopy(TEST_AES_CMD, 0, command, args.length |
|
67 + USE_DIAGNOSTIC_CMD.length, TEST_AES_CMD.length); |
63 return command; |
68 return command; |
64 } |
69 } |
65 } |
70 } |