public final class jdk.jfr.internal.TypeLibrary
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.TypeLibrary
super_class: java.lang.Object
{
private static jdk.jfr.internal.TypeLibrary instance;
descriptor: Ljdk/jfr/internal/TypeLibrary;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean implicitFieldTypes;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.Map<java.lang.Long, jdk.jfr.internal.Type> types;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Long;Ljdk/jfr/internal/Type;>;
static final jdk.jfr.ValueDescriptor DURATION_FIELD;
descriptor: Ljdk/jfr/ValueDescriptor;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.jfr.ValueDescriptor THREAD_FIELD;
descriptor: Ljdk/jfr/ValueDescriptor;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.jfr.ValueDescriptor STACK_TRACE_FIELD;
descriptor: Ljdk/jfr/ValueDescriptor;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final jdk.jfr.ValueDescriptor START_TIME_FIELD;
descriptor: Ljdk/jfr/ValueDescriptor;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.LinkedHashMap
dup
bipush 100
invokespecial java.util.LinkedHashMap.<init>:(I)V
putstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
1: invokestatic jdk.jfr.internal.TypeLibrary.createDurationField:()Ljdk/jfr/ValueDescriptor;
putstatic jdk.jfr.internal.TypeLibrary.DURATION_FIELD:Ljdk/jfr/ValueDescriptor;
2: invokestatic jdk.jfr.internal.TypeLibrary.createThreadField:()Ljdk/jfr/ValueDescriptor;
putstatic jdk.jfr.internal.TypeLibrary.THREAD_FIELD:Ljdk/jfr/ValueDescriptor;
3: invokestatic jdk.jfr.internal.TypeLibrary.createStackTraceField:()Ljdk/jfr/ValueDescriptor;
putstatic jdk.jfr.internal.TypeLibrary.STACK_TRACE_FIELD:Ljdk/jfr/ValueDescriptor;
4: invokestatic jdk.jfr.internal.TypeLibrary.createStartTimeField:()Ljdk/jfr/ValueDescriptor;
putstatic jdk.jfr.internal.TypeLibrary.START_TIME_FIELD:Ljdk/jfr/ValueDescriptor;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.util.List<jdk.jfr.internal.Type>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jfr/internal/TypeLibrary.lambda$0(Ljdk/jfr/internal/Type;)Z (6)
(Ljdk/jfr/internal/Type;)Z
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jfr/internal/TypeLibrary.lambda$1(Ljdk/jfr/internal/Type;)V (6)
(Ljdk/jfr/internal/Type;)V
invokestatic jdk.jfr.internal.TypeLibrary.visitReachable:(Ljava/util/Collection;Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
2: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
ifeq 5
3: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
jdk/jfr/internal/TypeLibrary.lambda$2(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/Type;)I (6)
(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/Type;)I
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
astore 2
start local 2 4: aload 2
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jfr/internal/TypeLibrary.lambda$3(Ljdk/jfr/internal/Type;)V (6)
(Ljdk/jfr/internal/Type;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
end local 2 5: StackMap locals: jdk.jfr.internal.TypeLibrary java.util.List
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jfr/internal/TypeLibrary;
0 6 1 jvmTypes Ljava/util/List<Ljdk/jfr/internal/Type;>;
4 5 2 s Ljava/util/stream/Stream<Ljdk/jfr/internal/Type;>;
Signature: (Ljava/util/List<Ljdk/jfr/internal/Type;>;)V
MethodParameters:
Name Flags
jvmTypes
private static jdk.jfr.ValueDescriptor createStartTimeField();
descriptor: ()Ljdk/jfr/ValueDescriptor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: ldc "Start Time"
aconst_null
invokestatic jdk.jfr.internal.TypeLibrary.createStandardAnnotations:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
astore 0
start local 0 1: aload 0
new jdk.jfr.AnnotationElement
dup
ldc Ljdk/jfr/Timestamp;
ldc "TICKS"
invokespecial jdk.jfr.AnnotationElement.<init>:(Ljava/lang/Class;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
ldc "startTime"
getstatic jdk.jfr.internal.Type.LONG:Ljdk/jfr/internal/Type;
aload 0
iconst_0
iconst_0
3: ldc "startTime"
4: invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/String;Ljdk/jfr/internal/Type;Ljava/util/List;IZLjava/lang/String;)Ljdk/jfr/ValueDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 annos Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
private static jdk.jfr.ValueDescriptor createStackTraceField();
descriptor: ()Ljdk/jfr/ValueDescriptor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: ldc "Stack Trace"
ldc "Stack Trace starting from the method the event was committed in"
invokestatic jdk.jfr.internal.TypeLibrary.createStandardAnnotations:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
astore 0
2: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
ldc "stackTrace"
getstatic jdk.jfr.internal.Type.STACK_TRACE:Ljdk/jfr/internal/Type;
aload 0
iconst_0
iconst_1
3: ldc "stackTrace"
4: invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/String;Ljdk/jfr/internal/Type;Ljava/util/List;IZLjava/lang/String;)Ljdk/jfr/ValueDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 annos Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
private static jdk.jfr.ValueDescriptor createThreadField();
descriptor: ()Ljdk/jfr/ValueDescriptor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: ldc "Event Thread"
ldc "Thread in which event was committed in"
invokestatic jdk.jfr.internal.TypeLibrary.createStandardAnnotations:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
astore 0
2: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
ldc "eventThread"
getstatic jdk.jfr.internal.Type.THREAD:Ljdk/jfr/internal/Type;
aload 0
iconst_0
iconst_1
3: ldc "eventThread"
4: invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/String;Ljdk/jfr/internal/Type;Ljava/util/List;IZLjava/lang/String;)Ljdk/jfr/ValueDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 annos Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
private static jdk.jfr.ValueDescriptor createDurationField();
descriptor: ()Ljdk/jfr/ValueDescriptor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: ldc "Duration"
aconst_null
invokestatic jdk.jfr.internal.TypeLibrary.createStandardAnnotations:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
astore 0
2: aload 0
new jdk.jfr.AnnotationElement
dup
ldc Ljdk/jfr/Timespan;
ldc "TICKS"
invokespecial jdk.jfr.AnnotationElement.<init>:(Ljava/lang/Class;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
ldc "duration"
getstatic jdk.jfr.internal.Type.LONG:Ljdk/jfr/internal/Type;
aload 0
iconst_0
iconst_0
ldc "duration"
invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/String;Ljdk/jfr/internal/Type;Ljava/util/List;IZLjava/lang/String;)Ljdk/jfr/ValueDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 annos Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
public static jdk.jfr.internal.TypeLibrary getInstance();
descriptor: ()Ljdk/jfr/internal/TypeLibrary;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc Ljdk/jfr/internal/TypeLibrary;
dup
astore 0
monitorenter
1: getstatic jdk.jfr.internal.TypeLibrary.instance:Ljdk/jfr/internal/TypeLibrary;
ifnonnull 8
2: invokestatic jdk.jfr.internal.MetadataLoader.createTypes:()Ljava/util/List;
astore 1
start local 1 3: aload 1
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
jdk/jfr/internal/TypeLibrary.lambda$4(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/Type;)I (6)
(Ljdk/jfr/internal/Type;Ljdk/jfr/internal/Type;)I
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
4: goto 7
end local 1 StackMap locals: java.lang.Class
StackMap stack: java.io.IOException
5: pop
6: new java.lang.Error
dup
ldc "JFR: Could not read metadata"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
start local 1 7: StackMap locals: java.util.List
StackMap stack:
new jdk.jfr.internal.TypeLibrary
dup
aload 1
invokespecial jdk.jfr.internal.TypeLibrary.<init>:(Ljava/util/List;)V
putstatic jdk.jfr.internal.TypeLibrary.instance:Ljdk/jfr/internal/TypeLibrary;
end local 1 8: StackMap locals:
StackMap stack:
getstatic jdk.jfr.internal.TypeLibrary.instance:Ljdk/jfr/internal/TypeLibrary;
aload 0
monitorexit
9: areturn
10: StackMap locals:
StackMap stack: java.lang.Throwable
aload 0
monitorexit
11: athrow
LocalVariableTable:
Start End Slot Name Signature
3 5 1 jvmTypes Ljava/util/List<Ljdk/jfr/internal/Type;>;
7 8 1 jvmTypes Ljava/util/List<Ljdk/jfr/internal/Type;>;
Exception table:
from to target type
2 4 5 Class java.io.IOException
1 9 10 any
10 11 10 any
public java.util.List<jdk.jfr.internal.Type> getTypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.ArrayList
dup
getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/TypeLibrary;
Signature: ()Ljava/util/List<Ljdk/jfr/internal/Type;>;
public static jdk.jfr.internal.Type createAnnotationType(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Ljdk/jfr/internal/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokestatic jdk.jfr.internal.TypeLibrary.shouldPersist:(Ljava/lang/Class;)Z
ifeq 19
1: aload 0
getstatic jdk.jfr.internal.Type.SUPER_TYPE_ANNOTATION:Ljava/lang/String;
iconst_0
invokestatic jdk.jfr.internal.TypeLibrary.defineType:(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/jfr/internal/Type;
astore 1
start local 1 2: aload 1
ifnull 18
3: aload 0
invokestatic jdk.jfr.internal.SecuritySupport.makeVisibleToJFR:(Ljava/lang/Class;)V
4: aload 0
invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: java.lang.Class jdk.jfr.internal.Type top int int java.lang.reflect.Method[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 1
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 2
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/jfr/ValueDescriptor;
invokevirtual jdk.jfr.internal.Type.add:(Ljdk/jfr/ValueDescriptor;)V
end local 2 7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 5
9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 10: aload 0
invokevirtual java.lang.Class.getAnnotations:()[Ljava/lang/annotation/Annotation;
invokestatic jdk.jfr.internal.TypeLibrary.resolveRepeatedAnnotations:([Ljava/lang/annotation/Annotation;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.ArrayList top java.util.Iterator
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
astore 3
start local 3 12: aload 3
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotation:(Ljava/lang/annotation/Annotation;)Ljdk/jfr/AnnotationElement;
astore 5
start local 5 13: aload 5
ifnull 15
14: aload 2
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
16: aload 2
invokevirtual java.util.ArrayList.trimToSize:()V
17: aload 1
aload 2
invokevirtual jdk.jfr.internal.Type.setAnnotations:(Ljava/util/List;)V
end local 2 18: StackMap locals: java.lang.Class jdk.jfr.internal.Type
StackMap stack:
aload 0
invokestatic jdk.jfr.internal.TypeLibrary.getType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
areturn
end local 1 19: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 a Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
2 19 1 type Ljdk/jfr/internal/Type;
6 7 2 method Ljava/lang/reflect/Method;
10 18 2 aes Ljava/util/ArrayList<Ljdk/jfr/AnnotationElement;>;
12 15 3 annotation Ljava/lang/annotation/Annotation;
13 15 5 ae Ljdk/jfr/AnnotationElement;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljdk/jfr/internal/Type;
MethodParameters:
Name Flags
a
static jdk.jfr.AnnotationElement createAnnotation(java.lang.annotation.Annotation);
descriptor: (Ljava/lang/annotation/Annotation;)Ljdk/jfr/AnnotationElement;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotationType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
astore 2
start local 2 2: aload 2
ifnull 11
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 4: aload 2
invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: java.lang.annotation.Annotation java.lang.Class jdk.jfr.internal.Type java.util.List top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.ValueDescriptor
astore 4
start local 4 6: aload 3
aload 0
aload 4
invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
invokestatic jdk.jfr.internal.TypeLibrary.invokeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 2
aload 3
aload 0
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ifnonnull 9
iconst_1
goto 10
StackMap locals: java.lang.annotation.Annotation java.lang.Class jdk.jfr.internal.Type java.util.List
StackMap stack: jdk.jfr.internal.PrivateAccess jdk.jfr.internal.Type java.util.List
9: iconst_0
StackMap locals: java.lang.annotation.Annotation java.lang.Class jdk.jfr.internal.Type java.util.List
StackMap stack: jdk.jfr.internal.PrivateAccess jdk.jfr.internal.Type java.util.List int
10: invokevirtual jdk.jfr.internal.PrivateAccess.newAnnotation:(Ljdk/jfr/internal/Type;Ljava/util/List;Z)Ljdk/jfr/AnnotationElement;
areturn
end local 3 11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 annotation Ljava/lang/annotation/Annotation;
1 12 1 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
2 12 2 type Ljdk/jfr/internal/Type;
4 11 3 values Ljava/util/List<Ljava/lang/Object;>;
6 7 4 v Ljdk/jfr/ValueDescriptor;
MethodParameters:
Name Flags
annotation
private static java.lang.Object invokeAnnotation(java.lang.annotation.Annotation, java.lang.String);
descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
2: pop
3: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Could not locate method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in annotation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
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;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 2 4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 2
invokestatic jdk.jfr.internal.SecuritySupport.setAccessible:(Ljava/lang/reflect/Method;)V
5: aload 2
aload 0
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
6: areturn
7: StackMap locals:
StackMap stack: java.lang.Exception
pop
8: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Could not get value for method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in annotation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
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;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 annotation Ljava/lang/annotation/Annotation;
0 9 1 methodName Ljava/lang/String;
1 2 2 m Ljava/lang/reflect/Method;
4 9 2 m Ljava/lang/reflect/Method;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
5 6 7 Class java.lang.IllegalAccessException
5 6 7 Class java.lang.IllegalArgumentException
5 6 7 Class java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
annotation
methodName
private static boolean shouldPersist(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljdk/jfr/MetadataDefinition;
if_acmpeq 1
aload 0
ldc Ljdk/jfr/MetadataDefinition;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
MethodParameters:
Name Flags
a
private static boolean isDefined(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 0
invokestatic jdk.jfr.internal.Type.getTypeId:(Ljava/lang/Class;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
private static jdk.jfr.internal.Type getType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/jfr/internal/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 0
invokestatic jdk.jfr.internal.Type.getTypeId:(Ljava/lang/Class;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.jfr.internal.Type
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/jfr/internal/Type;
MethodParameters:
Name Flags
clazz
private static jdk.jfr.internal.Type defineType(java.lang.Class<?>, java.lang.String, boolean);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/jfr/internal/Type;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic jdk.jfr.internal.TypeLibrary.isDefined:(Ljava/lang/Class;)Z
ifne 14
1: aload 0
ldc Ljdk/jfr/Name;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast jdk.jfr.Name
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
invokeinterface jdk.jfr.Name.value:()Ljava/lang/String;
goto 4
StackMap locals: jdk.jfr.Name
StackMap stack:
3: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: astore 4
start local 4 5: aload 0
invokestatic jdk.jfr.internal.Type.getTypeId:(Ljava/lang/Class;)J
lstore 5
start local 5 6: iload 2
ifeq 11
7: new jdk.jfr.internal.PlatformEventType
dup
aload 4
lload 5
aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ifnonnull 8
iconst_1
goto 9
StackMap locals: java.lang.Class java.lang.String int jdk.jfr.Name java.lang.String long
StackMap stack: new 7 new 7 java.lang.String long
8: iconst_0
StackMap locals: java.lang.Class java.lang.String int jdk.jfr.Name java.lang.String long
StackMap stack: new 7 new 7 java.lang.String long int
9: iconst_1
invokespecial jdk.jfr.internal.PlatformEventType.<init>:(Ljava/lang/String;JZZ)V
astore 7
start local 7 10: goto 12
end local 7 11: StackMap locals:
StackMap stack:
new jdk.jfr.internal.Type
dup
aload 4
aload 1
lload 5
invokespecial jdk.jfr.internal.Type.<init>:(Ljava/lang/String;Ljava/lang/String;J)V
astore 7
start local 7 12: StackMap locals: jdk.jfr.internal.Type
StackMap stack:
getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 7
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 7
areturn
end local 7 end local 5 end local 4 end local 3 14: StackMap locals: java.lang.Class java.lang.String int
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 clazz Ljava/lang/Class<*>;
0 15 1 superType Ljava/lang/String;
0 15 2 eventType Z
2 14 3 name Ljdk/jfr/Name;
5 14 4 typeName Ljava/lang/String;
6 14 5 id J
10 11 7 t Ljdk/jfr/internal/Type;
12 14 7 t Ljdk/jfr/internal/Type;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Z)Ljdk/jfr/internal/Type;
MethodParameters:
Name Flags
clazz
superType
eventType
public static jdk.jfr.internal.Type createType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/jfr/internal/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/internal/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljdk/jfr/internal/Type;
MethodParameters:
Name Flags
clazz
public static jdk.jfr.internal.Type createType(java.lang.Class<?>, java.util.List<jdk.jfr.AnnotationElement>, java.util.List<jdk.jfr.ValueDescriptor>);
descriptor: (Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/internal/Type;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc Ljava/lang/Thread;
aload 0
if_acmpne 2
1: getstatic jdk.jfr.internal.Type.THREAD:Ljdk/jfr/internal/Type;
areturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/Class;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
3: getstatic jdk.jfr.internal.Type.CLASS:Ljdk/jfr/internal/Type;
areturn
4: StackMap locals:
StackMap stack:
ldc Ljava/lang/String;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: getstatic jdk.jfr.internal.Type.STRING:Ljdk/jfr/internal/Type;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.jfr.internal.TypeLibrary.isDefined:(Ljava/lang/Class;)Z
ifeq 8
7: aload 0
invokestatic jdk.jfr.internal.TypeLibrary.getType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 10
9: aload 0
aconst_null
iconst_0
invokestatic jdk.jfr.internal.TypeLibrary.defineType:(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/jfr/internal/Type;
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 12
11: new java.lang.InternalError
dup
ldc "Arrays not supported"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 13: iconst_0
istore 4
start local 4 14: ldc Ljdk/internal/event/Event;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 17
15: getstatic jdk.jfr.internal.Type.SUPER_TYPE_EVENT:Ljava/lang/String;
astore 3
16: iconst_1
istore 4
17: StackMap locals: java.lang.String int
StackMap stack:
ldc Ljdk/jfr/SettingControl;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 19
18: getstatic jdk.jfr.internal.Type.SUPER_TYPE_SETTING:Ljava/lang/String;
astore 3
19: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
invokestatic jdk.jfr.internal.TypeLibrary.defineType:(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/jfr/internal/Type;
pop
20: aload 0
invokestatic jdk.jfr.internal.TypeLibrary.getType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
astore 5
start local 5 21: iload 4
ifeq 25
22: aload 5
iconst_1
iconst_1
iconst_1
iconst_1
iconst_0
invokestatic jdk.jfr.internal.TypeLibrary.addImplicitFields:(Ljdk/jfr/internal/Type;ZZZZZ)V
23: aload 0
aload 5
aload 2
invokestatic jdk.jfr.internal.TypeLibrary.addUserFields:(Ljava/lang/Class;Ljdk/jfr/internal/Type;Ljava/util/List;)V
24: aload 5
invokevirtual jdk.jfr.internal.Type.trimFields:()V
25: StackMap locals: jdk.jfr.internal.Type
StackMap stack:
aload 0
aload 5
aload 1
invokestatic jdk.jfr.internal.TypeLibrary.addAnnotations:(Ljava/lang/Class;Ljdk/jfr/internal/Type;Ljava/util/List;)V
26: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ifnonnull 29
27: aload 5
ldc "Added"
getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
invokevirtual jdk.jfr.internal.Type.log:(Ljava/lang/String;Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 5
ldc "Added"
getstatic jdk.jfr.internal.LogTag.JFR_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
invokevirtual jdk.jfr.internal.Type.log:(Ljava/lang/String;Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)V
30: StackMap locals:
StackMap stack:
aload 5
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 31 0 clazz Ljava/lang/Class<*>;
0 31 1 dynamicAnnotations Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
0 31 2 dynamicFields Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
13 31 3 superType Ljava/lang/String;
14 31 4 eventType Z
21 31 5 type Ljdk/jfr/internal/Type;
Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;)Ljdk/jfr/internal/Type;
MethodParameters:
Name Flags
clazz
dynamicAnnotations
dynamicFields
private static void addAnnotations(java.lang.Class<?>, jdk.jfr.internal.Type, java.util.List<jdk.jfr.AnnotationElement>);
descriptor: (Ljava/lang/Class;Ljdk/jfr/internal/Type;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 9
2: aload 0
invokestatic jdk.jfr.internal.Utils.getAnnotations:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.ArrayList top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
astore 4
start local 4 4: aload 4
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotation:(Ljava/lang/annotation/Annotation;)Ljdk/jfr/AnnotationElement;
astore 6
start local 6 5: aload 6
ifnull 7
6: aload 3
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: goto 16
9: StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.ArrayList
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 10: aload 3
aload 2
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
11: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.ArrayList java.util.List top java.util.Iterator
StackMap stack:
12: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.AnnotationElement
astore 5
start local 5 13: aload 4
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 5
invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 14: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 4
invokestatic jdk.jfr.internal.TypeLibrary.addTypes:(Ljava/util/List;)V
end local 4 16: StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.ArrayList
StackMap stack:
aload 1
aload 3
invokevirtual jdk.jfr.internal.Type.setAnnotations:(Ljava/util/List;)V
17: aload 3
invokevirtual java.util.ArrayList.trimToSize:()V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 clazz Ljava/lang/Class<*>;
0 19 1 type Ljdk/jfr/internal/Type;
0 19 2 dynamicAnnotations Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
1 19 3 aes Ljava/util/ArrayList<Ljdk/jfr/AnnotationElement;>;
4 7 4 a Ljava/lang/annotation/Annotation;
5 7 6 ae Ljdk/jfr/AnnotationElement;
10 16 4 newTypes Ljava/util/List<Ljdk/jfr/internal/Type;>;
13 14 5 ae Ljdk/jfr/AnnotationElement;
Signature: (Ljava/lang/Class<*>;Ljdk/jfr/internal/Type;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;)V
MethodParameters:
Name Flags
clazz
type
dynamicAnnotations
private static void addUserFields(java.lang.Class<?>, jdk.jfr.internal.Type, java.util.List<jdk.jfr.ValueDescriptor>);
descriptor: (Ljava/lang/Class;Ljdk/jfr/internal/Type;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.Map top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.ValueDescriptor
astore 4
start local 4 3: aload 3
aload 4
invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 6: aload 0
invokestatic jdk.jfr.internal.Utils.getVisibleEventFields:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 21
StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.Map java.util.List top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.reflect.Field
astore 5
start local 5 8: aload 3
aload 5
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.jfr.ValueDescriptor
astore 7
start local 7 9: aload 7
ifnull 18
10: aload 7
invokevirtual jdk.jfr.ValueDescriptor.getTypeName:()Ljava/lang/String;
aload 5
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Type expected to match for field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " but got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual jdk.jfr.ValueDescriptor.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.Map java.util.List java.lang.reflect.Field java.util.Iterator jdk.jfr.ValueDescriptor
StackMap stack:
aload 7
invokevirtual jdk.jfr.ValueDescriptor.getAnnotationElements:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 15
StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.Map java.util.List java.lang.reflect.Field java.util.Iterator jdk.jfr.ValueDescriptor top java.util.Iterator
StackMap stack:
13: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.AnnotationElement
astore 8
start local 8 14: aload 4
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 8
invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 15: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 4
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 7
invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: goto 19
18: StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.Map java.util.List java.lang.reflect.Field java.util.Iterator jdk.jfr.ValueDescriptor
StackMap stack:
aload 5
invokestatic jdk.jfr.internal.TypeLibrary.createField:(Ljava/lang/reflect/Field;)Ljdk/jfr/ValueDescriptor;
astore 7
19: StackMap locals:
StackMap stack:
aload 7
ifnull 21
20: aload 1
aload 7
invokevirtual jdk.jfr.internal.Type.add:(Ljdk/jfr/ValueDescriptor;)V
end local 7 end local 5 21: StackMap locals: java.lang.Class jdk.jfr.internal.Type java.util.List java.util.Map java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
22: aload 4
invokestatic jdk.jfr.internal.TypeLibrary.addTypes:(Ljava/util/List;)V
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 clazz Ljava/lang/Class<*>;
0 24 1 type Ljdk/jfr/internal/Type;
0 24 2 dynamicFields Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
1 24 3 dynamicFieldSet Ljava/util/Map<Ljava/lang/String;Ljdk/jfr/ValueDescriptor;>;
3 4 4 dynamicField Ljdk/jfr/ValueDescriptor;
6 24 4 newTypes Ljava/util/List<Ljdk/jfr/internal/Type;>;
8 21 5 field Ljava/lang/reflect/Field;
9 21 7 vd Ljdk/jfr/ValueDescriptor;
14 15 8 ae Ljdk/jfr/AnnotationElement;
Signature: (Ljava/lang/Class<*>;Ljdk/jfr/internal/Type;Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;)V
MethodParameters:
Name Flags
clazz
type
dynamicFields
static void addImplicitFields(jdk.jfr.internal.Type, boolean, boolean, boolean, boolean, boolean);
descriptor: (Ljdk/jfr/internal/Type;ZZZZZ)V
flags: (0x0008) ACC_STATIC
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: getstatic jdk.jfr.internal.TypeLibrary.implicitFieldTypes:Z
ifne 6
1: ldc Ljdk/jfr/Timespan;
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotationType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
pop
2: ldc Ljdk/jfr/Timestamp;
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotationType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
pop
3: ldc Ljdk/jfr/Label;
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotationType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
pop
4: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aconst_null
iconst_0
invokestatic jdk.jfr.internal.TypeLibrary.defineType:(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/jfr/internal/Type;
pop
5: iconst_1
putstatic jdk.jfr.internal.TypeLibrary.implicitFieldTypes:Z
6: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iload 3
iload 4
iload 5
invokestatic jdk.jfr.internal.TypeLibrary.addFields:(Ljdk/jfr/internal/Type;ZZZZZ)V
7: return
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 8 0 type Ljdk/jfr/internal/Type;
0 8 1 requestable Z
0 8 2 hasDuration Z
0 8 3 hasThread Z
0 8 4 hasStackTrace Z
0 8 5 hasCutoff Z
MethodParameters:
Name Flags
type
requestable
hasDuration
hasThread
hasStackTrace
hasCutoff
private static void addFields(jdk.jfr.internal.Type, boolean, boolean, boolean, boolean, boolean);
descriptor: (Ljdk/jfr/internal/Type;ZZZZZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, 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
getstatic jdk.jfr.internal.TypeLibrary.START_TIME_FIELD:Ljdk/jfr/ValueDescriptor;
invokevirtual jdk.jfr.internal.Type.add:(Ljdk/jfr/ValueDescriptor;)V
1: iload 2
ifne 2
iload 5
ifeq 3
2: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.jfr.internal.TypeLibrary.DURATION_FIELD:Ljdk/jfr/ValueDescriptor;
invokevirtual jdk.jfr.internal.Type.add:(Ljdk/jfr/ValueDescriptor;)V
3: StackMap locals:
StackMap stack:
iload 3
ifeq 5
4: aload 0
getstatic jdk.jfr.internal.TypeLibrary.THREAD_FIELD:Ljdk/jfr/ValueDescriptor;
invokevirtual jdk.jfr.internal.Type.add:(Ljdk/jfr/ValueDescriptor;)V
5: StackMap locals:
StackMap stack:
iload 4
ifeq 7
6: aload 0
getstatic jdk.jfr.internal.TypeLibrary.STACK_TRACE_FIELD:Ljdk/jfr/ValueDescriptor;
invokevirtual jdk.jfr.internal.Type.add:(Ljdk/jfr/ValueDescriptor;)V
7: StackMap locals:
StackMap stack:
return
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 8 0 type Ljdk/jfr/internal/Type;
0 8 1 requestable Z
0 8 2 hasDuration Z
0 8 3 hasThread Z
0 8 4 hasStackTrace Z
0 8 5 hasCutoff Z
MethodParameters:
Name Flags
type
requestable
hasDuration
hasThread
hasStackTrace
hasCutoff
private static java.util.List<jdk.jfr.AnnotationElement> createStandardAnnotations(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 2
new jdk.jfr.AnnotationElement
dup
ldc Ljdk/jfr/Label;
aload 0
invokespecial jdk.jfr.AnnotationElement.<init>:(Ljava/lang/Class;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 1
ifnull 4
3: aload 2
new jdk.jfr.AnnotationElement
dup
ldc Ljdk/jfr/Description;
aload 1
invokespecial jdk.jfr.AnnotationElement.<init>:(Ljava/lang/Class;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 name Ljava/lang/String;
0 5 1 description Ljava/lang/String;
1 5 2 annotationElements Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
MethodParameters:
Name Flags
name
description
private static jdk.jfr.ValueDescriptor createField(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)Ljdk/jfr/ValueDescriptor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=12, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Field.getModifiers:()I
istore 1
start local 1 1: iload 1
invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
iload 1
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
astore 2
start local 2 6: aload 2
invokestatic jdk.jfr.internal.Type.isKnownType:(Ljava/lang/Class;)Z
ifne 8
7: aconst_null
areturn
8: StackMap locals: java.lang.Class
StackMap stack:
ldc Ljava/lang/Thread;
aload 2
if_acmpeq 9
aload 2
ldc Ljava/lang/Class;
if_acmpeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 3
start local 3 11: aload 2
invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
astore 4
start local 4 12: aload 0
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
astore 5
start local 5 13: aload 0
ldc Ljdk/jfr/Name;
invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast jdk.jfr.Name
astore 6
start local 6 14: aload 5
astore 7
start local 7 15: aload 6
ifnull 17
16: aload 6
invokeinterface jdk.jfr.Name.value:()Ljava/lang/String;
astore 7
17: StackMap locals: java.lang.reflect.Field int java.lang.Class int jdk.jfr.internal.Type java.lang.String jdk.jfr.Name java.lang.String
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 18: aload 0
invokevirtual java.lang.reflect.Field.getAnnotations:()[Ljava/lang/annotation/Annotation;
invokestatic jdk.jfr.internal.TypeLibrary.resolveRepeatedAnnotations:([Ljava/lang/annotation/Annotation;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 23
StackMap locals: java.lang.reflect.Field int java.lang.Class int jdk.jfr.internal.Type java.lang.String jdk.jfr.Name java.lang.String java.util.List top java.util.Iterator
StackMap stack:
19: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.annotation.Annotation
astore 9
start local 9 20: aload 9
invokestatic jdk.jfr.internal.TypeLibrary.createAnnotation:(Ljava/lang/annotation/Annotation;)Ljdk/jfr/AnnotationElement;
astore 11
start local 11 21: aload 11
ifnull 23
22: aload 8
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 9 23: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
24: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 7
aload 4
aload 8
iconst_0
iload 3
aload 5
invokevirtual jdk.jfr.internal.PrivateAccess.newValueDescriptor:(Ljava/lang/String;Ljdk/jfr/internal/Type;Ljava/util/List;IZLjava/lang/String;)Ljdk/jfr/ValueDescriptor;
areturn
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 25 0 field Ljava/lang/reflect/Field;
1 25 1 mod I
6 25 2 fieldType Ljava/lang/Class<*>;
11 25 3 constantPool Z
12 25 4 type Ljdk/jfr/internal/Type;
13 25 5 fieldName Ljava/lang/String;
14 25 6 name Ljdk/jfr/Name;
15 25 7 useName Ljava/lang/String;
18 25 8 ans Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
20 23 9 a Ljava/lang/annotation/Annotation;
21 23 11 ae Ljdk/jfr/AnnotationElement;
MethodParameters:
Name Flags
field
private static java.util.List<java.lang.annotation.Annotation> resolveRepeatedAnnotations(java.lang.annotation.Annotation[]);
descriptor: ([Ljava/lang/annotation/Annotation;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=15, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 22
StackMap locals: java.lang.annotation.Annotation[] java.util.List top int int java.lang.annotation.Annotation[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: iconst_0
istore 6
start local 6 4: aload 2
invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
ldc "value"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 7
start local 7 5: aload 7
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
astore 8
start local 8 6: aload 8
invokevirtual java.lang.Class.isArray:()Z
ifeq 19
7: aload 8
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 9
start local 9 8: ldc Ljava/lang/annotation/Annotation;
aload 9
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 19
aload 9
ldc Ljava/lang/annotation/Repeatable;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 19
9: aload 7
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 10: aload 10
ifnull 19
ldc [Ljava/lang/annotation/Annotation;
aload 10
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 19
11: aload 7
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.annotation.Annotation[]
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 15
StackMap locals: java.lang.annotation.Annotation[] java.util.List java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] int java.lang.reflect.Method java.lang.Class java.lang.Class java.lang.Object top int int java.lang.annotation.Annotation[]
StackMap stack:
12: aload 14
iload 12
aaload
astore 11
start local 11 13: aload 1
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 14: iinc 12 1
StackMap locals:
StackMap stack:
15: iload 12
iload 13
if_icmplt 12
16: iconst_1
istore 6
end local 10 end local 9 end local 8 17: goto 19
end local 7 StackMap locals: java.lang.annotation.Annotation[] java.util.List java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] int
StackMap stack: java.lang.Exception
18: pop
19: StackMap locals:
StackMap stack:
iload 6
ifne 21
20: aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 2 21: StackMap locals: java.lang.annotation.Annotation[] java.util.List top int int java.lang.annotation.Annotation[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
iload 4
if_icmplt 2
23: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 annotations [Ljava/lang/annotation/Annotation;
1 24 1 annos Ljava/util/List<Ljava/lang/annotation/Annotation;>;
3 21 2 a Ljava/lang/annotation/Annotation;
4 21 6 repeated Z
5 18 7 m Ljava/lang/reflect/Method;
6 17 8 returnType Ljava/lang/Class<*>;
8 17 9 ct Ljava/lang/Class<*>;
10 17 10 res Ljava/lang/Object;
13 14 11 rep Ljava/lang/annotation/Annotation;
Exception table:
from to target type
4 17 18 Class java.lang.NoSuchMethodException
4 17 18 Class java.lang.SecurityException
4 17 18 Class java.lang.IllegalAccessException
4 17 18 Class java.lang.IllegalArgumentException
4 17 18 Class java.lang.reflect.InvocationTargetException
Signature: ([Ljava/lang/annotation/Annotation;)Ljava/util/List<Ljava/lang/annotation/Annotation;>;
MethodParameters:
Name Flags
annotations
public boolean clearUnregistered();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: getstatic jdk.jfr.internal.LogTag.JFR_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
ldc "Cleaning out obsolete metadata"
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 2: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: jdk.jfr.internal.TypeLibrary java.util.List top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.Type
astore 2
start local 2 4: aload 2
instanceof jdk.jfr.internal.PlatformEventType
ifeq 7
5: aload 2
checkcast jdk.jfr.internal.PlatformEventType
invokevirtual jdk.jfr.internal.PlatformEventType.isRegistered:()Z
ifeq 7
6: aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 1
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jfr/internal/TypeLibrary.lambda$5(Ljdk/jfr/internal/Type;)Z (6)
(Ljdk/jfr/internal/Type;)Z
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jfr/internal/TypeLibrary.lambda$6(Ljdk/jfr/internal/Type;)V (6)
(Ljdk/jfr/internal/Type;)V
invokestatic jdk.jfr.internal.TypeLibrary.visitReachable:(Ljava/util/Collection;Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 10: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals: jdk.jfr.internal.TypeLibrary java.util.List java.util.List top java.util.Iterator
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.Type
astore 3
start local 3 12: aload 3
invokevirtual jdk.jfr.internal.Type.getRemove:()Z
ifeq 16
aload 3
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic jdk.jfr.internal.Type.isDefinedByJVM:(J)Z
ifne 16
13: aload 2
aload 3
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: getstatic jdk.jfr.internal.LogTag.JFR_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
ifeq 16
15: getstatic jdk.jfr.internal.LogTag.JFR_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Removed obsolete metadata "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual jdk.jfr.internal.Type.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: StackMap locals: jdk.jfr.internal.TypeLibrary java.util.List java.util.List jdk.jfr.internal.Type java.util.Iterator
StackMap stack:
aload 3
iconst_1
invokevirtual jdk.jfr.internal.Type.setRemove:(Z)V
end local 3 17: StackMap locals: jdk.jfr.internal.TypeLibrary java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
18: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 21
StackMap locals:
StackMap stack:
19: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Long
astore 3
start local 3 20: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 23
iconst_0
goto 24
StackMap locals: jdk.jfr.internal.TypeLibrary java.util.List java.util.List
StackMap stack:
23: iconst_1
StackMap locals:
StackMap stack: int
24: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/jfr/internal/TypeLibrary;
2 25 1 registered Ljava/util/List<Ljdk/jfr/internal/Type;>;
4 7 2 type Ljdk/jfr/internal/Type;
10 25 2 removeIds Ljava/util/List<Ljava/lang/Long;>;
12 17 3 type Ljdk/jfr/internal/Type;
20 21 3 id Ljava/lang/Long;
public void addType(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokestatic jdk.jfr.internal.TypeLibrary.addTypes:(Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/TypeLibrary;
0 2 1 type Ljdk/jfr/internal/Type;
MethodParameters:
Name Flags
type
public static void addTypes(java.util.List<jdk.jfr.internal.Type>);
descriptor: (Ljava/util/List;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifne 2
1: aload 0
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
jdk/jfr/internal/TypeLibrary.lambda$7(Ljdk/jfr/internal/Type;)Z (6)
(Ljdk/jfr/internal/Type;)Z
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/jfr/internal/TypeLibrary.lambda$8(Ljdk/jfr/internal/Type;)V (6)
(Ljdk/jfr/internal/Type;)V
invokestatic jdk.jfr.internal.TypeLibrary.visitReachable:(Ljava/util/Collection;Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ts Ljava/util/List<Ljdk/jfr/internal/Type;>;
Signature: (Ljava/util/List<Ljdk/jfr/internal/Type;>;)V
MethodParameters:
Name Flags
ts
private static void visitReachable(java.util.Collection<jdk.jfr.internal.Type>, java.util.function.Predicate<jdk.jfr.internal.Type>, java.util.function.Consumer<jdk.jfr.internal.Type>);
descriptor: (Ljava/util/Collection;Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayDeque
dup
aload 0
invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 1: goto 18
2: StackMap locals: java.util.Queue
StackMap stack:
aload 3
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast jdk.jfr.internal.Type
astore 4
start local 4 3: aload 1
aload 4
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifeq 18
4: aload 2
aload 4
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
5: aload 3
aload 4
invokevirtual jdk.jfr.internal.Type.getAnnotationElements:()Ljava/util/List;
invokestatic jdk.jfr.internal.TypeLibrary.visitAnnotations:(Ljava/util/Queue;Ljava/util/List;)V
6: aload 4
invokevirtual jdk.jfr.internal.Type.getFields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: java.util.Collection java.util.function.Predicate java.util.function.Consumer java.util.Queue jdk.jfr.internal.Type top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.ValueDescriptor
astore 5
start local 5 8: aload 3
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 5
invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
9: aload 3
aload 5
invokevirtual jdk.jfr.ValueDescriptor.getAnnotationElements:()Ljava/util/List;
invokestatic jdk.jfr.internal.TypeLibrary.visitAnnotations:(Ljava/util/Queue;Ljava/util/List;)V
end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: aload 4
instanceof jdk.jfr.internal.PlatformEventType
ifeq 18
12: aload 4
checkcast jdk.jfr.internal.PlatformEventType
astore 5
start local 5 13: aload 5
invokevirtual jdk.jfr.internal.PlatformEventType.getAllSettings:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 17
StackMap locals: java.util.Collection java.util.function.Predicate java.util.function.Consumer java.util.Queue jdk.jfr.internal.Type jdk.jfr.internal.PlatformEventType top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.SettingDescriptor
astore 6
start local 6 15: aload 3
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 6
invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
16: aload 3
aload 6
invokevirtual jdk.jfr.SettingDescriptor.getAnnotationElements:()Ljava/util/List;
invokestatic jdk.jfr.internal.TypeLibrary.visitAnnotations:(Ljava/util/Queue;Ljava/util/List;)V
end local 6 17: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 5 end local 4 18: StackMap locals: java.util.Collection java.util.function.Predicate java.util.function.Consumer java.util.Queue
StackMap stack:
aload 3
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 2
19: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 rootSet Ljava/util/Collection<Ljdk/jfr/internal/Type;>;
0 20 1 p Ljava/util/function/Predicate<Ljdk/jfr/internal/Type;>;
0 20 2 c Ljava/util/function/Consumer<Ljdk/jfr/internal/Type;>;
1 20 3 typeQ Ljava/util/Queue<Ljdk/jfr/internal/Type;>;
3 18 4 type Ljdk/jfr/internal/Type;
8 10 5 v Ljdk/jfr/ValueDescriptor;
13 18 5 pe Ljdk/jfr/internal/PlatformEventType;
15 17 6 s Ljdk/jfr/SettingDescriptor;
Signature: (Ljava/util/Collection<Ljdk/jfr/internal/Type;>;Ljava/util/function/Predicate<Ljdk/jfr/internal/Type;>;Ljava/util/function/Consumer<Ljdk/jfr/internal/Type;>;)V
MethodParameters:
Name Flags
rootSet
p
c
private static void visitAnnotations(java.util.Queue<jdk.jfr.internal.Type>, java.util.List<jdk.jfr.AnnotationElement>);
descriptor: (Ljava/util/Queue;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayDeque
dup
aload 1
invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: goto 9
3: StackMap locals: java.util.Queue java.util.Set
StackMap stack:
aload 2
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast jdk.jfr.AnnotationElement
astore 4
start local 4 4: aload 3
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 8
5: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 4
invokevirtual jdk.jfr.internal.PrivateAccess.getType:(Ljava/lang/Object;)Ljdk/jfr/internal/Type;
astore 5
start local 5 6: aload 0
aload 5
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
7: aload 3
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 8: StackMap locals: jdk.jfr.AnnotationElement
StackMap stack:
aload 2
aload 4
invokevirtual jdk.jfr.AnnotationElement.getAnnotationElements:()Ljava/util/List;
invokeinterface java.util.Queue.addAll:(Ljava/util/Collection;)Z
pop
end local 4 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 3
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 typeQ Ljava/util/Queue<Ljdk/jfr/internal/Type;>;
0 11 1 aes Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
1 11 2 aQ Ljava/util/Queue<Ljdk/jfr/AnnotationElement;>;
2 11 3 visited Ljava/util/Set<Ljdk/jfr/AnnotationElement;>;
4 9 4 ae Ljdk/jfr/AnnotationElement;
6 8 5 ty Ljdk/jfr/internal/Type;
Signature: (Ljava/util/Queue<Ljdk/jfr/internal/Type;>;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;)V
MethodParameters:
Name Flags
typeQ
aes
public void removeType(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/TypeLibrary;
0 2 1 id J
MethodParameters:
Name Flags
id
private static boolean lambda$0(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 0
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljdk/jfr/internal/Type;
private static void lambda$1(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 0
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljdk/jfr/internal/Type;
private static int lambda$2(jdk.jfr.internal.Type, jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;Ljdk/jfr/internal/Type;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.jfr.internal.Type.getId:()J
aload 1
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.compare:(JJ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljdk/jfr/internal/Type;
0 1 1 y Ljdk/jfr/internal/Type;
private static void lambda$3(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "Added"
getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_METADATA:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
invokevirtual jdk.jfr.internal.Type.log:(Ljava/lang/String;Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljdk/jfr/internal/Type;
private static int lambda$4(jdk.jfr.internal.Type, jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;Ljdk/jfr/internal/Type;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.jfr.internal.Type.getId:()J
aload 1
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.compare:(JJ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Ljdk/jfr/internal/Type;
0 1 1 b Ljdk/jfr/internal/Type;
private static boolean lambda$5(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.Type.getRemove:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljdk/jfr/internal/Type;
private static void lambda$6(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual jdk.jfr.internal.Type.setRemove:(Z)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljdk/jfr/internal/Type;
private static boolean lambda$7(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 0
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljdk/jfr/internal/Type;
private static void lambda$8(jdk.jfr.internal.Type);
descriptor: (Ljdk/jfr/internal/Type;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.TypeLibrary.types:Ljava/util/Map;
aload 0
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljdk/jfr/internal/Type;
}
SourceFile: "TypeLibrary.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles