Path: blob/master/test/hotspot/jtreg/vmTestbase/nsk/jdb/read/read001/read001a.java
40951 views
/*1* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223package nsk.jdb.read.read001;2425import nsk.share.*;26import nsk.share.jpda.*;27import nsk.share.jdb.*;2829import java.io.*;3031/* This is debuggee aplication */32public class read001a {3334static boolean testedStaticFieldBoolean = true;35double testedInstanceFieldDouble = (double)3.1414926;3637public static void main(String args[]) {38read001a _read001a = new read001a();39System.exit(read001.JCK_STATUS_BASE + _read001a.runIt(args, System.out));40}4142void lastBreak () {}4344void testedInstanceMethod() {45int testedLocalVarInt = 0;46String testedLocalVarString = "foo";4748lastBreak();4950testedLocalVarString = "bar";51}5253public int runIt(String args[], PrintStream out) {54JdbArgumentHandler argumentHandler = new JdbArgumentHandler(args);55Log log = new Log(out, argumentHandler);56int localInt = 0;5758read001aTestedClass obj = new read001aTestedClass();59read001aTestedThread thread = new read001aTestedThread("TestedThreadInstance");6061synchronized (thread.finishingMonitor) {62synchronized (thread.startingMonitor) {63try {64thread.start();65thread.startingMonitor.wait();66} catch (InterruptedException e) {67throw new Failure("Interrupted while starting tested thread: " + e);68}69}7071testedInstanceMethod();72}7374try {75thread.join();76} catch (InterruptedException e) {77throw new Failure("Interrupted while finishing tested thread: " + e);78}7980log.display("Debuggee PASSED");81return read001.PASSED;82}83}8485class read001aTestedClass {86char instanceFiledChar = 'x';87}8889class read001aTestedThread extends Thread {9091Object startingMonitor = new Object();92Object finishingMonitor = new Object();9394public read001aTestedThread(String name) {95super(name);96}9798public void run() {99synchronized (startingMonitor) {100startingMonitor.notifyAll();101}102103synchronized (finishingMonitor) {104}105}106}107108109