Skip to content

Commit 7c4dc30

Browse files
committed
BTRACE-122: Changes in instrumentors for BTRACE-117 and BTRACE-119 caused regressions
1 parent 042aa9e commit 7c4dc30

32 files changed

Lines changed: 781 additions & 220 deletions

nbproject/genfiles.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
2+
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
3+
nbproject/jdk.xml.data.CRC32=f99b410e
4+
nbproject/jdk.xml.script.CRC32=5342cb35
5+
nbproject/jdk.xml.stylesheet.CRC32=b5c68e1e@1.38.1

nbproject/ide-file-targets.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<fail unless="run.class">Must set property 'run.class'</fail>
4242
<path id="cp">
4343
<pathelement
44-
path="test-lib/junit-4.6.jar;test-lib/asm-${asm.version}.jar;test-lib/asm-util-${asm.version}.jar;test-lib/ant-junit.jar;"/>
44+
path="test-lib/junit-4.6.jar;test-lib/asm-${asm.version}.jar;test-lib/asm-all-${asm.version}.jar;test-lib/ant-junit.jar;"/>
4545
<pathelement path="build/test"/>
4646
<pathelement path="build/classes"/>
4747
</path>
@@ -62,7 +62,7 @@ value="-Xrunjdwp:transport=dt_socket,address=${jpda.address},suspend=y"/>-->
6262
<fail unless="debug.class">Must set property 'run.class'</fail>
6363
<path id="cp">
6464
<pathelement
65-
path="test-lib/junit-4.6.jar;test-lib/asm-${asm.version}.jar;test-lib/asm-util-${asm.version}.jar;test-lib/ant-junit.jar;"/>
65+
path="test-lib/junit-4.6.jar;test-lib/asm-${asm.version}.jar;test-lib/asm-all-${asm.version}.jar;test-lib/ant-junit.jar;"/>
6666
<pathelement path="build/test"/>
6767
<pathelement path="build/classes"/>
6868
</path>

