test/hotspot/jtreg/vmTestbase/nsk/jdb/watch/watch001/watch001a.java
author iignatyev
Tue, 22 May 2018 10:08:04 -0700
changeset 50220 31361382634b
permissions -rw-r--r--
8199379: [TESTBUG] Open source vm testbase JDB tests Reviewed-by: mseledtsov, sspitsyn
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50220
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     1
/*
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     2
 * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     4
 *
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     7
 * published by the Free Software Foundation.
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     8
 *
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    13
 * accompanied this code).
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    14
 *
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    18
 *
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    21
 * questions.
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    22
 */
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    23
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    24
package nsk.jdb.watch.watch001;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    25
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    26
import nsk.share.*;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    27
import nsk.share.jpda.*;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    28
import nsk.share.jdb.*;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    29
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    30
import java.io.*;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    31
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    32
/* This is debuggee aplication */
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    33
public class watch001a {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    34
    /* TEST DEPENDANT VARIABLES AND CONSTANTS */
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    35
    static final String PACKAGE_NAME = "nsk.jdb.watch.watch001";
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    36
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    37
    public static void main(String args[]) {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    38
       watch001a _watch001a = new watch001a();
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    39
       System.exit(watch001.JCK_STATUS_BASE + _watch001a.runIt(args, System.out));
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    40
    }
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    41
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    42
    static void breakHere () {}
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    43
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    44
    public int runIt(String args[], PrintStream out) {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    45
        JdbArgumentHandler argumentHandler = new JdbArgumentHandler(args);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    46
        Log log = new Log(out, argumentHandler);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    47
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    48
        breakHere();
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    49
        updateFields(false);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    50
        fields.updateFields(false);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    51
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    52
        log.display("Debuggee PASSED");
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    53
        return watch001.PASSED;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    54
    }
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    55
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    56
    static    boolean fS0, fS1[], fS2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    57
    static    Boolean FS0, FS1[], FS2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    58
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    59
    interface Inter {}
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    60
    Inter     I0, I1[], I2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    61
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    62
    // assign new values to fields
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    63
    void updateFields(boolean flag) {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    64
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    65
        fS0 = flag ? fS0 : false;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    66
        fS1 = flag ? fS1 :  new boolean[] {fS0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    67
        fS2 = flag ? fS2 :  new boolean[][] {fS1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    68
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    69
        FS0 = flag ? FS0 : new Boolean(false);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    70
        FS1 = flag ? FS1 : new Boolean[] {FS0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    71
        FS2 = flag ? FS2 : new Boolean[][] {FS1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    72
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    73
        I0  = flag ? I0  : new CheckedFields();
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    74
        I1  = flag ? I1  : new CheckedFields[]   {new CheckedFields()};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    75
        I2  = flag ? I2  : new CheckedFields[][] {new CheckedFields[] {new CheckedFields()}};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    76
    }
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    77
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    78
    class CheckedFields implements Inter {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    79
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    80
        private   byte    fP0, fP1[], fP2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    81
        public    char    fU0, fU1[], fU2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    82
        protected double  fR0, fR1[], fR2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    83
        transient float   fT0, fT1[], fT2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    84
        volatile  long    fV0, fV1[], fV2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    85
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    86
        private   Byte      FP0, FP1[], FP2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    87
        public    Character FU0, FU1[], FU2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    88
        protected Double    FR0, FR1[], FR2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    89
        transient Float     FT0, FT1[], FT2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    90
        volatile  Long      FV0, FV1[], FV2[][];
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    91
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    92
        // assign new values to fields
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    93
        void updateFields(boolean flag) {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    94
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    95
            fP0 = flag ? fP0 : Byte.MIN_VALUE ;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    96
            fU0 = flag ? fU0 : Character.MIN_VALUE;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    97
            fR0 = flag ? fR0 : Double.MIN_VALUE;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    98
            fT0 = flag ? fT0 : Float.MIN_VALUE;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
    99
            fV0 = flag ? fV0 : Integer.MIN_VALUE;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   100
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   101
            FP0 = flag ? FP0 : new Byte(Byte.MIN_VALUE) ;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   102
            FU0 = flag ? FU0 : new Character(Character.MIN_VALUE);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   103
            FR0 = flag ? FR0 : new Double(Double.MIN_VALUE);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   104
            FT0 = flag ? FT0 : new Float(Float.MIN_VALUE);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   105
            FV0 = flag ? FV0 : new Long(Long.MIN_VALUE);
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   106
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   107
            fP1 = flag ? fP1 : new byte[] {fP0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   108
            fP2 = flag ? fP2 : new byte[][] {fP1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   109
            fU1 = flag ? fU1 : new char[] {fU0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   110
            fU2 = flag ? fU2 : new char[][] {fU1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   111
            fR1 = flag ? fR1 : new double[] {fR0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   112
            fR2 = flag ? fR2 : new double[][] {fR1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   113
            fT1 = flag ? fT1 : new float[] {fT0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   114
            fT2 = flag ? fT2 : new float[][] {fT1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   115
            fV1 = flag ? fV1 : new long[] {fV0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   116
            fV2 = flag ? fV2 : new long[][] {fV1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   117
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   118
            FP1 = flag ? FP1 : new Byte[] {FP0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   119
            FP2 = flag ? FP2 : new Byte[][] {FP1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   120
            FU1 = flag ? FU1 : new Character[] {FU0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   121
            FU2 = flag ? FU2 : new Character[][] {FU1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   122
            FR1 = flag ? FR1 : new Double[] {FR0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   123
            FR2 = flag ? FR2 : new Double[][] {FR1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   124
            FT1 = flag ? FT1 : new Float[] {FT0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   125
            FT2 = flag ? FT2 : new Float[][] {FT1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   126
            FV1 = flag ? FV1 : new Long[] {FV0};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   127
            FV2 = flag ? FV2 : new Long[][] {FV1};
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   128
        }
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   129
    }
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   130
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   131
    CheckedFields fields;
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   132
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   133
    public watch001a() {
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   134
        fields = new CheckedFields();
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   135
    }
31361382634b 8199379: [TESTBUG] Open source vm testbase JDB tests
iignatyev
parents:
diff changeset
   136
}