diff --git a/core/pom.xml b/core/pom.xml
index e346354a8..f71ef36be 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -139,14 +139,6 @@
arthas-tunnel-client
${project.version}
-
- org.ow2.asm
- asm
-
-
- org.ow2.asm
- asm-commons
-
com.alibaba.middleware
termd-core
diff --git a/core/src/main/java/com/taobao/arthas/core/advisor/ArthasMethod.java b/core/src/main/java/com/taobao/arthas/core/advisor/ArthasMethod.java
index 9339e6c6e..0672c11d6 100644
--- a/core/src/main/java/com/taobao/arthas/core/advisor/ArthasMethod.java
+++ b/core/src/main/java/com/taobao/arthas/core/advisor/ArthasMethod.java
@@ -4,8 +4,7 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import org.objectweb.asm.Type;
-
+import com.alibaba.arthas.deps.org.objectweb.asm.Type;
import com.taobao.arthas.core.util.StringUtils;
/**
@@ -31,7 +30,7 @@ public class ArthasMethod {
try {
ClassLoader loader = this.clazz.getClassLoader();
- final org.objectweb.asm.Type asmType = org.objectweb.asm.Type.getMethodType(methodDesc);
+ final Type asmType = Type.getMethodType(methodDesc);
// to arg types
final Class>[] argsClasses = new Class>[asmType.getArgumentTypes().length];
diff --git a/core/src/main/java/com/taobao/arthas/core/advisor/AsmCodeLock.java b/core/src/main/java/com/taobao/arthas/core/advisor/AsmCodeLock.java
deleted file mode 100644
index 250233d85..000000000
--- a/core/src/main/java/com/taobao/arthas/core/advisor/AsmCodeLock.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package com.taobao.arthas.core.advisor;
-
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.commons.AdviceAdapter;
-
-/**
- * ASM代码锁
- * Created by vlinux on 15/5/28.
- */
-public class AsmCodeLock implements CodeLock, Opcodes {
-
- private final AdviceAdapter aa;
-
- // 锁标记
- private boolean isLook;
-
- // 代码块开始特征数组
- private final int[] beginCodeArray;
-
- // 代码块结束特征数组
- private final int[] endCodeArray;
-
- // 代码匹配索引
- private int index = 0;
-
-
- /**
- * 用ASM构建代码锁
- *
- * @param aa ASM
- * @param beginCodeArray 代码块开始特征数组
- * 字节码流要求不能破坏执行堆栈
- * @param endCodeArray 代码块结束特征数组
- * 字节码流要求不能破坏执行堆栈
- */
- public AsmCodeLock(AdviceAdapter aa, int[] beginCodeArray, int[] endCodeArray) {
- if (null == beginCodeArray
- || null == endCodeArray
- || beginCodeArray.length != endCodeArray.length) {
- throw new IllegalArgumentException();
- }
-
- this.aa = aa;
- this.beginCodeArray = beginCodeArray;
- this.endCodeArray = endCodeArray;
-
- }
-
- @Override
- public void code(int code) {
-
- final int[] codes = isLock() ? endCodeArray : beginCodeArray;
-
- if (index >= codes.length) {
- reset();
- return;
- }
-
- if (codes[index] != code) {
- reset();
- return;
- }
-
- if (++index == codes.length) {
- // 翻转锁状态
- isLook = !isLook;
- reset();
- }
-
- }
-
- /*
- * 重置索引
- * 一般在代码序列判断失败时,则会对索引进行重置,冲头开始匹配特征序列
- */
- private void reset() {
- index = 0;
- }
-
-
- private void asm(int opcode) {
- aa.visitInsn(opcode);
- }
-
- /**
- * 锁定序列
- */
- private void lock() {
- for (int op : beginCodeArray) {
- asm(op);
- }
- }
-
- /*
- * 解锁序列
- */
- private void unLock() {
- for (int op : endCodeArray) {
- asm(op);
- }
- }
-
- @Override
- public boolean isLock() {
- return isLook;
- }
-
- @Override
- public void lock(Block block) {
- lock();
- try {
- block.code();
- } finally {
- unLock();
- }
- }
-
-}
diff --git a/core/src/main/java/com/taobao/arthas/core/advisor/TracingAsmCodeLock.java b/core/src/main/java/com/taobao/arthas/core/advisor/TracingAsmCodeLock.java
deleted file mode 100644
index 89b32cb81..000000000
--- a/core/src/main/java/com/taobao/arthas/core/advisor/TracingAsmCodeLock.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.taobao.arthas.core.advisor;
-
-import org.objectweb.asm.commons.AdviceAdapter;
-
-/**
- * 用于Tracing的代码锁
- * @author ralf0131 2016-12-28 16:46.
- */
-public class TracingAsmCodeLock extends AsmCodeLock {
-
- public TracingAsmCodeLock(AdviceAdapter aa) {
- super(
- aa,
- new int[]{
- ACONST_NULL, ICONST_0, ICONST_1, SWAP, SWAP, POP2, POP
- },
- new int[]{
- ICONST_1, ACONST_NULL, ICONST_0, SWAP, SWAP, POP, POP2
- }
- );
- }
-}
diff --git a/core/src/main/java/com/taobao/arthas/core/command/klass100/RedefineCommand.java b/core/src/main/java/com/taobao/arthas/core/command/klass100/RedefineCommand.java
index 10cca2e67..3a09c5d55 100644
--- a/core/src/main/java/com/taobao/arthas/core/command/klass100/RedefineCommand.java
+++ b/core/src/main/java/com/taobao/arthas/core/command/klass100/RedefineCommand.java
@@ -10,8 +10,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.objectweb.asm.ClassReader;
-
+import com.alibaba.arthas.deps.org.objectweb.asm.ClassReader;
import com.alibaba.arthas.deps.org.slf4j.Logger;
import com.alibaba.arthas.deps.org.slf4j.LoggerFactory;
import com.taobao.arthas.core.command.Constants;
diff --git a/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchMethodCommand.java b/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchMethodCommand.java
index 1f2f58a89..c40e0093f 100644
--- a/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchMethodCommand.java
+++ b/core/src/main/java/com/taobao/arthas/core/command/klass100/SearchMethodCommand.java
@@ -97,7 +97,7 @@ public class SearchMethodCommand extends AnnotatedCommand {
for (Class> clazz : matchedClasses) {
try {
for (Constructor> constructor : clazz.getDeclaredConstructors()) {
- String methodNameWithDescriptor = org.objectweb.asm.commons.Method.getMethod(constructor).toString();
+ String methodNameWithDescriptor = com.alibaba.arthas.deps.org.objectweb.asm.commons.Method.getMethod(constructor).toString();
if (!methodNameMatcher.matching("")) {
continue;
}
@@ -112,7 +112,7 @@ public class SearchMethodCommand extends AnnotatedCommand {
}
for (Method method : clazz.getDeclaredMethods()) {
- String methodNameWithDescriptor = org.objectweb.asm.commons.Method.getMethod(method).toString();
+ String methodNameWithDescriptor = com.alibaba.arthas.deps.org.objectweb.asm.commons.Method.getMethod(method).toString();
if (!methodNameMatcher.matching(method.getName())) {
continue;
}
diff --git a/core/src/main/java/com/taobao/arthas/core/command/logger/AsmRenameUtil.java b/core/src/main/java/com/taobao/arthas/core/command/logger/AsmRenameUtil.java
index 9c66f66d0..8a3f3da1d 100644
--- a/core/src/main/java/com/taobao/arthas/core/command/logger/AsmRenameUtil.java
+++ b/core/src/main/java/com/taobao/arthas/core/command/logger/AsmRenameUtil.java
@@ -1,11 +1,10 @@
package com.taobao.arthas.core.command.logger;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.commons.ClassRemapper;
-import org.objectweb.asm.commons.Remapper;
-import org.objectweb.asm.commons.SimpleRemapper;
+import com.alibaba.arthas.deps.org.objectweb.asm.ClassReader;
+import com.alibaba.arthas.deps.org.objectweb.asm.ClassVisitor;
+import com.alibaba.arthas.deps.org.objectweb.asm.ClassWriter;
+import com.alibaba.arthas.deps.org.objectweb.asm.commons.ClassRemapper;
+import com.alibaba.arthas.deps.org.objectweb.asm.commons.SimpleRemapper;
/**
*
diff --git a/pom.xml b/pom.xml
index cd0e5e5be..a0e47ec24 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,16 +90,6 @@
-
- org.ow2.asm
- asm
- 8.0.1
-
-
- org.ow2.asm
- asm-commons
- 8.0.1
-
org.benf
cfr