[btrace~hg:436] #BTRACE-83: Updating ASM to ver. 4.0
- From: j.bachorik@kenai.com
- To: commits@btrace.kenai.com
- Subject: [btrace~hg:436] #BTRACE-83: Updating ASM to ver. 4.0
- Date: Sun, 15 Jan 2012 19:57:17 +0000
Project: btrace
Repository: hg
Revision: 436
Author: j.bachorik
Date: 2012-01-15 19:55:06 UTC
Link:
Log Message:
------------
#BTRACE-83: Updating ASM to ver. 4.0
Revisions:
----------
436
Modified Paths:
---------------
lib/README.txt
make/build.properties
make/build.xml
nbproject/ide-file-targets.xml
nbproject/project.xml
src/share/classes/com/sun/btrace/agent/Client.java
src/share/classes/com/sun/btrace/client/Client.java
src/share/classes/com/sun/btrace/compiler/Postprocessor.java
src/share/classes/com/sun/btrace/runtime/ArrayAccessInstrumentor.java
src/share/classes/com/sun/btrace/runtime/ArrayAllocInstrumentor.java
src/share/classes/com/sun/btrace/runtime/CatchInstrumentor.java
src/share/classes/com/sun/btrace/runtime/ClassFilter.java
src/share/classes/com/sun/btrace/runtime/ClassRenamer.java
src/share/classes/com/sun/btrace/runtime/ClinitInjector.java
src/share/classes/com/sun/btrace/runtime/ErrorReturnInstrumentor.java
src/share/classes/com/sun/btrace/runtime/FieldAccessInstrumentor.java
src/share/classes/com/sun/btrace/runtime/Instrumentor.java
src/share/classes/com/sun/btrace/runtime/LineNumberInstrumentor.java
src/share/classes/com/sun/btrace/runtime/MethodCallInstrumentor.java
src/share/classes/com/sun/btrace/runtime/MethodCopier.java
src/share/classes/com/sun/btrace/runtime/MethodEntryExitInstrumentor.java
src/share/classes/com/sun/btrace/runtime/MethodEntryInstrumentor.java
src/share/classes/com/sun/btrace/runtime/MethodInstrumentor.java
src/share/classes/com/sun/btrace/runtime/MethodRemover.java
src/share/classes/com/sun/btrace/runtime/MethodReturnInstrumentor.java
src/share/classes/com/sun/btrace/runtime/MethodVerifier.java
src/share/classes/com/sun/btrace/runtime/ObjectAllocInstrumentor.java
src/share/classes/com/sun/btrace/runtime/Preprocessor.java
src/share/classes/com/sun/btrace/runtime/SynchronizedInstrumentor.java
src/share/classes/com/sun/btrace/runtime/ThrowInstrumentor.java
src/share/classes/com/sun/btrace/runtime/TypeCheckInstrumentor.java
src/share/classes/com/sun/btrace/runtime/Verifier.java
src/share/classes/com/sun/btrace/util/LocalVariablesSorter.java
src/share/classes/com/sun/btrace/util/TimeStampGenerator.java
Added Paths:
------------
lib/btrace-asm-4.0.jar
test-lib/asm-4.0.jar
test-lib/asm-util-4.0.jar
Diffs:
------
diff -r b3a776b45df6 -r d31d25ebd48b lib/README.txt
--- a/lib/README.txt Tue Oct 18 13:29:31 2011 +0200
+++ b/lib/README.txt Sun Jan 15 20:55:06 2012 +0100
@@ -1,5 +1,5 @@
-This directory contains btrace-asm-3.3.jar. This file was
-generated from "asm-3.3.jar" using the "JarJar" tool (please
+This directory contains btrace-asm-4.0.jar. This file was
+generated from "asm-4.0.jar" using the "JarJar" tool (please
see http://code.google.com/p/jarjar/) using the following rule:
diff -r b3a776b45df6 -r d31d25ebd48b lib/btrace-asm-3.3.jar
Binary file lib/btrace-asm-3.3.jar has changed
diff -r b3a776b45df6 -r d31d25ebd48b lib/btrace-asm-4.0.jar
Binary file lib/btrace-asm-4.0.jar has changed
diff -r b3a776b45df6 -r d31d25ebd48b make/build.properties
--- a/make/build.properties Tue Oct 18 13:29:31 2011 +0200
+++ b/make/build.properties Sun Jan 15 20:55:06 2012 +0100
@@ -22,5 +22,5 @@
dist.dir=${basedir}/../dist
junit.jar=${basedir}/../test-lib/junit-4.6.jar
release.version=1.2.1
-asm.version=3.3
+asm.version=4.0
maven.repo.local=../build/maven
diff -r b3a776b45df6 -r d31d25ebd48b make/build.xml
--- a/make/build.xml Tue Oct 18 13:29:31 2011 +0200
+++ b/make/build.xml Sun Jan 15 20:55:06 2012 +0100
@@ -11,7 +11,7 @@
classpath="/usr/share/lib/java/dtrace.jar"
property="libdtrace.jni.available"/>
<path id="javac.classpath">
- <pathelement path="${lib.dir}/btrace-asm-3.3.jar" />
+ <pathelement path="${lib.dir}/btrace-asm-4.0.jar" />
<pathelement path="${java.home}/../lib/tools.jar" />
<pathelement path="/usr/share/lib/java/dtrace.jar" />
</path>
@@ -181,7 +181,7 @@
</javac>
</target>
<target name="jar" depends="compile" description="Creates deployment
bundles">
- <unjar src="${lib.dir}/btrace-asm-3.3.jar" dest="${classes.dir}"/>
+ <unjar src="${lib.dir}/btrace-asm-4.0.jar" dest="${classes.dir}"/>
<jar jarfile="${agent.jar}"
basedir="${classes.dir}"
manifest="${share.src.dir}/META-INF/agent-manifest.mf"
diff -r b3a776b45df6 -r d31d25ebd48b nbproject/ide-file-targets.xml
--- a/nbproject/ide-file-targets.xml Tue Oct 18 13:29:31 2011 +0200
+++ b/nbproject/ide-file-targets.xml Sun Jan 15 20:55:06 2012 +0100
@@ -8,7 +8,7 @@
<fail unless="files">Must set property 'files'</fail>
<mkdir dir="build/test"/>
<javac destdir="build/test" includes="${files}" source="1.5"
srcdir="src/test" debug="true" debuglevel="lines,vars,source">
- <classpath
path="test-lib/junit-4.6.jar;test-lib/asm-3.3.jar;test-lib/asm-util-3.3.jar;test-lib/ant-junit.jar;build/classes;build/test"/>
+ <classpath
path="test-lib/junit-4.6.jar;test-lib/asm-4.0.jar;test-lib/asm-util-4.0.jar;test-lib/ant-junit.jar;build/classes;build/test"/>
</javac>
</target>
<target name="compile-selected-btrace-files">
@@ -25,14 +25,14 @@
<fail unless="files">Must set property 'files'</fail>
<mkdir dir="build/classes"/>
<javac destdir="build/classes" includes="${files}" source="1.5"
srcdir="src/share/classes" debug="true" debuglevel="lines,vars,source">
- <classpath
path="lib/btrace-asm-3.3.jar:/opt/java/default/lib/tools.jar"/>
+ <classpath
path="lib/btrace-asm-4.0.jar:/opt/java/default/lib/tools.jar"/>
</javac>
</target>
<target name="run-selected-file-in-classes" description="Run Single
File">
<fail unless="run.class">Must set property 'classname'</fail>
<java classname="${run.class}">
- <classpath path="build/classes:lib/btrace-asm-3.3.jar"/>
+ <classpath path="build/classes:lib/btrace-asm-4.0.jar"/>
</java>
</target>
@@ -40,7 +40,7 @@
<fail unless="run.class">Must set property 'run.class'</fail>
<path id="cp">
<pathelement
-path="test-lib/junit-4.6.jar;test-lib/asm-3.3.jar;test-lib/asm-util-3.3.jar;test-lib/ant-junit.jar;"/>
+path="test-lib/junit-4.6.jar;test-lib/asm-4.0.jar;test-lib/asm-util-4.0.jar;test-lib/ant-junit.jar;"/>
<pathelement path="build/test"/>
<pathelement path="build/classes"/>
</path>
@@ -61,7 +61,7 @@
<fail unless="debug.class">Must set property 'run.class'</fail>
<path id="cp">
<pathelement
-path="test-lib/junit-4.6.jar;test-lib/asm-3.3.jar;test-lib/asm-util-3.3.jar;test-lib/ant-junit.jar;"/>
+path="test-lib/junit-4.6.jar;test-lib/asm-4.0.jar;test-lib/asm-util-4.0.jar;test-lib/ant-junit.jar;"/>
<pathelement path="build/test"/>
<pathelement path="build/classes"/>
</path>
diff -r b3a776b45df6 -r d31d25ebd48b nbproject/project.xml
--- a/nbproject/project.xml Tue Oct 18 13:29:31 2011 +0200
+++ b/nbproject/project.xml Sun Jan 15 20:55:06 2012 +0100
@@ -213,19 +213,19 @@
<java-data
xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
<compilation-unit>
<package-root>src/share/classes</package-root>
- <classpath
mode="compile">lib/btrace-asm-3.3.jar:/opt/java/default/lib/tools.jar</classpath>
+ <classpath
mode="compile">lib/btrace-asm-4.0.jar:/opt/java/default/lib/tools.jar</classpath>
<built-to>build/classes</built-to>
<source-level>1.5</source-level>
</compilation-unit>
<compilation-unit>
<package-root>src/solaris/classes</package-root>
- <classpath
mode="compile">lib/btrace-asm-3.3.jar:/opt/java/default/lib/tools.jar</classpath>
+ <classpath
mode="compile">lib/btrace-asm-4.0.jar:/opt/java/default/lib/tools.jar</classpath>
<source-level>1.5</source-level>
</compilation-unit>
<compilation-unit>
<package-root>src/test</package-root>
<unit-tests/>
- <classpath
mode="compile">build/classes:test-lib/asm-3.3.jar:lib/btrace-asm-3.3.jar:test-lib/asm-util-3.1.jar:/opt/junit4.8.2/junit-4.8.2.jar</classpath>
+ <classpath
mode="compile">build/classes:test-lib/asm-4.0.jar:lib/btrace-asm-4.0.jar:test-lib/asm-util-4.0.jar:/opt/junit4.8.2/junit-4.8.2.jar</classpath>
<built-to>build/test</built-to>
<source-level>1.5</source-level>
</compilation-unit>
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/agent/Client.java
--- a/src/share/classes/com/sun/btrace/agent/Client.java Tue Oct 18
13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/agent/Client.java Sun Jan 15
20:55:06 2012 +0100
@@ -41,6 +41,7 @@
import com.sun.btrace.PerfReader;
import com.sun.btrace.comm.RetransformClassNotification;
import com.sun.btrace.comm.RetransformationStartNotification;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import com.sun.btrace.runtime.ClassFilter;
import com.sun.btrace.runtime.ClassRenamer;
import com.sun.btrace.runtime.ClinitInjector;
@@ -53,7 +54,6 @@
import com.sun.btrace.runtime.OnMethod;
import com.sun.btrace.runtime.OnProbe;
import com.sun.btrace.runtime.RunnableGeneratorImpl;
-import com.sun.btrace.util.NullVisitor;
import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.IllegalClassFormatException;
import java.lang.instrument.Instrumentation;
@@ -386,7 +386,7 @@
private void verify(byte[] buf) {
ClassReader reader = new ClassReader(buf);
- Verifier verifier = new Verifier(new NullVisitor(), Main.isUnsafe());
+ Verifier verifier = new Verifier(new ClassVisitor(Opcodes.ASM4) {},
Main.isUnsafe());
if (debug) Main.debugPrint("verifying BTrace class");
InstrumentUtils.accept(reader, verifier);
className = verifier.getClassName().replace('/', '.');
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/client/Client.java
--- a/src/share/classes/com/sun/btrace/client/Client.java Tue Oct 18
13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/client/Client.java Sun Jan 15
20:55:06 2012 +0100
@@ -46,11 +46,8 @@
import com.sun.btrace.comm.InstrumentCommand;
import com.sun.btrace.comm.MessageCommand;
import com.sun.btrace.comm.WireIO;
-import com.sun.btrace.util.NullVisitor;
+import com.sun.btrace.org.objectweb.asm.*;
import com.sun.tools.attach.VirtualMachine;
-import com.sun.btrace.org.objectweb.asm.ClassReader;
-import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
-import com.sun.btrace.org.objectweb.asm.Type;
import java.util.concurrent.atomic.AtomicBoolean;
/**
@@ -508,12 +505,12 @@
private Object getDTraceSource(final String fileName, byte[] code) {
ClassReader reader = new ClassReader(code);
final Object[] result = new Object[1];
- reader.accept(new NullVisitor() {
+ reader.accept(new ClassVisitor(Opcodes.ASM4) {
@Override
public AnnotationVisitor visitAnnotation(String desc, boolean
vis) {
if (desc.equals(DTRACE_DESC)) {
- return new NullVisitor() {
+ return new AnnotationVisitor(Opcodes.ASM4) {
@Override
public void visit(String name, Object value) {
@@ -523,7 +520,7 @@
}
};
} else if (desc.equals(DTRACE_REF_DESC)) {
- return new NullVisitor() {
+ return new AnnotationVisitor(Opcodes.ASM4) {
@Override
public void visit(String name, Object value) {
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/compiler/Postprocessor.java
--- a/src/share/classes/com/sun/btrace/compiler/Postprocessor.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/compiler/Postprocessor.java Sun
Jan 15 20:55:06 2012 +0100
@@ -27,16 +27,12 @@
import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
import com.sun.btrace.org.objectweb.asm.Attribute;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.FieldVisitor;
import com.sun.btrace.org.objectweb.asm.Label;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import com.sun.btrace.org.objectweb.asm.Opcodes;
import com.sun.btrace.org.objectweb.asm.Type;
-import com.sun.btrace.util.NullVisitor;
-import com.sun.org.apache.bcel.internal.generic.BASTORE;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
@@ -48,13 +44,13 @@
*
* @author Jaroslav Bachorik
*/
-public class Postprocessor extends ClassAdapter {
+public class Postprocessor extends ClassVisitor {
private List<FieldDescriptor> fields = new ArrayList<FieldDescriptor>();
private boolean shortSyntax = false;
private String className = "";
public Postprocessor(ClassVisitor cv) {
- super(cv);
+ super(Opcodes.ASM4, cv);
}
@Override
@@ -96,10 +92,11 @@
if (!shortSyntax) return super.visitField(access, name, desc,
signature, value);
final List<Attribute> attrs = new ArrayList<Attribute>();
- return new FieldVisitor() {
+ return new FieldVisitor(Opcodes.ASM4) {
public AnnotationVisitor visitAnnotation(String string, boolean
bln) {
- return new NullVisitor();
+ return new AnnotationVisitor(Opcodes.ASM4){
+ };
}
public void visitAttribute(Attribute atrbt) {
@@ -145,14 +142,14 @@
}
}
- private class MethodConvertor extends MethodAdapter {
+ private class MethodConvertor extends MethodVisitor {
private Deque<Boolean> simulatedStack = new ArrayDeque<Boolean>();
private int localVarOffset = 0;
private boolean isConstructor;
private boolean copyEnabled = false;
public MethodConvertor(int localVarOffset, boolean isConstructor,
MethodVisitor mv) {
- super(mv);
+ super(Opcodes.ASM4, mv);
this.localVarOffset = localVarOffset;
this.isConstructor = isConstructor;
this.copyEnabled = !isConstructor; // copy is enabled by default
for all methods except constructor
@@ -604,12 +601,12 @@
@Override
public AnnotationVisitor visitAnnotation(String string, boolean bln)
{
- return copyEnabled ? super.visitAnnotation(string, bln) : new
NullVisitor();
+ return copyEnabled ? super.visitAnnotation(string, bln) : new
AnnotationVisitor(Opcodes.ASM4){};
}
@Override
public AnnotationVisitor visitAnnotationDefault() {
- return copyEnabled ? super.visitAnnotationDefault() : new
NullVisitor();
+ return copyEnabled ? super.visitAnnotationDefault() : new
AnnotationVisitor(Opcodes.ASM4){};
}
@Override
@@ -632,7 +629,7 @@
@Override
public AnnotationVisitor visitParameterAnnotation(int i, String
string, boolean bln) {
- return copyEnabled ? super.visitParameterAnnotation(i, string,
bln) : new NullVisitor();
+ return copyEnabled ? super.visitParameterAnnotation(i, string,
bln) : new AnnotationVisitor(Opcodes.ASM4){};
}
@Override
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ArrayAccessInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/ArrayAccessInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ArrayAccessInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,10 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -99,7 +100,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ArrayAllocInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/ArrayAllocInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ArrayAllocInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,10 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -106,7 +107,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/CatchInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/CatchInstrumentor.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/CatchInstrumentor.java Sun
Jan 15 20:55:06 2012 +0100
@@ -30,11 +30,12 @@
import java.io.FileOutputStream;
import java.util.Map;
import java.util.HashMap;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.Label;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
/**
* This visitor helps in inserting code whenever an exception
@@ -84,7 +85,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ClassFilter.java
--- a/src/share/classes/com/sun/btrace/runtime/ClassFilter.java Tue Oct 18
13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ClassFilter.java Sun Jan 15
20:55:06 2012 +0100
@@ -30,7 +30,6 @@
import java.util.regex.Pattern;
import static com.sun.btrace.org.objectweb.asm.Opcodes.ACC_INTERFACE;
import static com.sun.btrace.runtime.Constants.*;
-import com.sun.btrace.util.NullVisitor;
import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
import com.sun.btrace.org.objectweb.asm.Attribute;
import com.sun.btrace.org.objectweb.asm.ClassReader;
@@ -39,6 +38,7 @@
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import com.sun.btrace.org.objectweb.asm.Type;
import com.sun.btrace.annotations.BTrace;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import java.util.regex.PatternSyntaxException;
/**
@@ -62,7 +62,6 @@
static {
CheckingVisitor.class.getClass();
ClassReader.class.getClass();
- NullVisitor.class.getClass();
AnnotationVisitor.class.getClass();
FieldVisitor.class.getClass();
MethodVisitor.class.getClass();
@@ -158,11 +157,15 @@
}
}
- private class CheckingVisitor implements ClassVisitor {
+ private class CheckingVisitor extends ClassVisitor {
private boolean isInterface;
private boolean isCandidate;
- private NullVisitor nullVisitor = new NullVisitor();
+ private AnnotationVisitor nullAnnotationVisitor = new
AnnotationVisitor(Opcodes.ASM4) {};
+
+ public CheckingVisitor() {
+ super(Opcodes.ASM4);
+ }
boolean isCandidate() {
return isCandidate;
@@ -206,14 +209,14 @@
public AnnotationVisitor visitAnnotation(String desc, boolean
visible) {
if (isInterface) {
- return nullVisitor;
+ return nullAnnotationVisitor;
}
if (BTRACE_DESC.equals(desc)) {
// ignore classes annotated with @BTrace -
// we don't want to instrument tracing classes!
isCandidate = false;
- return nullVisitor;
+ return nullAnnotationVisitor;
}
if (!isCandidate) {
@@ -221,18 +224,18 @@
for (String name : annotationClasses) {
if (annoName.equals(name)) {
isCandidate = true;
- return nullVisitor;
+ return nullAnnotationVisitor;
}
}
for (Pattern pat : annotationClassPatterns) {
if (pat.matcher(annoName).matches()) {
isCandidate = true;
- return nullVisitor;
+ return nullAnnotationVisitor;
}
}
}
- return nullVisitor;
+ return nullAnnotationVisitor;
}
public void visitAttribute(Attribute attr) {
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ClassRenamer.java
--- a/src/share/classes/com/sun/btrace/runtime/ClassRenamer.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ClassRenamer.java Sun
Jan 15 20:55:06 2012 +0100
@@ -28,13 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.FieldVisitor;
import com.sun.btrace.org.objectweb.asm.Label;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import com.sun.btrace.org.objectweb.asm.Type;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
@@ -48,14 +46,14 @@
*
* @author A. Sundararajan
*/
-public class ClassRenamer extends ClassAdapter {
+public class ClassRenamer extends ClassVisitor {
private String oldName;
private String newName;
private String oldNameDesc;
private String newNameDesc;
public ClassRenamer(String newName, ClassVisitor visitor) {
- super(visitor);
+ super(ASM4, visitor);
newName = newName.replace('.', '/');
this.newName = newName;
this.newNameDesc = "L" + newName + ";";
@@ -89,7 +87,7 @@
desc = desc.replace(oldNameDesc, newNameDesc);
MethodVisitor adaptee = super.visitMethod(access, name,
desc, signature, exceptions);
- return new MethodAdapter(adaptee) {
+ return new MethodVisitor(ASM4, adaptee) {
public void visitFieldInsn(int opcode,
String owner,
String name,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ClinitInjector.java
--- a/src/share/classes/com/sun/btrace/runtime/ClinitInjector.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ClinitInjector.java Sun
Jan 15 20:55:06 2012 +0100
@@ -25,9 +25,7 @@
package com.sun.btrace.runtime;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassVisitor;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import com.sun.btrace.org.objectweb.asm.Opcodes;
import com.sun.btrace.org.objectweb.asm.Type;
@@ -37,7 +35,7 @@
* BTrace class retransformation upon invoking its static initializer.
* @author Jaroslav Bachorik
*/
-public class ClinitInjector extends ClassAdapter {
+public class ClinitInjector extends ClassVisitor {
private static String CLINIT = "<clinit>";
private boolean clinitFound = false;
@@ -46,7 +44,7 @@
private final String cname;
public ClinitInjector(ClassVisitor cv, String runtime, String cname) {
- super(cv);
+ super(Opcodes.ASM4, cv);
this.runtime = runtime;
this.cname = cname;
}
@@ -70,7 +68,7 @@
public MethodVisitor visitMethod(int access, String name, String desc,
String signature, String[] exceptions) {
MethodVisitor visitor = super.visitMethod(access, name, desc,
signature, exceptions);
if (CLINIT.equals(name)) {
- visitor = new MethodAdapter(visitor) {
+ visitor = new MethodVisitor(Opcodes.ASM4, visitor) {
private boolean exitFound = false;
private int requiredStack = 0;
@Override
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ErrorReturnInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/ErrorReturnInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ErrorReturnInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,11 +28,12 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.Label;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
import static com.sun.btrace.runtime.Constants.*;
@@ -84,7 +85,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/FieldAccessInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/FieldAccessInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/FieldAccessInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,10 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -97,7 +98,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/Instrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/Instrumentor.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/Instrumentor.java Sun
Jan 15 20:55:06 2012 +0100
@@ -36,11 +36,9 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import com.sun.btrace.org.objectweb.asm.Opcodes;
import com.sun.btrace.org.objectweb.asm.Type;
@@ -56,7 +54,7 @@
*
* @author A. Sundararajan
*/
-public class Instrumentor extends ClassAdapter {
+public class Instrumentor extends ClassVisitor {
private String btraceClassName;
private ClassReader btraceClass;
private List<OnMethod> onMethods;
@@ -72,7 +70,7 @@
public Instrumentor(Class clazz,
String btraceClassName, ClassReader btraceClass,
List<OnMethod> onMethods, ClassVisitor cv) {
- super(cv);
+ super(ASM4, cv);
this.clazz = clazz;
this.btraceClassName = btraceClassName.replace('.', '/');
this.btraceClass = btraceClass;
@@ -220,7 +218,8 @@
}
}
- return new MethodAdapter(methodVisitor) {
+ return new MethodVisitor(ASM4,
+ methodVisitor) {
public AnnotationVisitor visitAnnotation(String annoDesc,
boolean visible) {
for (OnMethod om : applicableOnMethods) {
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/LineNumberInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/LineNumberInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/LineNumberInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -25,14 +25,10 @@
package com.sun.btrace.runtime;
+import com.sun.btrace.org.objectweb.asm.*;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
-import com.sun.btrace.org.objectweb.asm.ClassReader;
-import com.sun.btrace.org.objectweb.asm.ClassWriter;
-import com.sun.btrace.org.objectweb.asm.Label;
-import com.sun.btrace.org.objectweb.asm.MethodVisitor;
/**
@@ -80,7 +76,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodCallInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodCallInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodCallInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,11 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
-import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
/**
* This visitor helps in inserting code whenever a method call
@@ -82,7 +82,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodCopier.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodCopier.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodCopier.java Sun
Jan 15 20:55:06 2012 +0100
@@ -25,7 +25,7 @@
package com.sun.btrace.runtime;
-import com.sun.btrace.util.NullVisitor;
+import com.sun.btrace.org.objectweb.asm.*;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -33,15 +33,6 @@
import java.util.List;
import java.util.ArrayList;
import java.lang.reflect.Method;
-import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
-import com.sun.btrace.org.objectweb.asm.Attribute;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
-import com.sun.btrace.org.objectweb.asm.ClassReader;
-import com.sun.btrace.org.objectweb.asm.ClassVisitor;
-import com.sun.btrace.org.objectweb.asm.ClassWriter;
-import com.sun.btrace.org.objectweb.asm.FieldVisitor;
-import com.sun.btrace.org.objectweb.asm.MethodVisitor;
-import com.sun.btrace.org.objectweb.asm.Type;
import static com.sun.btrace.runtime.Constants.CLASS_INITIALIZER;
/**
@@ -53,7 +44,7 @@
*
* @author A. Sundararajan
*/
-public class MethodCopier extends ClassAdapter {
+public class MethodCopier extends ClassVisitor {
private ClassReader fromClass;
private Iterable<MethodInfo> methods;
@@ -74,7 +65,7 @@
public MethodCopier(ClassReader fromClass, ClassVisitor toClass,
Iterable<MethodInfo> methods) {
- super(toClass);
+ super(Opcodes.ASM4, toClass);
this.fromClass = fromClass;
this.methods = methods;
}
@@ -99,13 +90,13 @@
}
public void visitEnd() {
- fromClass.accept(new ClassVisitor() {
+ fromClass.accept(new ClassVisitor(Opcodes.ASM4) {
public void visit(int version, int access, String name,
String signature, String superName, String[] interfaces) {
}
public AnnotationVisitor visitAnnotation(String desc, boolean
visible) {
- return new NullVisitor();
+ return new AnnotationVisitor(Opcodes.ASM4) {};
}
public void visitAttribute(Attribute attr) {
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodEntryExitInstrumentor.java
---
a/src/share/classes/com/sun/btrace/runtime/MethodEntryExitInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++
b/src/share/classes/com/sun/btrace/runtime/MethodEntryExitInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,10 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
import static com.sun.btrace.runtime.Constants.CONSTRUCTOR;
@@ -117,7 +118,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodEntryInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodEntryInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodEntryInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,10 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
import static com.sun.btrace.runtime.Constants.CONSTRUCTOR;
@@ -108,7 +109,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodInstrumentor.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodInstrumentor.java Sun
Jan 15 20:55:06 2012 +0100
@@ -25,7 +25,6 @@
package com.sun.btrace.runtime;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import com.sun.btrace.org.objectweb.asm.Type;
import com.sun.btrace.util.LocalVariablesSorter;
@@ -41,7 +40,7 @@
*
* @author A. Sundararajan
*/
-public class MethodInstrumentor extends MethodAdapter {
+public class MethodInstrumentor extends MethodVisitor {
public static final String JAVA_LANG_THREAD_LOCAL =
Type.getInternalName(ThreadLocal.class);
public static final String JAVA_LANG_THREAD_LOCAL_GET = "get";
@@ -255,7 +254,7 @@
public MethodInstrumentor(MethodVisitor mv, String parentClz, String
superClz,
int access, String name, String desc) {
- super(mv);
+ super(ASM4, mv);
this.parentClz = parentClz;
this.superClz = superClz;
this.access = access;
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodRemover.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodRemover.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodRemover.java Sun
Jan 15 20:55:06 2012 +0100
@@ -25,16 +25,13 @@
package com.sun.btrace.runtime;
-import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
import static com.sun.btrace.runtime.Constants.*;
-import com.sun.btrace.util.NullVisitor;
import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
import com.sun.btrace.org.objectweb.asm.Attribute;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.Label;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
/**
* This adapter removes the methods that are
@@ -43,9 +40,9 @@
*
* @author A. Sundararajan
*/
-public class MethodRemover extends ClassAdapter {
+public class MethodRemover extends ClassVisitor {
public MethodRemover(ClassVisitor visitor) {
- super(visitor);
+ super(Opcodes.ASM4, visitor);
}
private MethodVisitor addMethod(int access, String name,
@@ -61,7 +58,7 @@
return super.visitMethod(access, name,
desc, signature, exceptions);
} else {
- return new MethodAdapter(new NullVisitor()) {
+ return new MethodVisitor(Opcodes.ASM4) {
private boolean include = true;
private MethodVisitor adaptee = null;
@@ -76,10 +73,10 @@
boolean visible) {
if (annoDesc.equals(ONMETHOD_DESC)) {
include = false;
- return new NullVisitor();
+ return new AnnotationVisitor(Opcodes.ASM4) {};
} else if (annoDesc.equals(ONPROBE_DESC)) {
include = false;
- return new NullVisitor();
+ return new AnnotationVisitor(Opcodes.ASM4) {};
} else {
return getAdaptee().visitAnnotation(annoDesc,
visible);
}
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodReturnInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodReturnInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodReturnInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -29,10 +29,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -86,7 +87,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/MethodVerifier.java
--- a/src/share/classes/com/sun/btrace/runtime/MethodVerifier.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/MethodVerifier.java Sun
Jan 15 20:55:06 2012 +0100
@@ -24,14 +24,13 @@
*/
package com.sun.btrace.runtime;
-import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
import java.util.Map;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import com.sun.btrace.org.objectweb.asm.Label;
-import com.sun.btrace.org.objectweb.asm.MethodAdapter;
import com.sun.btrace.org.objectweb.asm.MethodVisitor;
+import com.sun.btrace.org.objectweb.asm.Opcodes;
import com.sun.btrace.org.objectweb.asm.Type;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
import static com.sun.btrace.runtime.Constants.*;
@@ -43,7 +42,7 @@
*
* @author A. Sundararajan
*/
-public class MethodVerifier extends MethodAdapter {
+public class MethodVerifier extends MethodVisitor {
final private static Set<String> primitiveWrapperTypes;
final private static Set<String> unboxMethods;
@@ -77,7 +76,7 @@
private Map<Label, Label> labels;
public MethodVerifier(Verifier v, MethodVisitor mv, String className,
CycleDetector graph, String methodName) {
- super(mv);
+ super(Opcodes.ASM4, mv);
this.verifier = v;
this.className = className;
this.enclosingMethodName = methodName;
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ObjectAllocInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/ObjectAllocInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ObjectAllocInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -25,13 +25,10 @@
package com.sun.btrace.runtime;
+import com.sun.btrace.org.objectweb.asm.*;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
-import com.sun.btrace.org.objectweb.asm.ClassReader;
-import com.sun.btrace.org.objectweb.asm.ClassWriter;
-import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -74,7 +71,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/Preprocessor.java
--- a/src/share/classes/com/sun/btrace/runtime/Preprocessor.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/Preprocessor.java Sun
Jan 15 20:55:06 2012 +0100
@@ -36,13 +36,11 @@
import com.sun.btrace.annotations.Export;
import com.sun.btrace.annotations.TLS;
import com.sun.btrace.annotations.Property;
-import com.sun.btrace.util.NullVisitor;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.sun.btrace.org.objectweb.asm.AnnotationVisitor;
import com.sun.btrace.org.objectweb.asm.Attribute;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
import com.sun.btrace.org.objectweb.asm.ClassVisitor;
import com.sun.btrace.org.objectweb.asm.ClassWriter;
@@ -77,7 +75,7 @@
*
* @author A. Sundararajan
*/
-public class Preprocessor extends ClassAdapter {
+public class Preprocessor extends ClassVisitor {
public static final String JAVA_LANG_THREAD_LOCAL_DESC =
"Ljava/lang/ThreadLocal;";
// btrace specific stuff
public static final String BTRACE_EXPORT_DESC =
@@ -280,7 +278,7 @@
private boolean classInitializerFound;
public Preprocessor(ClassVisitor cv) {
- super(cv);
+ super(Opcodes.ASM4, cv);
fields = new ArrayList<FieldDescriptor>();
threadLocalFields = new HashMap<String, FieldDescriptor>();
exportFields = new HashMap<String, FieldDescriptor>();
@@ -303,7 +301,7 @@
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
final AnnotationVisitor zupr = super.visitAnnotation(desc, visible);
if ("Lcom/sun/btrace/annotations/BTrace;".equals(desc)) {
- return new AnnotationVisitor() {
+ return new AnnotationVisitor(Opcodes.ASM4) {
public void visit(String string, Object o) {
if ("name".equals(string)) {
@@ -384,7 +382,7 @@
public FieldVisitor visitField(final int access, final String name,
final String desc, final String signature, final Object value) {
final List<Attribute> attrs = new ArrayList<Attribute>();
- return new FieldVisitor() {
+ return new FieldVisitor(Opcodes.ASM4) {
boolean isExport;
boolean isThreadLocal;
boolean isProperty;
@@ -398,7 +396,7 @@
isExport = true;
} else if (desc.equals(BTRACE_PROPERTY_DESC)) {
isProperty = true;
- return new NullVisitor() {
+ return new AnnotationVisitor(Opcodes.ASM4) {
@Override
public void visit(String name, Object value) {
if (name.equals(BTRACE_PROPERTY_NAME)) {
@@ -409,7 +407,7 @@
}
};
}
- return new NullVisitor();
+ return new AnnotationVisitor(Opcodes.ASM4){};
}
public void visitAttribute(Attribute attr) {
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/SynchronizedInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/SynchronizedInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/SynchronizedInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -25,14 +25,10 @@
package com.sun.btrace.runtime;
+import com.sun.btrace.org.objectweb.asm.*;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
-import com.sun.btrace.org.objectweb.asm.ClassReader;
-import com.sun.btrace.org.objectweb.asm.ClassWriter;
-import com.sun.btrace.org.objectweb.asm.MethodVisitor;
-import com.sun.btrace.org.objectweb.asm.Type;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -133,7 +129,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
private String className;
public void visit(int version, int access, String name,
String signature, String superName, String[]
interfaces) {
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/ThrowInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/ThrowInstrumentor.java Tue
Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/ThrowInstrumentor.java Sun
Jan 15 20:55:06 2012 +0100
@@ -25,13 +25,10 @@
package com.sun.btrace.runtime;
+import com.sun.btrace.org.objectweb.asm.*;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
-import com.sun.btrace.org.objectweb.asm.ClassReader;
-import com.sun.btrace.org.objectweb.asm.ClassWriter;
-import com.sun.btrace.org.objectweb.asm.MethodVisitor;
import static com.sun.btrace.org.objectweb.asm.Opcodes.*;
/**
@@ -76,7 +73,7 @@
FileOutputStream fos = new FileOutputStream(args[0] + ".class");
ClassWriter writer = InstrumentUtils.newClassWriter();
InstrumentUtils.accept(reader,
- new ClassAdapter(writer) {
+ new ClassVisitor(Opcodes.ASM4, writer) {
public MethodVisitor visitMethod(int access, String name,
String desc,
String signature, String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name,
desc,
diff -r b3a776b45df6 -r d31d25ebd48b
src/share/classes/com/sun/btrace/runtime/TypeCheckInstrumentor.java
--- a/src/share/classes/com/sun/btrace/runtime/TypeCheckInstrumentor.java
Tue Oct 18 13:29:31 2011 +0200
+++ b/src/share/classes/com/sun/btrace/runtime/TypeCheckInstrumentor.java
Sun Jan 15 20:55:06 2012 +0100
@@ -28,10 +28,11 @@
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import com.sun.btrace.org.objectweb.asm.ClassAdapter;
import com.sun.btrace.org.objectweb.asm.ClassReader;
+import com.sun.btrace.org.o
[truncated due to length]
|
[btrace~hg:436] #BTRACE-83: Updating ASM to ver. 4.0 |
j . bachorik | 01/15/2012 |





