1 #!/bin/sh
2
3 #
4 # Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 #
7 # This code is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License version 2 only, as
9 # published by the Free Software Foundation.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
45 {
46 cat <<EOF > $1.java.1
47
48 import java.util.ArrayList;
49 import java.util.List;
50
51 public class $1 {
52 public static List<Object> objList = new ArrayList<Object>();
53
54 private static void init(int numObjs) {
55 for (int i = 0; i < numObjs; i++) {
56 objList.add(new Object());
57 }
58 }
59
60 public static void main(String[] args) {
61 for (int i = 0; i < 10; i++) {
62 System.out.println("top of loop"); // @1 breakpoint
63 init(1000000);
64 objList.clear();
65 System.out.println("bottom of loop"); // @1 breakpoint
66 }
67 System.out.println("end of test"); // @1 breakpoint
68 }
69 }
70
71 EOF
72 }
73
74 # This is called to feed cmds to jdb.
75 dojdbCmds()
76 {
77 setBkpts @1
78
79 # get to the first loop breakpoint
80 runToBkpt
81 # 19 "cont" commands gets us through all the loop breakpoints.
82 # Use for-loop instead of while-loop to avoid creating processes
83 # for '[' and 'expr'.
84 for ii in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do
|
1 #!/bin/sh
2
3 #
4 # Copyright (c) 2009, 2013 Oracle and/or its affiliates. All rights reserved.
5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 #
7 # This code is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License version 2 only, as
9 # published by the Free Software Foundation.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
45 {
46 cat <<EOF > $1.java.1
47
48 import java.util.ArrayList;
49 import java.util.List;
50
51 public class $1 {
52 public static List<Object> objList = new ArrayList<Object>();
53
54 private static void init(int numObjs) {
55 for (int i = 0; i < numObjs; i++) {
56 objList.add(new Object());
57 }
58 }
59
60 public static void main(String[] args) {
61 for (int i = 0; i < 10; i++) {
62 System.out.println("top of loop"); // @1 breakpoint
63 init(1000000);
64 objList.clear();
65 System.gc();
66 System.out.println("bottom of loop"); // @1 breakpoint
67 }
68 System.out.println("end of test"); // @1 breakpoint
69 }
70 }
71
72 EOF
73 }
74
75 # This is called to feed cmds to jdb.
76 dojdbCmds()
77 {
78 setBkpts @1
79
80 # get to the first loop breakpoint
81 runToBkpt
82 # 19 "cont" commands gets us through all the loop breakpoints.
83 # Use for-loop instead of while-loop to avoid creating processes
84 # for '[' and 'expr'.
85 for ii in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do
|