final class jdk.jfr.internal.instrument.JIMethodCallInliner extends jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.instrument.JIMethodCallInliner
super_class: jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter
{
private final java.lang.String oldClass;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String newClass;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.org.objectweb.asm.tree.MethodNode inlineTarget;
descriptor: Ljdk/internal/org/objectweb/asm/tree/MethodNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock> blocks;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/jfr/internal/instrument/JIMethodCallInliner$CatchBlock;>;
private boolean inlining;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(int, java.lang.String, jdk.internal.org.objectweb.asm.MethodVisitor, jdk.internal.org.objectweb.asm.tree.MethodNode, java.lang.String, java.lang.String);
descriptor: (ILjava/lang/String;Ljdk/internal/org/objectweb/asm/MethodVisitor;Ljdk/internal/org/objectweb/asm/tree/MethodNode;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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
ldc 458752
iload 1
aload 2
aload 3
invokespecial jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter.<init>:(IILjava/lang/String;Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield jdk.jfr.internal.instrument.JIMethodCallInliner.blocks:Ljava/util/List;
2: aload 0
aload 5
putfield jdk.jfr.internal.instrument.JIMethodCallInliner.oldClass:Ljava/lang/String;
3: aload 0
aload 6
putfield jdk.jfr.internal.instrument.JIMethodCallInliner.newClass:Ljava/lang/String;
4: aload 0
aload 4
putfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlineTarget:Ljdk/internal/org/objectweb/asm/tree/MethodNode;
5: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
ifeq 11
6: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_BYTECODE:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
7: new java.lang.StringBuilder
dup
ldc "MethodCallInliner: targetMethod="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 4
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.desc:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
11: StackMap locals: jdk.jfr.internal.instrument.JIMethodCallInliner int java.lang.String jdk.internal.org.objectweb.asm.MethodVisitor jdk.internal.org.objectweb.asm.tree.MethodNode java.lang.String java.lang.String
StackMap stack:
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 12 0 this Ljdk/jfr/internal/instrument/JIMethodCallInliner;
0 12 1 access I
0 12 2 desc Ljava/lang/String;
0 12 3 mv Ljdk/internal/org/objectweb/asm/MethodVisitor;
0 12 4 inlineTarget Ljdk/internal/org/objectweb/asm/tree/MethodNode;
0 12 5 oldClass Ljava/lang/String;
0 12 6 newClass Ljava/lang/String;
MethodParameters:
Name Flags
access
desc
mv
inlineTarget
oldClass
newClass
public void visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String, boolean);
descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, 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
aload 4
invokevirtual jdk.jfr.internal.instrument.JIMethodCallInliner.shouldBeInlined:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
ifne 3
1: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.mv:Ljdk/internal/org/objectweb/asm/MethodVisitor;
iload 1
aload 2
aload 3
aload 4
iload 5
invokevirtual jdk.internal.org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
2: return
3: StackMap locals:
StackMap stack:
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 "Inlining call to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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
4: new jdk.internal.org.objectweb.asm.commons.SimpleRemapper
dup
aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.oldClass:Ljava/lang/String;
aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.newClass:Ljava/lang/String;
invokespecial jdk.internal.org.objectweb.asm.commons.SimpleRemapper.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 6
start local 6 5: new jdk.internal.org.objectweb.asm.Label
dup
invokespecial jdk.internal.org.objectweb.asm.Label.<init>:()V
astore 7
start local 7 6: aload 0
iconst_1
putfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlining:Z
7: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlineTarget:Ljdk/internal/org/objectweb/asm/tree/MethodNode;
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
8: new jdk.jfr.internal.instrument.JIMethodInliningAdapter
dup
aload 0
aload 7
9: iload 1
sipush 184
if_icmpne 10
bipush 8
goto 11
StackMap locals: jdk.jfr.internal.instrument.JIMethodCallInliner int java.lang.String java.lang.String java.lang.String int jdk.internal.org.objectweb.asm.commons.Remapper jdk.internal.org.objectweb.asm.Label
StackMap stack: new 8 new 8 jdk.jfr.internal.instrument.JIMethodCallInliner jdk.internal.org.objectweb.asm.Label
10: iconst_0
StackMap locals: jdk.jfr.internal.instrument.JIMethodCallInliner int java.lang.String java.lang.String java.lang.String int jdk.internal.org.objectweb.asm.commons.Remapper jdk.internal.org.objectweb.asm.Label
StackMap stack: new 8 new 8 jdk.jfr.internal.instrument.JIMethodCallInliner jdk.internal.org.objectweb.asm.Label int
11: aload 4
12: aload 6
13: invokespecial jdk.jfr.internal.instrument.JIMethodInliningAdapter.<init>:(Ljdk/internal/org/objectweb/asm/commons/LocalVariablesSorter;Ljdk/internal/org/objectweb/asm/Label;ILjava/lang/String;Ljdk/internal/org/objectweb/asm/commons/Remapper;)V
astore 8
start local 8 14: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlineTarget:Ljdk/internal/org/objectweb/asm/tree/MethodNode;
aload 8
invokevirtual jdk.internal.org.objectweb.asm.tree.MethodNode.accept:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
15: aload 0
iconst_0
putfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlining:Z
16: aload 0
aload 7
invokespecial jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter.visitLabel:(Ljdk/internal/org/objectweb/asm/Label;)V
17: return
end local 8 end local 7 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 18 0 this Ljdk/jfr/internal/instrument/JIMethodCallInliner;
0 18 1 opcode I
0 18 2 owner Ljava/lang/String;
0 18 3 name Ljava/lang/String;
0 18 4 desc Ljava/lang/String;
0 18 5 itf Z
5 18 6 remapper Ljdk/internal/org/objectweb/asm/commons/Remapper;
6 18 7 end Ljdk/internal/org/objectweb/asm/Label;
14 18 8 mia Ljdk/jfr/internal/instrument/JIMethodInliningAdapter;
MethodParameters:
Name Flags
opcode
owner
name
desc
itf
private boolean shouldBeInlined(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlineTarget:Ljdk/internal/org/objectweb/asm/tree/MethodNode;
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.desc:Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlineTarget:Ljdk/internal/org/objectweb/asm/tree/MethodNode;
getfield jdk.internal.org.objectweb.asm.tree.MethodNode.name:Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 1
aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.newClass:Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
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/JIMethodCallInliner;
0 4 1 owner Ljava/lang/String;
0 4 2 name Ljava/lang/String;
0 4 3 desc Ljava/lang/String;
MethodParameters:
Name Flags
owner
name
desc
public void visitTryCatchBlock(jdk.internal.org.objectweb.asm.Label, jdk.internal.org.objectweb.asm.Label, jdk.internal.org.objectweb.asm.Label, java.lang.String);
descriptor: (Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.inlining:Z
ifne 3
1: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.blocks:Ljava/util/List;
new jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock
dup
aload 1
aload 2
aload 3
aload 4
invokespecial jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock.<init>:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/instrument/JIMethodCallInliner;
0 5 1 start Ljdk/internal/org/objectweb/asm/Label;
0 5 2 end Ljdk/internal/org/objectweb/asm/Label;
0 5 3 handler Ljdk/internal/org/objectweb/asm/Label;
0 5 4 type Ljava/lang/String;
MethodParameters:
Name Flags
start
end
handler
type
public void visitMaxs(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jfr.internal.instrument.JIMethodCallInliner.blocks:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: jdk.jfr.internal.instrument.JIMethodCallInliner int int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock
astore 3
start local 3 2: aload 0
aload 3
getfield jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock.start:Ljdk/internal/org/objectweb/asm/Label;
aload 3
getfield jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock.end:Ljdk/internal/org/objectweb/asm/Label;
aload 3
getfield jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock.handler:Ljdk/internal/org/objectweb/asm/Label;
aload 3
getfield jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock.type:Ljava/lang/String;
invokespecial jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter.visitTryCatchBlock:(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
iload 1
iload 2
invokespecial jdk.internal.org.objectweb.asm.commons.LocalVariablesSorter.visitMaxs:(II)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jfr/internal/instrument/JIMethodCallInliner;
0 6 1 stack I
0 6 2 locals I
2 3 3 b Ljdk/jfr/internal/instrument/JIMethodCallInliner$CatchBlock;
MethodParameters:
Name Flags
stack
locals
}
SourceFile: "JIMethodCallInliner.java"
NestMembers:
jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock
InnerClasses:
final CatchBlock = jdk.jfr.internal.instrument.JIMethodCallInliner$CatchBlock of jdk.jfr.internal.instrument.JIMethodCallInliner
RuntimeVisibleAnnotations:
java.lang.Deprecated()