final class jdk.jfr.internal.JVMUpcalls
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.JVMUpcalls
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/JVMUpcalls;
static byte[] onRetransform(long, boolean, java.lang.Class<?>, );
descriptor: (JZLjava/lang/Class;[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 2 start local 3 start local 4 0: ldc Ljdk/internal/event/Event;
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 12
aload 3
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 12
1: aload 3
ldc Ljdk/internal/event/Event;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
invokestatic jdk.jfr.internal.Utils.getHandler:(Ljava/lang/Class;)Ljdk/jfr/internal/handlers/EventHandler;
astore 5
start local 5 2: aload 5
ifnonnull 6
3: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "No event handler found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ". Ignoring instrumentation request."
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: aload 4
5: areturn
6: StackMap locals: jdk.jfr.internal.handlers.EventHandler
StackMap stack:
getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Adding instrumentation to event class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " using retransform"
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
7: new jdk.jfr.internal.EventInstrumentation
dup
aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
aload 4
lload 0
invokespecial jdk.jfr.internal.EventInstrumentation.<init>:(Ljava/lang/Class;[BJ)V
astore 6
start local 6 8: aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.buildInstrumented:()[B
astore 7
start local 7 9: aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 7
invokestatic jdk.jfr.internal.ASMToolkit.logASM:(Ljava/lang/String;[B)V
10: aload 7
11: areturn
end local 7 end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 3
aload 4
invokestatic jdk.jfr.internal.instrument.JDKEvents.retransformCallback:(Ljava/lang/Class;[B)[B
13: areturn
14: StackMap locals:
StackMap stack: java.lang.Throwable
pop
15: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.WARN:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Unexpected error when adding instrumentation to event class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.Class.getName:()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
16: aload 4
areturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 traceId J
0 17 2 dummy Z
0 17 3 clazz Ljava/lang/Class<*>;
0 17 4 oldBytes [B
2 12 5 handler Ljdk/jfr/internal/handlers/EventHandler;
8 12 6 ei Ljdk/jfr/internal/EventInstrumentation;
9 12 7 bytes [B
Exception table:
from to target type
0 5 14 Class java.lang.Throwable
6 11 14 Class java.lang.Throwable
12 13 14 Class java.lang.Throwable
Exceptions:
throws java.lang.Throwable
Signature: (JZLjava/lang/Class<*>;[B)[B
MethodParameters:
Name Flags
traceId
dummy
clazz
oldBytes
static byte[] bytesForEagerInstrumentation(long, boolean, java.lang.Class<?>, );
descriptor: (JZLjava/lang/Class;[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 2 start local 3 start local 4 0: invokestatic jdk.jfr.internal.JVMSupport.isNotAvailable:()Z
ifeq 2
1: aload 4
areturn
2: StackMap locals:
StackMap stack:
ldc "<Unknown>"
astore 5
start local 5 3: new jdk.jfr.internal.EventInstrumentation
dup
aload 3
aload 4
lload 0
invokespecial jdk.jfr.internal.EventInstrumentation.<init>:(Ljava/lang/Class;[BJ)V
astore 6
start local 6 4: aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.getEventName:()Ljava/lang/String;
astore 5
5: iload 2
ifne 12
6: invokestatic jdk.jfr.internal.MetadataRepository.getInstance:()Ljdk/jfr/internal/MetadataRepository;
astore 7
start local 7 7: aload 7
aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.getEventName:()Ljava/lang/String;
invokevirtual jdk.jfr.internal.MetadataRepository.isEnabled:(Ljava/lang/String;)Z
ifne 8
aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.isEnabled:()Z
ifeq 9
StackMap locals: java.lang.String jdk.jfr.internal.EventInstrumentation jdk.jfr.internal.MetadataRepository
StackMap stack:
8: aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.isRegistered:()Z
ifne 12
9: StackMap locals:
StackMap stack:
getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Skipping instrumentation for event type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " since event was disabled on class load"
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
10: aload 4
11: areturn
end local 7 12: StackMap locals:
StackMap stack:
aload 6
iconst_1
invokevirtual jdk.jfr.internal.EventInstrumentation.setGuardHandler:(Z)V
13: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Adding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
ifeq 14
ldc "forced "
goto 15
StackMap locals: long int java.lang.Class byte[] java.lang.String jdk.jfr.internal.EventInstrumentation
StackMap stack: jdk.jfr.internal.LogTag jdk.jfr.internal.LogLevel java.lang.StringBuilder
14: ldc ""
StackMap locals: long int java.lang.Class byte[] java.lang.String jdk.jfr.internal.EventInstrumentation
StackMap stack: jdk.jfr.internal.LogTag jdk.jfr.internal.LogLevel java.lang.StringBuilder java.lang.String
15: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "instrumentation for event type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " during initial class load"
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
16: new jdk.jfr.internal.EventHandlerCreator
dup
lload 0
aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.getSettingInfos:()Ljava/util/List;
aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.getFieldInfos:()Ljava/util/List;
invokespecial jdk.jfr.internal.EventHandlerCreator.<init>:(JLjava/util/List;Ljava/util/List;)V
astore 7
start local 7 17: aload 7
invokevirtual jdk.jfr.internal.EventHandlerCreator.makeEventHandlerClass:()Ljava/lang/Class;
pop
18: aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.buildInstrumented:()[B
astore 8
start local 8 19: new java.lang.StringBuilder
dup
aload 6
invokevirtual jdk.jfr.internal.EventInstrumentation.getClassName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokestatic jdk.jfr.internal.ASMToolkit.logASM:(Ljava/lang/String;[B)V
20: aload 8
21: areturn
end local 8 end local 7 end local 6 22: StackMap locals: long int java.lang.Class byte[] java.lang.String
StackMap stack: java.lang.Throwable
pop
23: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.WARN:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Unexpected error when adding instrumentation for event type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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
24: aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 traceId J
0 25 2 forceInstrumentation Z
0 25 3 superClass Ljava/lang/Class<*>;
0 25 4 oldBytes [B
3 25 5 eventName Ljava/lang/String;
4 22 6 ei Ljdk/jfr/internal/EventInstrumentation;
7 12 7 mr Ljdk/jfr/internal/MetadataRepository;
17 22 7 eh Ljdk/jfr/internal/EventHandlerCreator;
19 22 8 bytes [B
Exception table:
from to target type
3 11 22 Class java.lang.Throwable
12 21 22 Class java.lang.Throwable
Exceptions:
throws java.lang.Throwable
Signature: (JZLjava/lang/Class<*>;[B)[B
MethodParameters:
Name Flags
traceId
forceInstrumentation
superClass
oldBytes
static java.lang.Thread createRecorderThread(java.lang.ThreadGroup, java.lang.ClassLoader);
descriptor: (Ljava/lang/ThreadGroup;Ljava/lang/ClassLoader;)Ljava/lang/Thread;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.jfr.internal.SecuritySupport.createRecorderThread:(Ljava/lang/ThreadGroup;Ljava/lang/ClassLoader;)Ljava/lang/Thread;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 systemThreadGroup Ljava/lang/ThreadGroup;
0 1 1 contextClassLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
systemThreadGroup
contextClassLoader
}
SourceFile: "JVMUpcalls.java"
InnerClasses:
final FieldInfo = jdk.jfr.internal.EventInstrumentation$FieldInfo of jdk.jfr.internal.EventInstrumentation
final SettingInfo = jdk.jfr.internal.EventInstrumentation$SettingInfo of jdk.jfr.internal.EventInstrumentation