hotspot/test/runtime/7116786/Test7116786.java
author stsmirno
Mon, 17 Oct 2016 18:54:12 -0400
changeset 41705 332239c052cc
parent 25900 a41d63a62923
permissions -rw-r--r--
8165687: Fix license and copyright headers in jd9 under hotspot/test Summary: Legal notices and Oracle copyrights were updated (white and blank space, commas) in tests files for uniformity to meet Oracle requirements. Reviewed-by: dholmes, iris Contributed-by: Stanislav Smirnov <stanislav.smirnov@oracle.com>, Vassili Igouchkine <vassili.igouchkine@oracle.com>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     1
/*
25900
a41d63a62923 8046233: VerifyError on backward branch
hseigel
parents: 16589
diff changeset
     2
 * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     4
 *
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     7
 * published by the Free Software Foundation.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     8
 *
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    13
 * accompanied this code).
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    14
 *
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    18
 *
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    21
 * questions.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    22
 */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    23
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    24
/*
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    25
 * @test Test7116786
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    26
 * @summary verify that VerifyError messages are as expected
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    27
 * @library testcases.jar
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    28
 * @run main/othervm -Xverify:all Test7116786
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    29
 */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    30
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    31
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    32
/**
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    33
 * This class contains information regarding when a VerifyError is thrown
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    34
 * in the verifier.  Most of the data is informational-only, and can be
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    35
 * used to track down where and why VerifyErrors are thrown.  As such it
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    36
 * is possible the information may go out-of-date.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    37
 *
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    38
 * The only fields used for the purpose of testing is the 'caseName' and
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    39
 * the 'message'.  The 'caseName' corresponds to a classfile which exhibits
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    40
 * the VerifyError, and the 'message' is a regular expression which we expect
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    41
 * to match the verify error message.  If the 'message' doesn't match what
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    42
 * we expect, it warrents investigation to see if we are still triggering
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    43
 * the VerifyError that we expect.  It could simply just be that the message
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    44
 * changed, which is fine.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    45
 *
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    46
 * Some cases are not testable, either because the code is probably unreachable
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    47
 * or the test classfile would be too onerous to create.  These cases are
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    48
 * marked with 'testable' == false, and the test runner will skip them.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    49
 */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    50
class Case {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    51
    private String caseName;    // Name of the case
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    52
    private String file;        // Source file where VerifyError is thrown
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    53
    private String location;    // enclosing function or switch case
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    54
    private String description; // What causes this VerifyError
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    55
    private String message;     // The VerifyError message used.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    56
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    57
    private boolean testable;   // Whether this case is testable or not.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    58
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    59
    public Case(String caseName, String file, boolean testable,
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    60
                String location, String description, String message) {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    61
        this.caseName = caseName;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    62
        this.file = file;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    63
        this.testable = testable;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    64
        this.location = location;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    65
        this.description = description;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    66
        this.message = message;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    67
    }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    68
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    69
    String getCaseName() { return this.caseName; }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    70
    String getFile() { return this.file; }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    71
    String getLocation() { return this.location; }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    72
    String getDescription() { return this.description; }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    73
    String getMessage() { return this.message; }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    74
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    75
    boolean isTestable() { return this.testable; }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    76
}
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    77
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    78
/**
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    79
 * These are the locations in the source code where VerifyErrors are thrown
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    80
 * as of today, 2012/07/18.  These may change as the verification code is
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    81
 * modified, which is ok.  This test is trying to provide coverage for all
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    82
 * VerifyErrors (just to make sure there are no crashes) and it's probably
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    83
 * not necessary to update it every time the VM changes.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    84
 */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    85