nbproject/jdk.xml

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
<?xml version="1.0" encoding="UTF-8"?><project name="jdk" basedir=".">
2+
3+
4+
<description>
5+
Permits selection of a JDK to use when building and running project.
6+
See: http://www.netbeans.org/issues/show_bug.cgi?id=64160
7+
</description>
8+
9+
<target name="-jdk-pre-preinit">
10+
<condition property="nbjdk.active-or-nbjdk.home">
11+
<or>
12+
<and>
13+
<isset property="nbjdk.active"/>
14+
<not>
15+
<equals arg1="${nbjdk.active}" arg2="default_platform"/>
16+
</not>
17+
</and>
18+
<and>
19+
<isset property="nbjdk.home"/>
20+
<not>
21+
<isset property="nbjdk.home.defaulted"/>
22+
</not>
23+
</and>
24+
</or>
25+
</condition>
26+
</target>
27+
28+
<target xmlns:common="http://java.netbeans.org/freeform/jdk.xml" name="-jdk-preinit" depends="-jdk-pre-preinit" if="nbjdk.active-or-nbjdk.home">
29+
<macrodef name="property" uri="http://java.netbeans.org/freeform/jdk.xml">
30+
<attribute name="name"/>
31+
<attribute name="value"/>
32+
<sequential>
33+
<property name="@{name}" value="${@{value}}"/>
34+
</sequential>
35+
</macrodef>
36+
<common:property name="nbjdk.home" value="platforms.${nbjdk.active}.home"/>
37+
<common:property name="nbjdk.javac.tmp" value="platforms.${nbjdk.active}.javac"/>
38+
<condition property=".exe" value=".exe">
39+
<os family="windows"/>
40+
</condition>
41+
<property name=".exe" value=""/>
42+
<condition property="nbjdk.javac" value="${nbjdk.home}/bin/javac${.exe}">
43+
<equals arg1="${nbjdk.javac.tmp}" arg2="$${platforms.${nbjdk.active}.javac}"/>
44+
</condition>
45+
<property name="nbjdk.javac" value="${nbjdk.javac.tmp}"/>
46+
<common:property name="nbjdk.java.tmp" value="platforms.${nbjdk.active}.java"/>
47+
<condition property="nbjdk.java" value="${nbjdk.home}/bin/java${.exe}">
48+
<equals arg1="${nbjdk.java.tmp}" arg2="$${platforms.${nbjdk.active}.java}"/>
49+
</condition>
50+
<property name="nbjdk.java" value="${nbjdk.java.tmp}"/>
51+
<common:property name="nbjdk.javadoc.tmp" value="platforms.${nbjdk.active}.javadoc"/>
52+
<condition property="nbjdk.javadoc" value="${nbjdk.home}/bin/javadoc${.exe}">
53+
<equals arg1="${nbjdk.javadoc.tmp}" arg2="$${platforms.${nbjdk.active}.javadoc}"/>
54+
</condition>
55+
<property name="nbjdk.javadoc" value="${nbjdk.javadoc.tmp}"/>
56+
<common:property name="nbjdk.bootclasspath.tmp" value="platforms.${nbjdk.active}.bootclasspath"/>
57+
<condition property="nbjdk.bootclasspath" value="${nbjdk.home}/jre/lib/rt.jar">
58+
<equals arg1="${nbjdk.bootclasspath.tmp}" arg2="$${platforms.${nbjdk.active}.bootclasspath}"/>
59+
</condition>
60+
<property name="nbjdk.bootclasspath" value="${nbjdk.bootclasspath.tmp}"/>
61+
<condition property="nbjdk.valid">
62+
<and>
63+
<available file="${nbjdk.home}" type="dir"/>
64+
<available file="${nbjdk.javac}" type="file"/>
65+
<available file="${nbjdk.java}" type="file"/>
66+
<available file="${nbjdk.javadoc}" type="file"/>
67+
68+
</and>
69+
</condition>
70+
<echo level="verbose">nbjdk.active=${nbjdk.active} nbjdk.home=${nbjdk.home} nbjdk.java=${nbjdk.java} nbjdk.javac=${nbjdk.javac} nbjdk.javadoc=${nbjdk.javadoc} nbjdk.bootclasspath=${nbjdk.bootclasspath} nbjdk.valid=${nbjdk.valid} have-jdk-1.4=${have-jdk-1.4} have-jdk-1.5=${have-jdk-1.5}</echo>
71+
</target>
72+
73+
<target name="-jdk-warn" depends="-jdk-preinit" if="nbjdk.active-or-nbjdk.home" unless="nbjdk.valid">
74+
<property name="jdkhome.presumed" location="${java.home}/.."/>
75+
<echo level="warning">Warning: nbjdk.active=${nbjdk.active} or nbjdk.home=${nbjdk.home} is an invalid Java platform; ignoring and using ${jdkhome.presumed}</echo>
76+
</target>
77+
78+
<target name="-jdk-presetdef-basic" depends="-jdk-preinit" if="nbjdk.valid" unless="nbjdk.presetdef.basic.done">
79+
80+
81+
<macrodef name="javac-presetdef">
82+
<attribute name="javacval"/>
83+
<sequential>
84+
<presetdef name="javac">
85+
<javac fork="yes" executable="@{javacval}"/>
86+
</presetdef>
87+
</sequential>
88+
</macrodef>
89+
<javac-presetdef javacval="${nbjdk.javac}"/>
90+
<macrodef name="java-presetdef">
91+
<attribute name="javaval"/>
92+
<sequential>
93+
<presetdef name="java">
94+
<java fork="yes" jvm="@{javaval}"/>
95+
</presetdef>
96+
</sequential>
97+
</macrodef>
98+
<java-presetdef javaval="${nbjdk.java}"/>
99+
<macrodef name="javadoc-presetdef">
100+
<attribute name="javadocval"/>
101+
<sequential>
102+
<presetdef name="javadoc">
103+
<javadoc executable="@{javadocval}"/>
104+
</presetdef>
105+
</sequential>
106+
</macrodef>
107+
<javadoc-presetdef javadocval="${nbjdk.javadoc}"/>
108+
<macrodef name="junit-presetdef">
109+
<attribute name="javaval"/>
110+
<sequential>
111+
<presetdef name="junit">
112+
<junit fork="yes" jvm="@{javaval}"/>
113+
</presetdef>
114+
</sequential>
115+
</macrodef>
116+
<junit-presetdef javaval="${nbjdk.java}"/>
117+
<property name="nbjdk.presetdef.basic.done" value="true"/>
118+
</target>
119+
120+
<target name="-jdk-presetdef-nbjpdastart" depends="-jdk-preinit" if="nbjdk.valid" unless="nbjdk.presetdef.nbjpdastart.done">
121+
<macrodef name="nbjpdastart-presetdef">
122+
<attribute name="bootcpval"/>
123+
<sequential>
124+
<presetdef name="nbjpdastart">
125+
<nbjpdastart>
126+
<bootclasspath>
127+
<path path="@{bootcpval}"/>
128+
</bootclasspath>
129+
</nbjpdastart>
130+
</presetdef>
131+
</sequential>
132+
</macrodef>
133+
<nbjpdastart-presetdef bootcpval="${nbjdk.bootclasspath}"/>
134+
<property name="nbjdk.presetdef.nbjpdastart.done" value="true"/>
135+
</target>
136+
137+
<target name="-jdk-default" unless="nbjdk.active-or-nbjdk.home">
138+
139+
<property name="java.home.parent" location="${java.home}/.."/>
140+
<condition property="nbjdk.home" value="${java.home.parent}">
141+
<available file="${java.home.parent}/lib/tools.jar" type="file"/>
142+
</condition>
143+
<condition property="nbjdk.home" value="${java.home}">
144+
<available file="${java.home}/lib/tools.jar" type="file"/>
145+
</condition>
146+
147+
<condition property="nbjdk.home" value="/Library/Java/Home">
148+
<available file="/Library/Java/Home" type="dir"/>
149+
</condition>
150+
151+
<property name="nbjdk.home" location="${java.home.parent}"/>
152+
<property name="nbjdk.home.defaulted" value="true"/>
153+
</target>
154+
155+
<target name="-jdk-init" depends="-jdk-preinit,-jdk-warn,-jdk-presetdef-basic,-jdk-default"/>
156+
157+
</project>

