public final class jdk.jfr.internal.MetadataRepository
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.MetadataRepository
super_class: java.lang.Object
{
private static final jdk.jfr.internal.JVM jvm;
descriptor: Ljdk/jfr/internal/JVM;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.jfr.internal.MetadataRepository instance;
descriptor: Ljdk/jfr/internal/MetadataRepository;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.List<jdk.jfr.EventType> nativeEventTypes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/jfr/EventType;>;
private final java.util.List<jdk.jfr.internal.EventControl> nativeControls;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljdk/jfr/internal/EventControl;>;
private final jdk.jfr.internal.TypeLibrary typeLibrary;
descriptor: Ljdk/jfr/internal/TypeLibrary;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.jfr.internal.SettingsManager settingsManager;
descriptor: Ljdk/jfr/internal/SettingsManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.Class<? extends jdk.jfr.Event>> mirrors;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<+Ljdk/jfr/Event;>;>;
private boolean staleMetadata;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean unregistered;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long lastUnloaded;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic jdk.jfr.internal.JVM.getJVM:()Ljdk/jfr/internal/JVM;
putstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
1: new jdk.jfr.internal.MetadataRepository
dup
invokespecial jdk.jfr.internal.MetadataRepository.<init>:()V
putstatic jdk.jfr.internal.MetadataRepository.instance:Ljdk/jfr/internal/MetadataRepository;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
bipush 100
invokespecial java.util.ArrayList.<init>:(I)V
putfield jdk.jfr.internal.MetadataRepository.nativeEventTypes:Ljava/util/List;
2: aload 0
new java.util.ArrayList
dup
bipush 100
invokespecial java.util.ArrayList.<init>:(I)V
putfield jdk.jfr.internal.MetadataRepository.nativeControls:Ljava/util/List;
3: aload 0
invokestatic jdk.jfr.internal.TypeLibrary.getInstance:()Ljdk/jfr/internal/TypeLibrary;
putfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
4: aload 0
new jdk.jfr.internal.SettingsManager
dup
invokespecial jdk.jfr.internal.SettingsManager.<init>:()V
putfield jdk.jfr.internal.MetadataRepository.settingsManager:Ljdk/jfr/internal/SettingsManager;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.jfr.internal.MetadataRepository.mirrors:Ljava/util/Map;
6: aload 0
iconst_1
putfield jdk.jfr.internal.MetadataRepository.staleMetadata:Z
7: aload 0
ldc -1
putfield jdk.jfr.internal.MetadataRepository.lastUnloaded:J
8: aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.initializeJVMEventTypes:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/MetadataRepository;
private void initializeJVMEventTypes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
invokevirtual jdk.jfr.internal.TypeLibrary.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 24
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.Type
astore 2
start local 2 3: aload 2
instanceof jdk.jfr.internal.PlatformEventType
ifeq 24
4: aload 2
checkcast jdk.jfr.internal.PlatformEventType
astore 4
start local 4 5: invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 4
invokevirtual jdk.jfr.internal.PrivateAccess.newEventType:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/EventType;
astore 5
start local 5 6: aload 4
aload 5
ldc Ljdk/jfr/Threshold;
invokevirtual jdk.jfr.EventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 7
iconst_1
goto 8
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List jdk.jfr.internal.Type java.util.Iterator jdk.jfr.internal.PlatformEventType jdk.jfr.EventType
StackMap stack: jdk.jfr.internal.PlatformEventType
7: iconst_0
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List jdk.jfr.internal.Type java.util.Iterator jdk.jfr.internal.PlatformEventType jdk.jfr.EventType
StackMap stack: jdk.jfr.internal.PlatformEventType int
8: invokevirtual jdk.jfr.internal.PlatformEventType.setHasDuration:(Z)V
9: aload 4
aload 5
ldc Ljdk/jfr/StackTrace;
invokevirtual jdk.jfr.EventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 10
iconst_1
goto 11
StackMap locals:
StackMap stack: jdk.jfr.internal.PlatformEventType
10: iconst_0
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List jdk.jfr.internal.Type java.util.Iterator jdk.jfr.internal.PlatformEventType jdk.jfr.EventType
StackMap stack: jdk.jfr.internal.PlatformEventType int
11: invokevirtual jdk.jfr.internal.PlatformEventType.setHasStackTrace:(Z)V
12: aload 4
aload 5
ldc Ljdk/jfr/internal/Cutoff;
invokevirtual jdk.jfr.EventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 13
iconst_1
goto 14
StackMap locals:
StackMap stack: jdk.jfr.internal.PlatformEventType
13: iconst_0
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List jdk.jfr.internal.Type java.util.Iterator jdk.jfr.internal.PlatformEventType jdk.jfr.EventType
StackMap stack: jdk.jfr.internal.PlatformEventType int
14: invokevirtual jdk.jfr.internal.PlatformEventType.setHasCutoff:(Z)V
15: aload 4
aload 5
ldc Ljdk/jfr/Period;
invokevirtual jdk.jfr.EventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 16
iconst_1
goto 17
StackMap locals:
StackMap stack: jdk.jfr.internal.PlatformEventType
16: iconst_0
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List jdk.jfr.internal.Type java.util.Iterator jdk.jfr.internal.PlatformEventType jdk.jfr.EventType
StackMap stack: jdk.jfr.internal.PlatformEventType int
17: invokevirtual jdk.jfr.internal.PlatformEventType.setHasPeriod:(Z)V
18: aload 4
invokevirtual jdk.jfr.internal.PlatformEventType.hasPeriod:()Z
ifeq 22
19: aload 4
iconst_1
invokevirtual jdk.jfr.internal.PlatformEventType.setEventHook:(Z)V
20: ldc "jdk.ExecutionSample"
aload 2
invokevirtual jdk.jfr.internal.Type.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
21: aload 1
new jdk.jfr.internal.RequestEngine$RequestHook
dup
aload 4
invokespecial jdk.jfr.internal.RequestEngine$RequestHook.<init>:(Ljdk/jfr/internal/PlatformEventType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.MetadataRepository.nativeControls:Ljava/util/List;
new jdk.jfr.internal.EventControl
dup
aload 4
invokespecial jdk.jfr.internal.EventControl.<init>:(Ljdk/jfr/internal/PlatformEventType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: aload 0
getfield jdk.jfr.internal.MetadataRepository.nativeEventTypes:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 end local 2 24: StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
25: aload 1
invokestatic jdk.jfr.internal.RequestEngine.addHooks:(Ljava/util/List;)V
26: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljdk/jfr/internal/MetadataRepository;
1 27 1 requestHooks Ljava/util/List<Ljdk/jfr/internal/RequestEngine$RequestHook;>;
3 24 2 type Ljdk/jfr/internal/Type;
5 24 4 pEventType Ljdk/jfr/internal/PlatformEventType;
6 24 5 eventType Ljdk/jfr/EventType;
public static jdk.jfr.internal.MetadataRepository getInstance();
descriptor: ()Ljdk/jfr/internal/MetadataRepository;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.jfr.internal.MetadataRepository.instance:Ljdk/jfr/internal/MetadataRepository;
areturn
LocalVariableTable:
Start End Slot Name Signature
public synchronized java.util.List<jdk.jfr.EventType> getRegisteredEventTypes();
descriptor: ()Ljava/util/List;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic jdk.jfr.internal.MetadataRepository.getEventHandlers:()Ljava/util/List;
astore 1
start local 1 1: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
aload 0
getfield jdk.jfr.internal.MetadataRepository.nativeEventTypes:Ljava/util/List;
invokeinterface java.util.List.size:()I
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.handlers.EventHandler
astore 3
start local 3 4: aload 3
invokevirtual jdk.jfr.internal.handlers.EventHandler.isRegistered:()Z
ifeq 6
5: aload 2
aload 3
invokevirtual jdk.jfr.internal.handlers.EventHandler.getEventType:()Ljdk/jfr/EventType;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 2
aload 0
getfield jdk.jfr.internal.MetadataRepository.nativeEventTypes:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jfr/internal/MetadataRepository;
1 9 1 handlers Ljava/util/List<Ljdk/jfr/internal/handlers/EventHandler;>;
2 9 2 eventTypes Ljava/util/List<Ljdk/jfr/EventType;>;
4 6 3 h Ljdk/jfr/internal/handlers/EventHandler;
Signature: ()Ljava/util/List<Ljdk/jfr/EventType;>;
public synchronized jdk.jfr.EventType getEventType(java.lang.Class<? extends jdk.internal.event.Event>);
descriptor: (Ljava/lang/Class;)Ljdk/jfr/EventType;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual jdk.jfr.internal.MetadataRepository.getHandler:(Ljava/lang/Class;Z)Ljdk/jfr/internal/handlers/EventHandler;
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
invokevirtual jdk.jfr.internal.handlers.EventHandler.isRegistered:()Z
ifeq 3
2: aload 2
invokevirtual jdk.jfr.internal.handlers.EventHandler.getEventType:()Ljdk/jfr/EventType;
areturn
3: StackMap locals: jdk.jfr.internal.handlers.EventHandler
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Event class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not registered"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/MetadataRepository;
0 4 1 eventClass Ljava/lang/Class<+Ljdk/internal/event/Event;>;
1 4 2 h Ljdk/jfr/internal/handlers/EventHandler;
Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;)Ljdk/jfr/EventType;
MethodParameters:
Name Flags
eventClass
public synchronized void unregister(java.lang.Class<? extends jdk.jfr.Event>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic jdk.jfr.internal.Utils.checkRegisterPermission:()V
1: aload 0
aload 1
iconst_0
invokevirtual jdk.jfr.internal.MetadataRepository.getHandler:(Ljava/lang/Class;Z)Ljdk/jfr/internal/handlers/EventHandler;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
iconst_0
invokevirtual jdk.jfr.internal.handlers.EventHandler.setRegistered:(Z)Z
pop
4: StackMap locals: jdk.jfr.internal.handlers.EventHandler
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/MetadataRepository;
0 5 1 eventClass Ljava/lang/Class<+Ljdk/jfr/Event;>;
2 5 2 handler Ljdk/jfr/internal/handlers/EventHandler;
Signature: (Ljava/lang/Class<+Ljdk/jfr/Event;>;)V
MethodParameters:
Name Flags
eventClass
public synchronized jdk.jfr.EventType register(java.lang.Class<? extends jdk.internal.event.Event>);
descriptor: (Ljava/lang/Class;)Ljdk/jfr/EventType;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual jdk.jfr.internal.MetadataRepository.register:(Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/EventType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/MetadataRepository;
0 1 1 eventClass Ljava/lang/Class<+Ljdk/internal/event/Event;>;
Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;)Ljdk/jfr/EventType;
MethodParameters:
Name Flags
eventClass
public synchronized jdk.jfr.EventType register(java.lang.Class<? extends jdk.internal.event.Event>, java.util.List<jdk.jfr.AnnotationElement>, java.util.List<jdk.jfr.ValueDescriptor>);
descriptor: (Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/EventType;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic jdk.jfr.internal.Utils.checkRegisterPermission:()V
1: aload 0
aload 1
iconst_1
invokevirtual jdk.jfr.internal.MetadataRepository.getHandler:(Ljava/lang/Class;Z)Ljdk/jfr/internal/handlers/EventHandler;
astore 4
start local 4 2: aload 4
ifnonnull 7
3: aload 1
ldc Ljdk/jfr/internal/MirrorEvent;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 5
4: aconst_null
areturn
5: StackMap locals: jdk.jfr.internal.handlers.EventHandler
StackMap stack:
aload 0
aload 1
invokevirtual jdk.jfr.internal.MetadataRepository.findMirrorType:(Ljava/lang/Class;)Ljdk/jfr/internal/PlatformEventType;
astore 5
start local 5 6: aload 0
aload 1
aload 5
aload 2
aload 3
invokevirtual jdk.jfr.internal.MetadataRepository.makeHandler:(Ljava/lang/Class;Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/internal/handlers/EventHandler;
astore 4
end local 5 7: StackMap locals:
StackMap stack:
aload 4
iconst_1
invokevirtual jdk.jfr.internal.handlers.EventHandler.setRegistered:(Z)Z
pop
8: aload 0
getfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
aload 4
invokevirtual jdk.jfr.internal.handlers.EventHandler.getPlatformEventType:()Ljdk/jfr/internal/PlatformEventType;
invokevirtual jdk.jfr.internal.TypeLibrary.addType:(Ljdk/jfr/internal/Type;)V
9: getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
invokevirtual jdk.jfr.internal.JVM.isRecording:()Z
ifeq 14
10: aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.storeDescriptorInJVM:()V
11: aload 0
getfield jdk.jfr.internal.MetadataRepository.settingsManager:Ljdk/jfr/internal/SettingsManager;
aload 4
invokevirtual jdk.jfr.internal.handlers.EventHandler.getEventControl:()Ljdk/jfr/internal/EventControl;
invokevirtual jdk.jfr.internal.SettingsManager.setEventControl:(Ljdk/jfr/internal/EventControl;)V
12: aload 0
getfield jdk.jfr.internal.MetadataRepository.settingsManager:Ljdk/jfr/internal/SettingsManager;
aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual jdk.jfr.internal.SettingsManager.updateRetransform:(Ljava/util/List;)V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.setStaleMetadata:()V
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual jdk.jfr.internal.handlers.EventHandler.getEventType:()Ljdk/jfr/EventType;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/jfr/internal/MetadataRepository;
0 16 1 eventClass Ljava/lang/Class<+Ljdk/internal/event/Event;>;
0 16 2 dynamicAnnotations Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
0 16 3 dynamicFields Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
2 16 4 handler Ljdk/jfr/internal/handlers/EventHandler;
6 7 5 pe Ljdk/jfr/internal/PlatformEventType;
Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;)Ljdk/jfr/EventType;
MethodParameters:
Name Flags
eventClass
dynamicAnnotations
dynamicFields
private jdk.jfr.internal.PlatformEventType findMirrorType(java.lang.Class<? extends jdk.internal.event.Event>);
descriptor: (Ljava/lang/Class;)Ljdk/jfr/internal/PlatformEventType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
invokevirtual java.lang.Module.getName:()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;
aload 1
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;
astore 2
start local 2 1: aload 0
getfield jdk.jfr.internal.MetadataRepository.mirrors:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.String java.lang.Class
StackMap stack:
aload 3
aload 1
invokestatic jdk.jfr.internal.Utils.verifyMirror:(Ljava/lang/Class;Ljava/lang/Class;)V
5: aload 3
invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
checkcast jdk.jfr.internal.PlatformEventType
astore 4
start local 4 6: aload 0
getfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
aload 4
invokevirtual jdk.jfr.internal.PlatformEventType.getId:()J
invokevirtual jdk.jfr.internal.TypeLibrary.removeType:(J)V
7: aload 1
invokestatic jdk.jfr.internal.Type.getTypeId:(Ljava/lang/Class;)J
lstore 5
start local 5 8: aload 4
lload 5
invokevirtual jdk.jfr.internal.PlatformEventType.setId:(J)V
9: aload 4
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 10 0 this Ljdk/jfr/internal/MetadataRepository;
0 10 1 eventClass Ljava/lang/Class<+Ljdk/internal/event/Event;>;
1 10 2 fullName Ljava/lang/String;
2 10 3 mirrorClass Ljava/lang/Class<+Ljdk/jfr/Event;>;
6 10 4 et Ljdk/jfr/internal/PlatformEventType;
8 10 5 id J
Exceptions:
throws java.lang.InternalError
Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;)Ljdk/jfr/internal/PlatformEventType;
MethodParameters:
Name Flags
eventClass
private jdk.jfr.internal.handlers.EventHandler getHandler(java.lang.Class<? extends jdk.internal.event.Event>, boolean);
descriptor: (Ljava/lang/Class;Z)Ljdk/jfr/internal/handlers/EventHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.jfr.internal.Utils.ensureValidEventSubclass:(Ljava/lang/Class;)V
1: aload 1
invokestatic jdk.jfr.internal.SecuritySupport.makeVisibleToJFR:(Ljava/lang/Class;)V
2: iload 2
ifeq 4
3: aload 1
invokestatic jdk.jfr.internal.Utils.ensureInitialized:(Ljava/lang/Class;)V
4: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.jfr.internal.Utils.getHandler:(Ljava/lang/Class;)Ljdk/jfr/internal/handlers/EventHandler;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/MetadataRepository;
0 5 1 eventClass Ljava/lang/Class<+Ljdk/internal/event/Event;>;
0 5 2 ensureInitialized Z
Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;Z)Ljdk/jfr/internal/handlers/EventHandler;
MethodParameters:
Name Flags
eventClass
ensureInitialized
private jdk.jfr.internal.handlers.EventHandler makeHandler(java.lang.Class<? extends jdk.internal.event.Event>, jdk.jfr.internal.PlatformEventType, java.util.List<jdk.jfr.AnnotationElement>, java.util.List<jdk.jfr.ValueDescriptor>);
descriptor: (Ljava/lang/Class;Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/internal/handlers/EventHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic jdk.jfr.internal.SecuritySupport.addHandlerExport:(Ljava/lang/Class;)V
1: aload 2
ifnonnull 3
2: aload 1
aload 3
aload 4
invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;Ljava/util/List;Ljava/util/List;)Ljdk/jfr/internal/Type;
checkcast jdk.jfr.internal.PlatformEventType
astore 2
3: StackMap locals:
StackMap stack:
invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
aload 2
invokevirtual jdk.jfr.internal.PrivateAccess.newEventType:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/EventType;
astore 5
start local 5 4: new jdk.jfr.internal.EventControl
dup
aload 2
aload 1
invokespecial jdk.jfr.internal.EventControl.<init>:(Ljdk/jfr/internal/PlatformEventType;Ljava/lang/Class;)V
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: aload 5
invokevirtual jdk.jfr.EventType.getId:()J
invokestatic jdk.jfr.internal.EventHandlerCreator.makeEventHandlerName:(J)Ljava/lang/String;
astore 8
start local 8 7: aload 8
iconst_0
ldc Ljdk/jfr/Event;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljdk/jfr/internal/handlers/EventHandler;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 7
8: aload 2
invokevirtual jdk.jfr.internal.PlatformEventType.setInstrumented:()V
9: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Found existing event handler for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual jdk.jfr.EventType.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
end local 8 10: goto 15
StackMap locals: jdk.jfr.internal.MetadataRepository java.lang.Class jdk.jfr.internal.PlatformEventType java.util.List java.util.List jdk.jfr.EventType jdk.jfr.internal.EventControl java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
11: pop
12: new jdk.jfr.internal.EventHandlerCreator
dup
aload 5
invokevirtual jdk.jfr.EventType.getId:()J
aload 6
invokevirtual jdk.jfr.internal.EventControl.getSettingInfos:()Ljava/util/List;
aload 5
aload 1
invokespecial jdk.jfr.internal.EventHandlerCreator.<init>:(JLjava/util/List;Ljdk/jfr/EventType;Ljava/lang/Class;)V
astore 8
start local 8 13: aload 8
invokevirtual jdk.jfr.internal.EventHandlerCreator.makeEventHandlerClass:()Ljava/lang/Class;
astore 7
14: getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Created event handler for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual jdk.jfr.EventType.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
end local 8 15: StackMap locals:
StackMap stack:
aload 7
iconst_1
aload 5
aload 6
invokestatic jdk.jfr.internal.EventHandlerCreator.instantiateEventHandler:(Ljava/lang/Class;ZLjdk/jfr/EventType;Ljdk/jfr/internal/EventControl;)Ljdk/jfr/internal/handlers/EventHandler;
astore 8
start local 8 16: aload 1
aload 8
invokestatic jdk.jfr.internal.Utils.setHandler:(Ljava/lang/Class;Ljdk/jfr/internal/handlers/EventHandler;)V
17: aload 8
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 18 0 this Ljdk/jfr/internal/MetadataRepository;
0 18 1 eventClass Ljava/lang/Class<+Ljdk/internal/event/Event;>;
0 18 2 pEventType Ljdk/jfr/internal/PlatformEventType;
0 18 3 dynamicAnnotations Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
0 18 4 dynamicFields Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;
4 18 5 eventType Ljdk/jfr/EventType;
5 18 6 ec Ljdk/jfr/internal/EventControl;
6 18 7 handlerClass Ljava/lang/Class<+Ljdk/jfr/internal/handlers/EventHandler;>;
7 10 8 eventHandlerName Ljava/lang/String;
13 15 8 ehc Ljdk/jfr/internal/EventHandlerCreator;
16 18 8 handler Ljdk/jfr/internal/handlers/EventHandler;
Exception table:
from to target type
6 10 11 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.InternalError
Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;Ljdk/jfr/internal/PlatformEventType;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;Ljava/util/List<Ljdk/jfr/ValueDescriptor;>;)Ljdk/jfr/internal/handlers/EventHandler;
MethodParameters:
Name Flags
eventClass
pEventType
dynamicAnnotations
dynamicFields
public synchronized void setSettings(java.util.List<java.util.Map<java.lang.String, java.lang.String>>);
descriptor: (Ljava/util/List;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.MetadataRepository.settingsManager:Ljdk/jfr/internal/SettingsManager;
aload 1
invokevirtual jdk.jfr.internal.SettingsManager.setSettings:(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/MetadataRepository;
0 2 1 list Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
Signature: (Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;)V
MethodParameters:
Name Flags
list
synchronized void disableEvents();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.getEventControls:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: jdk.jfr.internal.MetadataRepository top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.EventControl
astore 1
start local 1 2: aload 1
invokevirtual jdk.jfr.internal.EventControl.disable:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/MetadataRepository;
2 3 1 c Ljdk/jfr/internal/EventControl;
public synchronized java.util.List<jdk.jfr.internal.EventControl> getEventControls();
descriptor: ()Ljava/util/List;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
invokevirtual jdk.jfr.internal.JVM.getAllEventClasses:()Ljava/util/List;
astore 1
start local 1 1: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
aload 0
getfield jdk.jfr.internal.MetadataRepository.nativeControls:Ljava/util/List;
invokeinterface java.util.List.size:()I
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 2: aload 2
aload 0
getfield jdk.jfr.internal.MetadataRepository.nativeControls:Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: jdk.jfr.internal.MetadataRepository java.util.List java.util.ArrayList top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 5: aload 3
invokestatic jdk.jfr.internal.Utils.getHandler:(Ljava/lang/Class;)Ljdk/jfr/internal/handlers/EventHandler;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 2
aload 5
invokevirtual jdk.jfr.internal.handlers.EventHandler.getEventControl:()Ljdk/jfr/internal/EventControl;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/MetadataRepository;
1 10 1 eventClasses Ljava/util/List<Ljava/lang/Class<+Ljdk/internal/event/Event;>;>;
2 10 2 controls Ljava/util/ArrayList<Ljdk/jfr/internal/EventControl;>;
5 8 3 clazz Ljava/lang/Class<+Ljdk/internal/event/Event;>;
6 8 5 eh Ljdk/jfr/internal/handlers/EventHandler;
Signature: ()Ljava/util/List<Ljdk/jfr/internal/EventControl;>;
private void storeDescriptorInJVM();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.getBinaryRepresentation:()[B
invokevirtual jdk.jfr.internal.JVM.storeMetadataDescriptor:([B)V
1: aload 0
iconst_0
putfield jdk.jfr.internal.MetadataRepository.staleMetadata:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/MetadataRepository;
Exceptions:
throws java.lang.InternalError
private static java.util.List<jdk.jfr.internal.handlers.EventHandler> getEventHandlers();
descriptor: ()Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=0
0: getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
invokevirtual jdk.jfr.internal.JVM.getAllEventClasses:()Ljava/util/List;
astore 0
start local 0 1: new java.util.ArrayList
dup
aload 0
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 2: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 4: aload 2
invokestatic jdk.jfr.internal.Utils.getHandler:(Ljava/lang/Class;)Ljdk/jfr/internal/handlers/EventHandler;
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 9 0 allEventClasses Ljava/util/List<Ljava/lang/Class<+Ljdk/internal/event/Event;>;>;
2 9 1 eventHandlers Ljava/util/List<Ljdk/jfr/internal/handlers/EventHandler;>;
4 7 2 clazz Ljava/lang/Class<+Ljdk/internal/event/Event;>;
5 7 4 eh Ljdk/jfr/internal/handlers/EventHandler;
Signature: ()Ljava/util/List<Ljdk/jfr/internal/handlers/EventHandler;>;
private byte[] getBinaryRepresentation();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.io.ByteArrayOutputStream
dup
ldc 40000
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 1
start local 1 1: new java.io.DataOutputStream
dup
aload 1
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 2: aload 0
getfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
invokevirtual jdk.jfr.internal.TypeLibrary.getTypes:()Ljava/util/List;
astore 3
start local 3 3: aload 3
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
4: aload 3
aload 2
invokestatic jdk.jfr.internal.MetadataDescriptor.write:(Ljava/util/List;Ljava/io/DataOutput;)V
5: aload 2
invokevirtual java.io.DataOutputStream.flush:()V
6: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
7: areturn
end local 3 8: StackMap locals: jdk.jfr.internal.MetadataRepository java.io.ByteArrayOutputStream java.io.DataOutputStream
StackMap stack: java.io.IOException
astore 3
start local 3 9: new java.lang.InternalError
dup
aload 3
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/MetadataRepository;
1 10 1 baos Ljava/io/ByteArrayOutputStream;
2 10 2 daos Ljava/io/DataOutputStream;
3 8 3 types Ljava/util/List<Ljdk/jfr/internal/Type;>;
9 10 3 e Ljava/io/IOException;
Exception table:
from to target type
2 7 8 Class java.io.IOException
synchronized boolean isEnabled(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.MetadataRepository.settingsManager:Ljdk/jfr/internal/SettingsManager;
aload 1
invokevirtual jdk.jfr.internal.SettingsManager.isEnabled:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/MetadataRepository;
0 1 1 eventName Ljava/lang/String;
MethodParameters:
Name Flags
eventName
synchronized void setStaleMetadata();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.jfr.internal.MetadataRepository.staleMetadata:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/MetadataRepository;
synchronized void setOutput(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.MetadataRepository.staleMetadata:Z
ifeq 2
1: aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.storeDescriptorInJVM:()V
2: StackMap locals:
StackMap stack:
getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
aload 1
invokevirtual jdk.jfr.internal.JVM.setOutput:(Ljava/lang/String;)V
3: aload 1
ifnull 5
4: invokestatic jdk.jfr.internal.consumer.RepositoryFiles.notifyNewFile:()V
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.unregisterUnloaded:()V
6: aload 0
getfield jdk.jfr.internal.MetadataRepository.unregistered:Z
ifeq 10
7: aload 0
getfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
invokevirtual jdk.jfr.internal.TypeLibrary.clearUnregistered:()Z
ifeq 9
8: aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.storeDescriptorInJVM:()V
9: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield jdk.jfr.internal.MetadataRepository.unregistered:Z
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/jfr/internal/MetadataRepository;
0 11 1 filename Ljava/lang/String;
MethodParameters:
Name Flags
filename
private void unregisterUnloaded();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=1
start local 0 0: getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
invokevirtual jdk.jfr.internal.JVM.getUnloadedEventClassCount:()J
lstore 1
start local 1 1: aload 0
getfield jdk.jfr.internal.MetadataRepository.lastUnloaded:J
lload 1
lcmp
ifeq 17
2: aload 0
lload 1
putfield jdk.jfr.internal.MetadataRepository.lastUnloaded:J
3: getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
invokevirtual jdk.jfr.internal.JVM.getAllEventClasses:()Ljava/util/List;
astore 3
start local 3 4: new java.util.HashSet
dup
aload 3
invokeinterface java.util.List.size:()I
invokespecial java.util.HashSet.<init>:(I)V
astore 4
start local 4 5: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: jdk.jfr.internal.MetadataRepository long java.util.List java.util.HashSet top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 5
start local 5 7: aload 4
aload 5
invokestatic jdk.jfr.internal.Type.getTypeId:(Ljava/lang/Class;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
getfield jdk.jfr.internal.MetadataRepository.typeLibrary:Ljdk/jfr/internal/TypeLibrary;
invokevirtual jdk.jfr.internal.TypeLibrary.getTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals:
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.Type
astore 5
start local 5 11: aload 5
instanceof jdk.jfr.internal.PlatformEventType
ifeq 16
12: aload 4
aload 5
invokevirtual jdk.jfr.internal.Type.getId:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 16
13: aload 5
checkcast jdk.jfr.internal.PlatformEventType
astore 7
start local 7 14: aload 7
invokevirtual jdk.jfr.internal.PlatformEventType.isJVM:()Z
ifne 16
15: aload 7
iconst_0
invokevirtual jdk.jfr.internal.PlatformEventType.setRegistered:(Z)Z
pop
end local 7 end local 5 16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 4 end local 3 17: StackMap locals: jdk.jfr.internal.MetadataRepository long
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/jfr/internal/MetadataRepository;
1 18 1 unloaded J
4 17 3 eventClasses Ljava/util/List<Ljava/lang/Class<+Ljdk/internal/event/Event;>;>;
5 17 4 knownIds Ljava/util/HashSet<Ljava/lang/Long;>;
7 8 5 ec Ljava/lang/Class<+Ljdk/internal/event/Event;>;
11 16 5 type Ljdk/jfr/internal/Type;
14 16 7 pe Ljdk/jfr/internal/PlatformEventType;
synchronized void setUnregistered();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.jfr.internal.MetadataRepository.unregistered:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/MetadataRepository;
public synchronized void registerMirror(java.lang.Class<? extends jdk.jfr.Event>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc Ljdk/jfr/internal/MirrorEvent;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast jdk.jfr.internal.MirrorEvent
astore 2
start local 2 1: aload 2
ifnull 5
2: new java.lang.StringBuilder
dup
aload 2
invokeinterface jdk.jfr.internal.MirrorEvent.module:()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;
aload 2
invokeinterface jdk.jfr.internal.MirrorEvent.className:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 3: aload 0
getfield jdk.jfr.internal.MetadataRepository.mirrors:Ljava/util/Map;
aload 3
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 3 5: StackMap locals: jdk.jfr.internal.MirrorEvent
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Mirror class must have annotation "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Ljdk/jfr/internal/MirrorEvent;
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 6 0 this Ljdk/jfr/internal/MetadataRepository;
0 6 1 eventClass Ljava/lang/Class<+Ljdk/jfr/Event;>;
1 6 2 me Ljdk/jfr/internal/MirrorEvent;
3 5 3 fullName Ljava/lang/String;
Signature: (Ljava/lang/Class<+Ljdk/jfr/Event;>;)V
MethodParameters:
Name Flags
eventClass
public synchronized void flush();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.MetadataRepository.staleMetadata:Z
ifeq 2
1: aload 0
invokevirtual jdk.jfr.internal.MetadataRepository.storeDescriptorInJVM:()V
2: StackMap locals:
StackMap stack:
getstatic jdk.jfr.internal.MetadataRepository.jvm:Ljdk/jfr/internal/JVM;
invokevirtual jdk.jfr.internal.JVM.flush:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/MetadataRepository;
}
SourceFile: "MetadataRepository.java"
InnerClasses:
final SettingInfo = jdk.jfr.internal.EventInstrumentation$SettingInfo of jdk.jfr.internal.EventInstrumentation
final RequestHook = jdk.jfr.internal.RequestEngine$RequestHook of jdk.jfr.internal.RequestEngine