Mercurial > hg > truffle
annotate agent/test/jdi/runsa.sh @ 3465:8cd198d7cbc1
When a method that has been compiled before is considered for inlining, use its compiled (native) code size for size checks. This avoids inlining compiled methods that already contain many other inlined methods, reducing generated code size and usually execution time as well. Also, add GraalMetrics bookkeeping for inlining.
author | Peter Hofer <peter.hofer@jku.at> |
---|---|
date | Mon, 01 Aug 2011 13:45:25 +0200 |
parents | c18cbe5936b8 |
children | 5a98bf7d847b |
rev | line source |
---|---|
0 | 1 #!/bin/ksh |
2 # | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
3 # Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. |
0 | 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 # | |
6 # This code is free software; you can redistribute it and/or modify it | |
7 # under the terms of the GNU General Public License version 2 only, as | |
8 # published by the Free Software Foundation. | |
9 # | |
10 # This code is distributed in the hope that it will be useful, but WITHOUT | |
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 # version 2 for more details (a copy is included in the LICENSE file that | |
14 # accompanied this code). | |
15 # | |
16 # You should have received a copy of the GNU General Public License version | |
17 # 2 along with this work; if not, write to the Free Software Foundation, | |
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
19 # | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
21 # or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
22 # questions. |
0 | 23 # |
24 # | |
25 | |
26 | |
27 # This jdk must be hopper or better; it must have the | |
28 # SA connectors in VirtualMachineManagerImpl. | |
29 jdk=/java/re/jdk/1.4.1/promoted/latest/binaries/solaris-sparc | |
30 #jdk=/net/mmm/export/mmm/jdk1.4fcs.sa | |
31 | |
32 doUsage() | |
33 { | |
34 cat <<EOF | |
35 Run sagclient.class using Serviceability Agent to talk to a corefile/pid/debugserver. | |
36 Usage: runsa.sh [-jdk <jdk-pathname>] [-jdb] [ -jdbx ] [ -d64 ] [ -remote ] [ pid | corefile | debugserver ] | |
37 | |
38 -jdk means to use that jdk. Default is 1.4.1/latest. | |
39 -jdbx means to run it under jdbx | |
40 -jdb means to connect using jdb instead of the sagclient program. | |
41 -remote debugserver means you want to connect to a remote debug server | |
42 | |
43 The corefile must have been produced by the same java as is running SA. | |
44 | |
45 EOF | |
46 } | |
47 | |
48 if [ $# = 0 ] ; then | |
49 doUsage | |
50 exit 1 | |
51 fi | |
52 | |
53 # License file for development version of dbx | |
54 #LM_LICENSE_FILE=7588@extend.eng:/usr/dist/local/config/sparcworks/license.dat:7588@setlicense | |
55 #export LM_LICENSE_FILE | |
56 | |
57 do= | |
58 args= | |
59 theClass=sagclient | |
60 javaArgs= | |
61 | |
62 while [ $# != 0 ] ; do | |
63 case $1 in | |
64 -vv) | |
65 set -x | |
66 ;; | |
67 -jdk) | |
68 jdk=$2 | |
69 shift | |
70 ;; | |
71 -jdbx) | |
72 do=jdbx | |
73 ;; | |
74 -jdb) | |
75 do=jdb | |
76 ;; | |
77 -help | help) | |
78 doUsage | |
79 exit | |
80 ;; | |
81 -d64) | |
82 d64=-d64 | |
83 ;; | |
84 -remote) | |
85 shift | |
86 args="$1" | |
87 do=remote | |
88 ;; | |
89 -*) | |
90 javaArgs="$javaArgs $1" | |
91 ;; | |
92 *) | |
93 echo "$1" | grep -s '^[0-9]*$' > /dev/null | |
94 if [ $? = 0 ] ; then | |
95 # it is a pid | |
96 args="$args $1" | |
97 else | |
98 # It is a core. | |
99 # We have to pass the name of the program that produced the | |
100 # core, and the core file itself. | |
101 args="$jdk/bin/java $1" | |
102 fi | |
103 ;; | |
104 esac | |
105 shift | |
106 done | |
107 | |
108 if [ -z "$jdk" ] ; then | |
109 error "--Error: runsa.sh: Must specify -jdk <jdk-pathname>." | |
110 error " Do runsa.sh -help for more info" | |
111 exit 1 | |
112 fi | |
113 | |
114 set -x | |
115 #setenv USE_LIBPROC_DEBUGGER "-Dsun.jvm.hotspot.debugger.useProcDebugger -Djava.library.path=$saprocdir" | |
116 | |
117 # If jjh makes this, then the classes are in .../build/agent. | |
118 # if someone else does, they are in . | |
119 classesDir=../../../../../../build/agent | |
120 if [ ! -r $classesDir ] ; then | |
121 classesDir=. | |
122 if [ ! -r $classesDir ] ; then | |
123 echo "-- Error: runsa.sh can't find the SA classes" | |
124 exit 1 | |
125 fi | |
126 fi | |
127 #javacp="/net/mmm/export/mmm/ws/sabaseline/build/solaris/solaris_sparc_compiler1/generated/sa-jdi.jar:$classesDir:$jdk/lib/tools.jar:$jdk/classes:./workdir" | |
128 | |
129 javacp="$jdk/lib/sa-jdi.jar:$classesDir:$jdk/lib/tools.jar:$jdk/classes:./workdir" | |
130 | |
131 | |
132 extraArgs="-showversion $javaArgs" | |
133 #extraArgs="-DdbxSvcAgentDSOPathName=/net/mmm/export/mmm/ws/m/b2/sa/src/os/solaris/agent/64bit/libsvc_agent_dbx.so $extraArgs" | |
134 #extraArgs="-DdbxSvcAgentDSOPathName=/net/jano.eng/export/disk05/hotspot/sa/solaris/sparcv9/lib/libsvc_agent_dbx.so $extraArgs" | |
135 | |
136 mkdir -p workdir | |
137 if [ sagclient.java -nt ./workdir/sagclient.class ] ; then | |
138 $jdk/bin/javac -d ./workdir -classpath $javacp sagclient.java | |
139 if [ $? != 0 ] ; then | |
140 exit 1 | |
141 fi | |
142 fi | |
143 if [ sagdoit.java -nt ./workdir/sagdoit.class ] ; then | |
144 $jdk/bin/javac -d ./workdir -classpath $javacp sagdoit.java | |
145 if [ $? != 0 ] ; then | |
146 exit 1 | |
147 fi | |
148 fi | |
149 | |
150 if [ "$do" = jdbx ] ; then | |
151 set -x | |
152 dbx=/net/sparcworks.eng/export/set/sparcworks2/dbx_70_nightly/dev/buildbin/Derived-sparc-S2-opt/bin/dbx | |
153 | |
154 # Have to do this export for jdbx to work. -cp and -classpath don't work. | |
155 CLASSPATH=$javacp | |
156 export CLASSPATH | |
157 #extraArgs="-Djava.class.path=$mhs/../sa/build/agent sun.jvm.hotspot.HSDB $*" | |
158 jvm_invocation="$jdk/bin/java -Xdebug \ | |
159 -Dsun.boot.class.path=$jdk/classes \ | |
160 $extraArgs" | |
161 #export jvm_invocation | |
162 | |
163 JAVASRCPATH=$mhs/../sa/src/share/vm/agent | |
164 export JAVASRCPATH | |
165 | |
166 #operand is pathname of .class file, eg ./jj.class. | |
167 echo run $args | |
168 clss=`echo $theClass | sed -e 's@\.@/@'` | |
169 if [ -r ./workdir/$clss.class ] ; then | |
170 # kludge for running sagclient | |
171 $dbx ./workdir/$clss.class | |
172 else | |
173 # kludge for running HSDB | |
174 $dbx $mhs/../sa/build/agent/$clss.class | |
175 fi | |
176 elif [ "$do" = jdb ] ; then | |
177 # This hasn't been tested. | |
178 $jdk/bin/jdb -J-Xbootclasspath/a:$classesDir -connect sun.jvm.hotspot.jdi.SACoreAttachingConnector:core=sagcore | |
179 elif [ "$do" = remote ] ; then | |
180 $jdk/bin/java $d64 -Djava.class.path=$javacp $extraArgs $theClass $args | |
181 else | |
182 $jdk/bin/java $d64 -Djava.class.path=$javacp $extraArgs $theClass $args | |
183 | |
184 fi |