nbproject/nbjdk.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nbjdk.active=default_platform

nbproject/nbjdk.xml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project basedir=".." name="BTrace">
3+
<property file="nbproject/nbjdk.properties"/>
4+
<property location="${netbeans.user}/build.properties" name="user.properties.file"/>
5+
<property file="${user.properties.file}"/>
6+
<import file="jdk.xml"/>
7+
<target depends="-jdk-init" name="jar">
8+
<ant antfile="make/build.xml" inheritall="false" target="jar"/>
9+
</target>
10+
<target depends="-jdk-init" name="clean">
11+
<ant antfile="make/build.xml" inheritall="false" target="clean"/>
12+
</target>
13+
<target depends="-jdk-init" name="test">
14+
<ant antfile="make/build.xml" inheritall="false" target="test"/>
15+
</target>
16+
<target depends="-jdk-init" name="javadoc">
17+
<ant antfile="make/build.xml" inheritall="false" target="javadoc"/>
18+
</target>
19+
<target depends="-jdk-init,-jdk-presetdef-nbjpdastart" name="debug-selected-file-in-classes">
20+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="debug-selected-file-in-classes"/>
21+
</target>
22+
<target depends="-jdk-init" name="run-selected-file-in-classes">
23+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="run-selected-file-in-classes"/>
24+
</target>
25+
<target depends="-jdk-init,-jdk-presetdef-nbjpdastart" name="debug-selected-file-in-test">
26+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="debug-selected-file-in-test"/>
27+
</target>
28+
<target depends="-jdk-init" name="run-selected-file-in-test">
29+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="run-selected-file-in-test"/>
30+
</target>
31+
<target depends="-jdk-init" name="compile-selected-btrace-files">
32+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="compile-selected-btrace-files"/>
33+
</target>
34+
<target depends="-jdk-init" name="compile-selected-files-in-test">
35+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="compile-selected-files-in-test"/>
36+
</target>
37+
<target depends="-jdk-init" name="compile-selected-files-in-classes">
38+
<ant antfile="nbproject/ide-file-targets.xml" inheritall="false" target="compile-selected-files-in-classes"/>
39+
</target>
40+
</project>