class VerifyErrorCases {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    86
    public static final Case[] cases = {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    87
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    88
        new Case("case00", "stackMapFrame.cpp", true, "pop_stack_ex",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    89
                 "stack underflow",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    90
                 "Operand stack underflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    91
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    92
        new Case("case01", "stackMapFrame.cpp", true, "pop_stack_ex",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    93
                 "stack pop not assignable to expected",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    94
                 "Bad type on operand stack"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    95
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    96
        new Case("case02", "stackMapFrame.cpp", true, "get_local",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    97
                 "local index out-of-bounds",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    98
                 "Local variable table overflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
    99
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   100
        new Case("case03", "stackMapFrame.cpp", true, "get_local",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   101
                 "local not assignable to expected",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   102
                 "Bad local variable type"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   103
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   104
        new Case("case04", "stackMapFrame.cpp", true, "get_local_2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   105
                 "local index out-of-bounds [type2]",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   106
                 "get long/double overflows locals"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   107
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   108
        new Case("case05", "stackMapFrame.cpp", true, "get_local_2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   109
                 "local not assignabled to expected [type2]",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   110
                 "Bad local variable type"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   111
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   112
        /* Unreachable: Can't split long/double on stack */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   113
        new Case("case06", "stackMapFrame.cpp", false, "get_local_2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   114
                 "local second-word not assignabled to expected",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   115
                 "Bad local variable type"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   116
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   117
        new Case("case07", "stackMapFrame.cpp", true, "set_local",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   118
                 "local index out-of-bounds",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   119
                 "Local variable table overflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   120
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   121
        new Case("case08", "stackMapFrame.cpp", true, "set_local_2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   122
                 "local index out-of-bounds [type2]",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   123
                 "Local variable table overflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   124
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   125
        new Case("case09", "stackMapFrame.hpp", true, "push_stack",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   126
                 "stack overflow",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   127
                 "Operand stack overflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   128
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   129
        new Case("case10", "stackMapFrame.hpp", true, "push_stack_2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   130
                 "stack overflow [type2]",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   131
                 "Operand stack overflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   132
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   133
        new Case("case11", "stackMapFrame.hpp", true, "pop_stack",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   134
                 "stack underflow",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   135
                 "Operand stack underflow"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   136
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   137
        new Case("case12", "stackMapTable.cpp", true, "StackMapTable ctor",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   138
                 "stackmap offset beyond code size",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   139
                 "StackMapTable error: bad offset"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   140
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   141
        new Case("case13", "stackMapTable.cpp", true, "match_stackmap",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   142
                 "no stackmap frame at expected location",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   143
                 "Expecting a stackmap frame at branch target "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   144
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   145
        new Case("case14", "stackMapTable.cpp", true, "check_jump_target",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   146
                 "no stackmap frame at jump location or bad jump",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   147
                 "Inconsistent stackmap frames at branch target "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   148
25900
a41d63a62923 8046233: VerifyError on backward branch
hseigel
parents: 16589
diff changeset
   149
        /* Backward jump with uninit is allowed starting with JDK 8 */
a41d63a62923 8046233: VerifyError on backward branch
hseigel
parents: 16589
diff changeset
   150
        new Case("case15", "stackMapTable.cpp", false, "check_new_object",
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   151
                 "backward jump with uninit",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   152
                 "Uninitialized object exists on backward branch "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   153
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   154
        /* Unreachable: wide instructions verified during bytecode analysis */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   155
        new Case("case16", "verifier.cpp", false, "loop header",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   156
                 "bad op in wide instruction",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   157
                 "Bad wide instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   158
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   159
        new Case("case17", "verifier.cpp", true, "case iaload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   160
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   161
                 "Bad type on operand stack in iaload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   162
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   163
        new Case("case18", "verifier.cpp", true, "case baload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   164
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   165
                 "Bad type on operand stack in baload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   166
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   167
        new Case("case19", "verifier.cpp", true, "case caload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   168
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   169
                 "Bad type on operand stack in caload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   170
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   171
        new Case("case20", "verifier.cpp", true, "case saload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   172
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   173
                 "Bad type on operand stack in saload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   174
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   175
        new Case("case21", "verifier.cpp", true, "case laload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   176
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   177
                 "Bad type on operand stack in laload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   178
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   179
        new Case("case22", "verifier.cpp", true, "case faload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   180
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   181
                 "Bad type on operand stack in faload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   182
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   183
        new Case("case23", "verifier.cpp", true, "case daload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   184
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   185
                 "Bad type on operand stack in daload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   186
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   187
        new Case("case24", "verifier.cpp", true, "case aaload",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   188
                 "TOS not X array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   189
                 "Bad type on operand stack in aaload"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   190
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   191
        new Case("case25", "verifier.cpp", true, "case iastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   192
                 "TOS not int array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   193
                 "Bad type on operand stack in iastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   194
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   195
        new Case("case26", "verifier.cpp", true, "case bastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   196
                 "TOS not byte array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   197
                 "Bad type on operand stack in bastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   198
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   199
        new Case("case27", "verifier.cpp", true, "case castore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   200
                 "TOS not char array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   201
                 "Bad type on operand stack in castore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   202
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   203
        new Case("case28", "verifier.cpp", true, "case sastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   204
                 "TOS not short array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   205
                 "Bad type on operand stack in sastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   206
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   207
        new Case("case29", "verifier.cpp", true, "case lastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   208
                 "TOS not long array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   209
                 "Bad type on operand stack in lastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   210
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   211
        new Case("case30", "verifier.cpp", true, "case fastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   212
                 "TOS not float array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   213
                 "Bad type on operand stack in fastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   214
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   215
        new Case("case31", "verifier.cpp", true, "case dastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   216
                 "TOS not double array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   217
                 "Bad type on operand stack in dastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   218
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   219
        new Case("case32", "verifier.cpp", true, "case aastore",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   220
                 "TOS not object array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   221
                 "Bad type on operand stack in aastore"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   222
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   223
        /* Unreachable: In order to hit this case, we would need a
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   224
         * category2_1st at TOS which is not possible. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   225
        new Case("case33", "verifier.cpp", false, "case pop2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   226
                 "TOS is category2_1st (would split)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   227
                 "Bad type on operand stack in pop2"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   228
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   229
        /* Unreachable: In order to hit this case, we would need a
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   230
         * category2_1st at stack depth 2 with category_1 on TOS which is not
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   231
         * possible. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   232
        new Case("case34", "verifier.cpp", false, "case dup_x2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   233
                 "TOS-1 is category2_1st (would split)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   234
                 "Bad type on operand stack in dup_x2"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   235
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   236
        /* Unreachable: In order to hit this case, we would need a
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   237
         * category2_1st at TOS which is not possible. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   238
        new Case("case35", "verifier.cpp", false, "case dup2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   239
                 "TOS-1 is category2_1st (would split)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   240
                 "Bad type on operand stack in dup2"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   241
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   242
        /* Unreachable: In order to hit this case, we would need a
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   243
         * category2_1st at TOS which is not possible. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   244
        new Case("case36", "verifier.cpp", false, "case dup2_x1",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   245
                 "TOS-1 is category2_1st (would split)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   246
                 "Bad type on operand stack in dup2_x1"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   247
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   248
        /* Unreachable: In order to hit this case, we would need a
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   249
         * category2_1st at TOS which is not possible. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   250
        new Case("case37", "verifier.cpp", false, "case dup2_x2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   251
                 "TOS-1 is category2_1st (would split)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   252
                 "Bad type on operand stack in dup2_x2"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   253
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   254
        /* Unreachable: In order to hit this case, we would need a
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   255
         * category2_1st at stack depth 3 with either 2 category_1 or 1
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   256
         * category_2 on TOS, which is not possible. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   257
        new Case("case38", "verifier.cpp", false, "case dup2_x2",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   258
                 "TOS-3 is category2_1st (would split)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   259
                 "Bad type on operand stack in dup2_x2"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   260
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   261
        new Case("case39", "verifier.cpp", true, "case return",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   262
                 "return type of method is not void",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   263
                 "Method expects a return value"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   264
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   265
        new Case("case40", "verifier.cpp", true, "case return",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   266
                 "return with uninitialized this ",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   267
                 "Constructor must call super() or this() before return"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   268
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   269
        new Case("case41", "verifier.cpp", true, "case new",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   270
                 "cp index not a class type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   271
                 "Illegal new instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   272
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   273
        new Case("case42", "verifier.cpp", true, "case arraylength",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   274
                 "TOS is not an array",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   275
                 "Bad type on operand stack in arraylength"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   276
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   277
        new Case("case43", "verifier.cpp", true, "case multianewarray",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   278
                 "CP index does not refer to array type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   279
                 "Illegal constant pool index in multianewarray instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   280
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   281
        new Case("case44", "verifier.cpp", true, "case multianewarray",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   282
                 "Bad dimension (<1) or does not match CP signature",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   283
                 "Illegal dimension in multianewarray instruction: "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   284
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   285
        new Case("case45", "verifier.cpp", true, "case default",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   286
                 "Unrecognized bytecode",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   287
                 "Bad instruction: "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   288
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   289
        new Case("case46", "verifier.cpp", true, "loop end",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   290
                 "control flow falls off method",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   291
                 "Control flow falls through code end"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   292
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   293
        new Case("case47", "verifier.cpp", true, "generate_code_data",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   294
                 "illegal bytecode via RawBytecodeStream (breakpoint)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   295
                 "Bad instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   296
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   297
        new Case("case48", "verifier.cpp", true, "generate_code_data",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   298
                 "illegal bytecode via RawBytecodeStream (other illegal)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   299
                 "Bad instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   300
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   301
        new Case("case49", "verifier.cpp", true,
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   302
                 "verify_exception_handler_table",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   303
                 "catch_type is not throwable",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   304
                 "Catch type is not a subclass of Throwable in " +
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   305
                 "exception handler "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   306
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   307
        new Case("case50", "verifier.cpp", true, "verify_stackmap_table",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   308
                 "missing a stack map frame @ target location (mid table)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   309
                 "Expecting a stack map frame"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   310
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   311
        new Case("case51", "verifier.cpp", true, "verify_stackmap_table",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   312
                 "stack map does not match?",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   313
                 "Instruction type does not match stack map"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   314
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   315
        new Case("case52", "verifier.cpp", true, "verify_stackmap_table",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   316
                 "missing a stack map frame @ target location (end of table)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   317
                 "Expecting a stack map frame"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   318
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   319
        new Case("case53", "verifier.cpp", true,
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   320
                 "verify_exception_handler_targets",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   321
                 "stackmap mismatch at exception handler",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   322
                 "Stack map does not match the one at exception handler "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   323
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   324
        new Case("case54", "verifier.cpp", true, "verify_cp_index",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   325
                 "constant pool index is out-of-bounds",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   326
                 "Illegal constant pool index "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   327
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   328
        new Case("case55", "verifier.cpp", true, "verify_cp_type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   329
                 "constant pool entry is not expected type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   330
                 "Illegal type at constant pool entry "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   331
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   332
        new Case("case56", "verifier.cpp", true, "verify_cp_class_type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   333
                 "constant pool entry is not an object type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   334
                 "Illegal type at constant pool entry "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   335
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   336
        /* Unreachable: verify_cp_type gates this case */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   337
        new Case("case57", "verifier.cpp", false, "verify_ldc",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   338
                 "invalid constant pool index in ldc",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   339
                 "Invalid index in ldc"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   340
16589
0610b22182fb 8010833: Test7116786.java is failing on most configs after fix for 8010667
hseigel
parents: 13476
diff changeset
   341
        /* No longer a valid test case for bytecode version >= 51. Nonzero
0610b22182fb 8010833: Test7116786.java is failing on most configs after fix for 8010667
hseigel
parents: 13476
diff changeset
   342
         * padding bytes are permitted with lookupswitch and tableswitch
0610b22182fb 8010833: Test7116786.java is failing on most configs after fix for 8010667
hseigel
parents: 13476
diff changeset
   343
         * bytecodes as of JVMS 3d edition */
0610b22182fb 8010833: Test7116786.java is failing on most configs after fix for 8010667
hseigel
parents: 13476
diff changeset
   344
        new Case("case58", "verifier.cpp", false, "verify_switch",
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   345
                 "bad switch padding",
16589
0610b22182fb 8010833: Test7116786.java is failing on most configs after fix for 8010667
hseigel
parents: 13476
diff changeset
   346
                 "Nonzero padding byte in lookupswitch or tableswitch"),
13476
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   347
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   348
        new Case("case59", "verifier.cpp", true, "verify_switch",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   349
                 "tableswitch low is greater than high",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   350
                 "low must be less than or equal to high in tableswitch"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   351
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   352
        /* Unreachable on 64-bit?  Only way to get here is to overflow
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   353
         * the 'keys' variable which can't happen on 64-bit since we're dealing
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   354
         * with 32-bit values.  Perhaps reachable on 32-bit but the
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   355
         * triggering class would be quite large */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   356
        new Case("case60", "verifier.cpp", false, "verify_switch",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   357
                 "high - low + 1 < 0 (overflow?)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   358
                 "too many keys in tableswitch"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   359
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   360
        /* Would have to create a 16G classfile to trip this.  Possible but
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   361
         * not reasonable to do in a test.  */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   362
        new Case("case61", "verifier.cpp", false, "verify_switch",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   363
                 "lookupswitch keys < 0",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   364
                 "number of keys in lookupswitch less than 0"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   365
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   366
        new Case("case62", "verifier.cpp", true, "verify_switch",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   367
                 "lookupswitch keys out-of-order",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   368
                 "Bad lookupswitch instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   369
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   370
        /* Unreachable: Class file parser verifies Fieldref contents */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   371
        new Case("case63", "verifier.cpp", false, "verify_field_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   372
                 "referenced class is not an CP object",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   373
                 "Expecting reference to class in class "),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   374
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   375
        new Case("case64", "verifier.cpp", true, "verify_field_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   376
                 "TOS not assignable to field type in putfield",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   377
                 "Bad type on operand stack in putfield"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   378
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   379
        new Case("case65", "verifier.cpp", true, "verify_field_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   380
                 "TOS not assignable to class when accessing protected field",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   381
                 "Bad access to protected data in getfield"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   382
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   383
        new Case("case66", "verifier.cpp", true, "verify_invoke_init",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   384
                 "Uninit_this is not of the current type or it's supertype",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   385
                 "Bad <init> method call"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   386
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   387
        /* Unreachable:  Stack map parsing ensures valid type and new
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   388
         * instructions have a valid BCI. */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   389
        new Case("case67", "verifier.cpp", false, "verify_invoke_init",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   390
                 "Uninit type with bad new instruction index",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   391
                 "Expecting new instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   392
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   393
        new Case("case68", "verifier.cpp", true, "verify_invoke_init",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   394
                 "calling other class's <init> method",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   395
                 "Call to wrong <init> method"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   396
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   397
        new Case("case69", "verifier.cpp", true, "verify_invoke_init",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   398
                 "Calling protected <init> and type unassignable from current",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   399
                 "Bad access to protected <init> method"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   400
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   401
        new Case("case70", "verifier.cpp", true, "verify_invoke_init",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   402
                 "TOS is not an uninitialized (or Uninit_this) type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   403
                 "Bad operand type when invoking <init>"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   404
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   405
        new Case("case71", "verifier.cpp", true, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   406
                 "Arg count in instruction doesn't match signature",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   407
                 "Inconsistent args count operand in invokeinterface"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   408
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   409
        new Case("case72", "verifier.cpp", true, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   410
                 "Non-zero pad in invokeinterface",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   411
                 "Fourth operand byte of invokeinterface must be zero"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   412
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   413
        new Case("case73", "verifier.cpp", true, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   414
                 "Non-zero pad in invokedynamic",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   415
                 "Third and fourth operand bytes of " +
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   416
                 "invokedynamic must be zero"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   417
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   418
        new Case("case74", "verifier.cpp", true, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   419
                 "Non-invokespecial trying to invoke a '<' method",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   420
                 "Illegal call to internal method"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   421
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   422
        new Case("case75", "verifier.cpp", true, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   423
                 "invokespecial and current unassignable from referenced type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   424
                 "Bad invokespecial instruction: current class isn't " +
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   425
                 "assignable to reference class."),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   426
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   427
        new Case("case76", "verifier.cpp", true, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   428
                 "TOS not assignable to current when calling protected method",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   429
                 "Bad access to protected data in invokevirtual"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   430
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   431
        /* Unreachable:  class file parser enforces void signature */
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   432
        new Case("case77", "verifier.cpp", false, "verify_invoke_instructions",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   433
                 "<init> method is not void return",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   434
                 "Return type must be void in <init> method"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   435
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   436
        new Case("case78", "verifier.cpp", true, "get_newarray_type",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   437
                 "newarray type invalid",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   438
                 "Illegal newarray instruction"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   439
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   440
        new Case("case79", "verifier.cpp", true, "verify_return_value",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   441
                 "void return from method which has a return value",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   442
                 "Method expects a return value"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   443
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   444
        new Case("case80", "verifier.cpp", true, "verify_return_value",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   445
                 "TOS type does not match signature",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   446
                 "Bad return type"),
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   447
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   448
        new Case("case81", "verifier.cpp", true, "verify_stackmap_table",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   449
                 "stack map does not match (flags)",
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   450
                 "Instruction type does not match stack map")
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   451
    };
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   452
}
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   453
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   454
public class Test7116786 {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   455
    public static void main(String argv[]) throws Exception {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   456
        for (Case c : VerifyErrorCases.cases) {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   457
            System.out.println("******** " + c.getCaseName() + " ********");
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   458
            if (c.isTestable()) {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   459
                try {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   460
                    ClassLoader cl = Test7116786.class.getClassLoader();
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   461
                    Class<?> cls = Class.forName(c.getCaseName(), true, cl);
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   462
                    throw new RuntimeException(
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   463
                        "++ FAIL: No verify error encountered");
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   464
                } catch (VerifyError ve) {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   465
                    String message = c.getMessage();
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   466
                    String veMessage = ve.getMessage();
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   467
                    System.out.print(veMessage);
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   468
                    if (!veMessage.startsWith(message)) {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   469
                        // We're not seeing the message we expect.  Could be
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   470
                        // that we've gotten the wrong VerifyError case, or
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   471
                        // maybe the message changed.
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   472
                        System.out.println("++ FAIL? " +
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   473
                            "Message does not match what was expected: " +
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   474
                            message);
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   475
                        continue;
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   476
                    }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   477
                    if (!veMessage.contains("Exception Details:") &&
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   478
                        !veMessage.contains("Reason:")) {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   479
                        System.out.println("++ FAIL: No details found");
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   480
                        throw new RuntimeException("FAIL: No details found");
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   481
                    }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   482
                    System.out.println("++ PASS");
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   483
                }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   484
            } else {
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   485
               System.out.println("++ SKIPPED");
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   486
            }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   487
        }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   488
    }
471200fb94fd 7116786: RFE: Detailed information on VerifyErrors
kamg
parents:
diff changeset
   489
}