From a7a1c06ecb3985592593cad60bfc1be436c970f4 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Thu, 24 Sep 2020 23:25:47 +0800 Subject: [PATCH] Upgrade asm to 9.0 #1527 --- .../taobao/arthas/bytekit/asm/InliningAdapter.java | 2 +- .../arthas/bytekit/asm/MethodCallInliner.java | 2 +- .../com/taobao/arthas/bytekit/utils/AsmUtils.java | 14 +++++++------- .../com/taobao/arthas/core/advisor/Enhancer.java | 2 +- pom.xml | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/InliningAdapter.java b/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/InliningAdapter.java index bf34a3520..6ebd30f48 100644 --- a/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/InliningAdapter.java +++ b/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/InliningAdapter.java @@ -17,7 +17,7 @@ public class InliningAdapter extends LocalVariablesSorter { private LocalVariablesSorter lvs; public InliningAdapter(LocalVariablesSorter mv, int access, String desc, Label end) { - super(Opcodes.ASM8, access, desc, mv); + super(Opcodes.ASM9, access, desc, mv); this.end = end; this.lvs = mv; diff --git a/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/MethodCallInliner.java b/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/MethodCallInliner.java index f001a2784..dd8cad220 100644 --- a/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/MethodCallInliner.java +++ b/bytekit/src/main/java/com/taobao/arthas/bytekit/asm/MethodCallInliner.java @@ -37,7 +37,7 @@ public abstract class MethodCallInliner extends GeneratorAdapter { public MethodCallInliner(int access, String name, String desc, MethodVisitor mv, MethodNode toBeInlined) { - super(Opcodes.ASM8, mv, access, name, desc); + super(Opcodes.ASM9, mv, access, name, desc); this.toBeInlined = toBeInlined; } diff --git a/bytekit/src/main/java/com/taobao/arthas/bytekit/utils/AsmUtils.java b/bytekit/src/main/java/com/taobao/arthas/bytekit/utils/AsmUtils.java index 9846d293d..92b49fc4e 100644 --- a/bytekit/src/main/java/com/taobao/arthas/bytekit/utils/AsmUtils.java +++ b/bytekit/src/main/java/com/taobao/arthas/bytekit/utils/AsmUtils.java @@ -50,7 +50,7 @@ public class AsmUtils { public static ClassNode toClassNode(byte[] classBytes) { ClassReader reader = new ClassReader(classBytes); - ClassNode result = new ClassNode(Opcodes.ASM8); + ClassNode result = new ClassNode(Opcodes.ASM9); reader.accept(result, ClassReader.SKIP_FRAMES); return result; } @@ -158,7 +158,7 @@ public class AsmUtils { } public static MethodNode newMethodNode(MethodNode source) { - return new MethodNode(Opcodes.ASM8, source.access, source.name, source.desc, source.signature, + return new MethodNode(Opcodes.ASM9, source.access, source.name, source.desc, source.signature, source.exceptions.toArray(new String[source.exceptions.size()])); } @@ -171,8 +171,8 @@ public class AsmUtils { } public static ClassNode removeJSRInstructions(ClassNode classNode) { - ClassNode result = new ClassNode(Opcodes.ASM8); - classNode.accept(new ClassVisitor(Opcodes.ASM8, result) { + ClassNode result = new ClassNode(Opcodes.ASM9); + classNode.accept(new ClassVisitor(Opcodes.ASM9, result) { @Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { @@ -185,7 +185,7 @@ public class AsmUtils { public static MethodNode removeLineNumbers(MethodNode methodNode) { MethodNode result = newMethodNode(methodNode); - methodNode.accept(new MethodVisitor(Opcodes.ASM8, result) { + methodNode.accept(new MethodVisitor(Opcodes.ASM9, result) { public void visitLineNumber(int line, Label start) { } }); @@ -379,8 +379,8 @@ public class AsmUtils { } public static ClassNode copy(ClassNode source) { - ClassNode result = new ClassNode(Opcodes.ASM8); - source.accept(new ClassVisitor(Opcodes.ASM8, result) { + ClassNode result = new ClassNode(Opcodes.ASM9); + source.accept(new ClassVisitor(Opcodes.ASM9, result) { @Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { diff --git a/core/src/main/java/com/taobao/arthas/core/advisor/Enhancer.java b/core/src/main/java/com/taobao/arthas/core/advisor/Enhancer.java index 0ff205bad..cfe76d1af 100644 --- a/core/src/main/java/com/taobao/arthas/core/advisor/Enhancer.java +++ b/core/src/main/java/com/taobao/arthas/core/advisor/Enhancer.java @@ -124,7 +124,7 @@ public class Enhancer implements ClassFileTransformer { } //keep origin class reader for bytecode optimizations, avoiding JVM metaspace OOM. - ClassNode classNode = new ClassNode(Opcodes.ASM8); + ClassNode classNode = new ClassNode(Opcodes.ASM9); ClassReader classReader = AsmUtils.toClassNode(classfileBuffer, classNode); // remove JSR https://github.com/alibaba/arthas/issues/1304 classNode = AsmUtils.removeJSRInstructions(classNode); diff --git a/pom.xml b/pom.xml index 88ba7fa03..449ba2a4d 100644 --- a/pom.xml +++ b/pom.xml @@ -165,12 +165,12 @@ com.alibaba.arthas arthas-repackage-logger - 0.0.5 + 0.0.6 com.alibaba.arthas arthas-repackage-asm - 0.0.5 + 0.0.6 com.alibaba