final class jdk.jfr.internal.instrument.JIMethodMergeAdapter extends jdk.internal.org.objectweb.asm.ClassVisitor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.instrument.JIMethodMergeAdapter
super_class: jdk.internal.org.objectweb.asm.ClassVisitor
{
private final jdk.internal.org.objectweb.asm.tree.ClassNode cn;
descriptor: Ljdk/internal/org/objectweb/asm/tree/ClassNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.reflect.Method> methodFilter;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/reflect/Method;>;
private final java.util.Map<java.lang.String, java.lang.String> typeMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
public void <init>(jdk.internal.org.objectweb.asm.ClassVisitor, jdk.internal.org.objectweb.asm.tree.ClassNode, java.util.List<java.lang.reflect.Method>, jdk.jfr.internal.instrument.JITypeMapping[]);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassVisitor;Ljdk/internal/org/objectweb/asm/tree/ClassNode;Ljava/util/List;[Ljdk/jfr/internal/instrument/JITypeMapping;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc 327680
aload 1
invokespecial jdk.internal.org.objectweb.asm.ClassVisitor.<init>:(ILjdk/internal/org/objectweb/asm/ClassVisitor;)V
1: aload 0
aload 2
putfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.cn:Ljdk/internal/org/objectweb/asm/tree/ClassNode;
2: aload 0
aload 3
putfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.methodFilter:Ljava/util/List;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.typeMap:Ljava/util/Map;
4: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: jdk.jfr.internal.instrument.JIMethodMergeAdapter jdk.internal.org.objectweb.asm.ClassVisitor jdk.internal.org.objectweb.asm.tree.ClassNode java.util.List jdk.jfr.internal.instrument.JITypeMapping[] top int int jdk.jfr.internal.instrument.JITypeMapping[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.typeMap:Ljava/util/Map;
aload 5
invokeinterface jdk.jfr.internal.instrument.JITypeMapping.from:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
aload 5
invokeinterface jdk.jfr.internal.instrument.JITypeMapping.to:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 5
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/instrument/JIMethodMergeAdapter;
0 10 1 cv Ljdk/internal/org/objectweb/asm/ClassVisitor;
0 10 2 cn Ljdk/internal/org/objectweb/asm/tree/ClassNode;
0 10 3 methodFilter Ljava/util/List<Ljava/lang/reflect/Method;>;
0 10 4 typeMappings [Ljdk/jfr/internal/instrument/JITypeMapping;
6 7 5 tm Ljdk/jfr/internal/instrument/JITypeMapping;
Signature: (Ljdk/internal/org/objectweb/asm/ClassVisitor;Ljdk/internal/org/objectweb/asm/tree/ClassNode;Ljava/util/List<Ljava/lang/reflect/Method;>;[Ljdk/jfr/internal/instrument/JITypeMapping;)V
MethodParameters:
Name Flags
cv
cn
methodFilter
typeMappings
public void visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
descriptor: (IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 1
iload 2
aload 3
aload 4
aload 5
aload 6
invokespecial jdk.internal.org.objectweb.asm.ClassVisitor.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
1: aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.typeMap:Ljava/util/Map;
aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.cn:Ljdk/internal/org/objectweb/asm/tree/ClassNode;
getfield jdk.internal.org.objectweb.asm.tree.ClassNode.name:Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/instrument/JIMethodMergeAdapter;
0 3 1 version I
0 3 2 access I
0 3 3 name Ljava/lang/String;
0 3 4 signature Ljava/lang/String;
0 3 5 superName Ljava/lang/String;
0 3 6 interfaces [Ljava/lang/String;
MethodParameters:
Name Flags
version
access
name
signature
superName
interfaces
public jdk.internal.org.objectweb.asm.MethodVisitor visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
aload 3
invokevirtual jdk.jfr.internal.instrument.JIMethodMergeAdapter.methodInFilter:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 3
1: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Deleting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
aload 3
aload 4
aload 5
invokespecial jdk.internal.org.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/instrument/JIMethodMergeAdapter;
0 4 1 access I
0 4 2 name Ljava/lang/String;
0 4 3 desc Ljava/lang/String;
0 4 4 signature Ljava/lang/String;
0 4 5 exceptions [Ljava/lang/String;
MethodParameters:
Name Flags
access
name
desc
signature
exceptions
public void visitEnd();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: new jdk.internal.org.objectweb.asm.commons.SimpleRemapper
dup
aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.typeMap:Ljava/util/Map;
invokespecial jdk.internal.org.objectweb.asm.commons.SimpleRemapper.<init>:(Ljava/util/Map;)V
astore 1
start local 1 1: aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.cn:Ljdk/internal/org/objectweb/asm/tree/ClassNode;
getfield jdk.internal.org.objectweb.asm.tree.ClassNode.methods:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: jdk.jfr.internal.instrument.JIMethodMergeAdapter jdk.internal.org.objectweb.asm.commons.SimpleRemapper top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.internal.org.objectweb.asm.tree.MethodNode
astore 2
start local 2 3: aload 0
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.name:Ljava/lang/String;
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.desc:Ljava/lang/String;
invokevirtual jdk.jfr.internal.instrument.JIMethodMergeAdapter.methodInFilter:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 11
4: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Copying method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.desc:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
5: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc " with mapper: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.typeMap:Ljava/util/Map;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
6: aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.exceptions:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray java.lang.String
astore 4
start local 4 7: aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.exceptions:Ljava/util/List;
aload 4
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
8: aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.cv:Ljdk/internal/org/objectweb/asm/ClassVisitor;
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.access:I
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.name:Ljava/lang/String;
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.desc:Ljava/lang/String;
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.signature:Ljava/lang/String;
aload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
astore 5
start local 5 9: aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.instructions:Ljdk/internal/org/objectweb/asm/tree/InsnList;
invokevirtual jdk.internal.org.objectweb.asm.tree.InsnList.resetLabels:()V
10: aload 2
new jdk.internal.org.objectweb.asm.commons.RemappingMethodAdapter
dup
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.access:I
aload 2
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.desc:Ljava/lang/String;
aload 5
aload 1
invokespecial jdk.internal.org.objectweb.asm.commons.RemappingMethodAdapter.<init>:(ILjava/lang/String;Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/internal/org/objectweb/asm/commons/Remapper;)V
invokevirtual jdk.internal.org.objectweb.asm.tree.MethodNode.accept:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
end local 5 end local 4 end local 2 11: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
12: aload 0
invokespecial jdk.internal.org.objectweb.asm.ClassVisitor.visitEnd:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/jfr/internal/instrument/JIMethodMergeAdapter;
1 14 1 remapper Ljdk/internal/org/objectweb/asm/commons/SimpleRemapper;
3 11 2 mn Ljdk/internal/org/objectweb/asm/tree/MethodNode;
7 11 4 exceptions [Ljava/lang/String;
9 11 5 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
private boolean methodInFilter(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jfr.internal.instrument.JIMethodMergeAdapter.methodFilter:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: jdk.jfr.internal.instrument.JIMethodMergeAdapter java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 3
start local 3 2: aload 3
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 3
invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljava/lang/reflect/Method;)Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jfr/internal/instrument/JIMethodMergeAdapter;
0 6 1 name Ljava/lang/String;
0 6 2 desc Ljava/lang/String;
2 4 3 m Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
name
desc
}
SourceFile: "JIMethodMergeAdapter.java"
RuntimeVisibleAnnotations:
java.lang.Deprecated()