nbproject/project.xml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,28 @@
4141
</folders>
4242
<ide-actions>
4343
<action name="build">
44-
<script>${ant.script}</script>
44+
<script>nbproject/nbjdk.xml</script>
4545
<target>jar</target>
4646
</action>
4747
<action name="clean">
48-
<script>${ant.script}</script>
48+
<script>nbproject/nbjdk.xml</script>
4949
<target>clean</target>
5050
</action>
5151
<action name="rebuild">
52-
<script>${ant.script}</script>
52+
<script>nbproject/nbjdk.xml</script>
5353
<target>clean</target>
5454
<target>jar</target>
5555
</action>
5656
<action name="test">
57-
<script>${ant.script}</script>
57+
<script>nbproject/nbjdk.xml</script>
5858
<target>test</target>
5959
</action>
6060
<action name="javadoc">
61-
<script>${ant.script}</script>
61+
<script>nbproject/nbjdk.xml</script>
6262
<target>javadoc</target>
6363
</action>
6464
<action name="debug.single">
65-
<script>nbproject/ide-file-targets.xml</script>
65+
<script>nbproject/nbjdk.xml</script>
6666
<target>debug-selected-file-in-classes</target>
6767
<context>
6868
<property>debug.class</property>
@@ -75,7 +75,7 @@
7575
</context>
7676
</action>
7777
<action name="run.single">
78-
<script>nbproject/ide-file-targets.xml</script>
78+
<script>nbproject/nbjdk.xml</script>
7979
<target>run-selected-file-in-classes</target>
8080
<context>
8181
<property>run.class</property>
@@ -88,7 +88,7 @@
8888
</context>
8989
</action>
9090
<action name="debug.single">
91-
<script>nbproject/ide-file-targets.xml</script>
91+
<script>nbproject/nbjdk.xml</script>
9292
<target>debug-selected-file-in-test</target>
9393
<context>
9494
<property>debug.class</property>
@@ -101,7 +101,7 @@
101101
</context>
102102
</action>
103103
<action name="run.single">
104-
<script>nbproject/ide-file-targets.xml</script>
104+
<script>nbproject/nbjdk.xml</script>
105105
<target>run-selected-file-in-test</target>
106106
<context>
107107
<property>run.class</property>
@@ -114,7 +114,7 @@
114114
</context>
115115
</action>
116116
<action name="compile.single">
117-
<script>nbproject/ide-file-targets.xml</script>
117+
<script>nbproject/nbjdk.xml</script>
118118
<target>compile-selected-btrace-files</target>
119119
<context>
120120
<property>files</property>
@@ -127,7 +127,7 @@
127127
</context>
128128
</action>
129129
<action name="compile.single">
130-
<script>nbproject/ide-file-targets.xml</script>
130+
<script>nbproject/nbjdk.xml</script>
131131
<target>compile-selected-files-in-test</target>
132132
<context>
133133
<property>files</property>
@@ -140,7 +140,7 @@
140140
</context>
141141
</action>
142142
<action name="compile.single">
143-
<script>nbproject/ide-file-targets.xml</script>
143+
<script>nbproject/nbjdk.xml</script>
144144
<target>compile-selected-files-in-classes</target>
145145
<context>
146146
<property>files</property>
@@ -156,13 +156,13 @@
156156
<export>
157157
<type>folder</type>
158158
<location>build/classes</location>
159-
<script>${ant.script}</script>
159+
<script>nbproject/nbjdk.xml</script>
160160
<build-target>jar</build-target>
161161
</export>
162162
<export>
163163
<type>folder</type>
164164
<location>build/test</location>
165-
<script>${ant.script}</script>
165+
<script>nbproject/nbjdk.xml</script>
166166
<build-target>jar</build-target>
167167
</export>
168168
<view>
@@ -233,7 +233,7 @@
233233
<compilation-unit>
234234
<package-root>src/test</package-root>
235235
<unit-tests/>
236-
<classpath mode="compile">build/classes:test-lib/asm-${asm.version}.jar:lib/btrace-asm-${asm.version}.jar:test-lib/asm-util-${asm.version}.jar:${junit.jar}</classpath>
236+
<classpath mode="compile">build/classes:test-lib/asm-${asm.version}.jar:lib/btrace-asm-${asm.version}.jar:test-lib/asm-all-${asm.version}.jar:${junit.jar}</classpath>
237237
<built-to>build/test</built-to>
238238
<source-level>1.5</source-level>
239239
</compilation-unit>

src/share/classes/com/sun/btrace/BTraceRuntime.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,8 +1005,11 @@ public static void retransform(String runtimeName, Class<?> clazz) {
10051005
if (rt != null && rt.instrumentation.isModifiableClass(clazz)) {
10061006
rt.instrumentation.retransformClasses(clazz);
10071007
}
1008-
} catch (Exception e) {
1009-
e.printStackTrace();
1008+
} catch (Throwable e) {
1009+
if (e instanceof VerifyError) {
1010+
System.out.println("btrace DEBUG: " + ((VerifyError)e).getMessage());
1011+
}
1012+
e.printStackTrace(System.out);
10101013
}
10111014
}
10121015

0 commit comments

Comments
 (0)