hotspot/test/compiler/cpuflags/AESIntrinsicsBase.java
changeset 38285 20b85a0ba796
parent 35122 3f7b7fe1bfcb
child 40059 c2304140ed64
equal deleted inserted replaced
38284:772923492a70 38285:20b85a0ba796
    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 }