public final class jdk.jfr.internal.EventControl
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.EventControl
  super_class: java.lang.Object
{
  static final java.lang.String FIELD_SETTING_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "setting"

  private static final jdk.jfr.internal.Type TYPE_ENABLED;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.jfr.internal.Type TYPE_THRESHOLD;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.jfr.internal.Type TYPE_STACK_TRACE;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.jfr.internal.Type TYPE_PERIOD;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.jfr.internal.Type TYPE_CUTOFF;
    descriptor: Ljdk/jfr/internal/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.ArrayList<jdk.jfr.internal.EventInstrumentation$SettingInfo> settingInfos;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljdk/jfr/internal/EventInstrumentation$SettingInfo;>;

  private final java.util.ArrayList<jdk.jfr.internal.EventControl$NamedControl> namedControls;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljdk/jfr/internal/EventControl$NamedControl;>;

  private final jdk.jfr.internal.PlatformEventType type;
    descriptor: Ljdk/jfr/internal/PlatformEventType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String idName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            ldc Ljdk/jfr/internal/settings/EnabledSetting;
            invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.EventControl.TYPE_ENABLED:Ljdk/jfr/internal/Type;
         1: .line 68
            ldc Ljdk/jfr/internal/settings/ThresholdSetting;
            invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.EventControl.TYPE_THRESHOLD:Ljdk/jfr/internal/Type;
         2: .line 69
            ldc Ljdk/jfr/internal/settings/StackTraceSetting;
            invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.EventControl.TYPE_STACK_TRACE:Ljdk/jfr/internal/Type;
         3: .line 70
            ldc Ljdk/jfr/internal/settings/PeriodSetting;
            invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.EventControl.TYPE_PERIOD:Ljdk/jfr/internal/Type;
         4: .line 71
            ldc Ljdk/jfr/internal/settings/CutoffSetting;
            invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            putstatic jdk.jfr.internal.EventControl.TYPE_CUTOFF:Ljdk/jfr/internal/Type;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.jfr.internal.PlatformEventType);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // jdk.jfr.internal.PlatformEventType eventType
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield jdk.jfr.internal.EventControl.settingInfos:Ljava/util/ArrayList;
         2: .line 74
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield jdk.jfr.internal.EventControl.namedControls:Ljava/util/ArrayList;
         3: .line 79
            aload 0 /* this */
            ldc "enabled"
            aload 1 /* eventType */
            invokestatic jdk.jfr.internal.EventControl.defineEnabled:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.EventControl.addControl:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
         4: .line 80
            aload 1 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.hasDuration:()Z
            ifeq 6
         5: .line 81
            aload 0 /* this */
            ldc "threshold"
            aload 1 /* eventType */
            invokestatic jdk.jfr.internal.EventControl.defineThreshold:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.EventControl.addControl:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
         6: .line 83
      StackMap locals: jdk.jfr.internal.EventControl jdk.jfr.internal.PlatformEventType
      StackMap stack:
            aload 1 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.hasStackTrace:()Z
            ifeq 8
         7: .line 84
            aload 0 /* this */
            ldc "stackTrace"
            aload 1 /* eventType */
            invokestatic jdk.jfr.internal.EventControl.defineStackTrace:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.EventControl.addControl:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
         8: .line 86
      StackMap locals:
      StackMap stack:
            aload 1 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.hasPeriod:()Z
            ifeq 10
         9: .line 87
            aload 0 /* this */
            ldc "period"
            aload 1 /* eventType */
            invokestatic jdk.jfr.internal.EventControl.definePeriod:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.EventControl.addControl:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
        10: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.hasCutoff:()Z
            ifeq 12
        11: .line 90
            aload 0 /* this */
            ldc "cutoff"
            aload 1 /* eventType */
            invokestatic jdk.jfr.internal.EventControl.defineCutoff:(Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.EventControl.addControl:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
        12: .line 93
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotationElements:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* aes */
        start local 2 // java.util.ArrayList aes
        13: .line 94
            aload 1 /* eventType */
            aload 2 /* aes */
            ldc Ljdk/jfr/Threshold;
            invokestatic jdk.jfr.internal.EventControl.remove:(Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/lang/Class;)V
        14: .line 95
            aload 1 /* eventType */
            aload 2 /* aes */
            ldc Ljdk/jfr/Period;
            invokestatic jdk.jfr.internal.EventControl.remove:(Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/lang/Class;)V
        15: .line 96
            aload 1 /* eventType */
            aload 2 /* aes */
            ldc Ljdk/jfr/Enabled;
            invokestatic jdk.jfr.internal.EventControl.remove:(Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/lang/Class;)V
        16: .line 97
            aload 1 /* eventType */
            aload 2 /* aes */
            ldc Ljdk/jfr/StackTrace;
            invokestatic jdk.jfr.internal.EventControl.remove:(Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/lang/Class;)V
        17: .line 98
            aload 1 /* eventType */
            aload 2 /* aes */
            ldc Ljdk/jfr/internal/Cutoff;
            invokestatic jdk.jfr.internal.EventControl.remove:(Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/lang/Class;)V
        18: .line 99
            aload 2 /* aes */
            invokevirtual java.util.ArrayList.trimToSize:()V
        19: .line 100
            aload 1 /* eventType */
            aload 2 /* aes */
            invokevirtual jdk.jfr.internal.PlatformEventType.setAnnotations:(Ljava/util/List;)V
        20: .line 101
            aload 0 /* this */
            aload 1 /* eventType */
            putfield jdk.jfr.internal.EventControl.type:Ljdk/jfr/internal/PlatformEventType;
        21: .line 102
            aload 0 /* this */
            aload 1 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.getId:()J
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            putfield jdk.jfr.internal.EventControl.idName:Ljava/lang/String;
        22: .line 103
            return
        end local 2 // java.util.ArrayList aes
        end local 1 // jdk.jfr.internal.PlatformEventType eventType
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Ljdk/jfr/internal/EventControl;
            0   23     1  eventType  Ljdk/jfr/internal/PlatformEventType;
           13   23     2        aes  Ljava/util/ArrayList<Ljdk/jfr/AnnotationElement;>;
    MethodParameters:
           Name  Flags
      eventType  

  private boolean hasControl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // java.lang.String name
         0: .line 106
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.namedControls:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: jdk.jfr.internal.EventControl java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.EventControl$NamedControl
            astore 2 /* nc */
        start local 2 // jdk.jfr.internal.EventControl$NamedControl nc
         2: .line 107
            aload 1 /* name */
            aload 2 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 108
            iconst_1
            ireturn
        end local 2 // jdk.jfr.internal.EventControl$NamedControl nc
         4: .line 106
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 111
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/jfr/internal/EventControl;
            0    6     1  name  Ljava/lang/String;
            2    4     2    nc  Ljdk/jfr/internal/EventControl$NamedControl;
    MethodParameters:
      Name  Flags
      name  

  private void addControl(java.lang.String, jdk.jfr.internal.Control);
    descriptor: (Ljava/lang/String;Ljdk/jfr/internal/Control;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // java.lang.String name
        start local 2 // jdk.jfr.internal.Control control
         0: .line 115
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.namedControls:Ljava/util/ArrayList;
            new jdk.jfr.internal.EventControl$NamedControl
            dup
            aload 1 /* name */
            aload 2 /* control */
            invokespecial jdk.jfr.internal.EventControl$NamedControl.<init>:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 116
            return
        end local 2 // jdk.jfr.internal.Control control
        end local 1 // java.lang.String name
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jfr/internal/EventControl;
            0    2     1     name  Ljava/lang/String;
            0    2     2  control  Ljdk/jfr/internal/Control;
    MethodParameters:
         Name  Flags
      name     
      control  

  static void remove(jdk.jfr.internal.PlatformEventType, java.util.List<jdk.jfr.AnnotationElement>, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;Ljava/util/List;Ljava/lang/Class;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.jfr.internal.PlatformEventType type
        start local 1 // java.util.List aes
        start local 2 // java.lang.Class clazz
         0: .line 119
            aload 2 /* clazz */
            invokestatic jdk.jfr.internal.Type.getTypeId:(Ljava/lang/Class;)J
            lstore 3 /* id */
        start local 3 // long id
         1: .line 120
            aload 0 /* type */
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotationElements:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 5
      StackMap locals: jdk.jfr.internal.PlatformEventType java.util.List java.lang.Class long top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.AnnotationElement
            astore 5 /* a */
        start local 5 // jdk.jfr.AnnotationElement a
         3: .line 121
            aload 5 /* a */
            invokevirtual jdk.jfr.AnnotationElement.getTypeId:()J
            lload 3 /* id */
            lcmp
            ifne 5
            aload 5 /* a */
            invokevirtual jdk.jfr.AnnotationElement.getTypeName:()Ljava/lang/String;
            aload 2 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 122
            aload 1 /* aes */
            aload 5 /* a */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        end local 5 // jdk.jfr.AnnotationElement a
         5: .line 120
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 125
            return
        end local 3 // long id
        end local 2 // java.lang.Class clazz
        end local 1 // java.util.List aes
        end local 0 // jdk.jfr.internal.PlatformEventType type
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   type  Ljdk/jfr/internal/PlatformEventType;
            0    7     1    aes  Ljava/util/List<Ljdk/jfr/AnnotationElement;>;
            0    7     2  clazz  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    7     3     id  J
            3    5     5      a  Ljdk/jfr/AnnotationElement;
    Signature: (Ljdk/jfr/internal/PlatformEventType;Ljava/util/List<Ljdk/jfr/AnnotationElement;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
    MethodParameters:
       Name  Flags
      type   
      aes    
      clazz  

  void <init>(jdk.jfr.internal.PlatformEventType, java.lang.Class<? extends jdk.internal.event.Event>);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // jdk.jfr.internal.PlatformEventType es
        start local 2 // java.lang.Class eventClass
         0: .line 128
            aload 0 /* this */
            aload 1 /* es */
            invokespecial jdk.jfr.internal.EventControl.<init>:(Ljdk/jfr/internal/PlatformEventType;)V
         1: .line 129
            aload 0 /* this */
            aload 2 /* eventClass */
            invokevirtual jdk.jfr.internal.EventControl.defineSettings:(Ljava/lang/Class;)V
         2: .line 130
            return
        end local 2 // java.lang.Class eventClass
        end local 1 // jdk.jfr.internal.PlatformEventType es
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/jfr/internal/EventControl;
            0    3     1          es  Ljdk/jfr/internal/PlatformEventType;
            0    3     2  eventClass  Ljava/lang/Class<+Ljdk/internal/event/Event;>;
    Signature: (Ljdk/jfr/internal/PlatformEventType;Ljava/lang/Class<+Ljdk/internal/event/Event;>;)V
    MethodParameters:
            Name  Flags
      es          
      eventClass  

  private void defineSettings(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // java.lang.Class eventClass
         0: .line 136
            iconst_1
            istore 2 /* allowPrivateMethod */
        start local 2 // boolean allowPrivateMethod
         1: .line 137
            goto 20
         2: .line 138
      StackMap locals: int
      StackMap stack:
            aload 1 /* eventClass */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class int top int int java.lang.reflect.Method[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* m */
        start local 3 // java.lang.reflect.Method m
         4: .line 139
            aload 3 /* m */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            istore 7 /* isPrivate */
        start local 7 // boolean isPrivate
         5: .line 140
            aload 3 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 16
            aload 3 /* m */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            iconst_1
            if_icmpne 16
            iload 7 /* isPrivate */
            ifeq 6
            iload 2 /* allowPrivateMethod */
            ifeq 16
         6: .line 141
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class int java.lang.reflect.Method int int java.lang.reflect.Method[] int
      StackMap stack:
            aload 3 /* m */
            ldc Ljdk/jfr/SettingDefinition;
            invokevirtual java.lang.reflect.Method.getDeclaredAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jdk.jfr.SettingDefinition
            astore 8 /* se */
        start local 8 // jdk.jfr.SettingDefinition se
         7: .line 142
            aload 8 /* se */
            ifnull 16
         8: .line 143
            aload 3 /* m */
            invokevirtual java.lang.reflect.Method.getParameters:()[Ljava/lang/reflect/Parameter;
            iconst_0
            aaload
            invokevirtual java.lang.reflect.Parameter.getType:()Ljava/lang/Class;
            astore 9 /* settingClass */
        start local 9 // java.lang.Class settingClass
         9: .line 144
            aload 9 /* settingClass */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
            ifne 16
            ldc Ljdk/jfr/SettingControl;
            aload 9 /* settingClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 16
        10: .line 145
            aload 3 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 10 /* name */
        start local 10 // java.lang.String name
        11: .line 146
            aload 3 /* m */
            ldc Ljdk/jfr/Name;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jdk.jfr.Name
            astore 11 /* n */
        start local 11 // jdk.jfr.Name n
        12: .line 147
            aload 11 /* n */
            ifnull 14
        13: .line 148
            aload 11 /* n */
            invokeinterface jdk.jfr.Name.value:()Ljava/lang/String;
            astore 10 /* name */
        14: .line 151
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class int java.lang.reflect.Method int int java.lang.reflect.Method[] int jdk.jfr.SettingDefinition java.lang.Class java.lang.String jdk.jfr.Name
      StackMap stack:
            aload 0 /* this */
            aload 10 /* name */
            invokevirtual jdk.jfr.internal.EventControl.hasControl:(Ljava/lang/String;)Z
            ifne 16
        15: .line 152
            aload 0 /* this */
            aload 9 /* settingClass */
            aload 3 /* m */
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.type:Ljdk/jfr/internal/PlatformEventType;
            aload 10 /* name */
            invokevirtual jdk.jfr.internal.EventControl.defineSetting:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
        end local 11 // jdk.jfr.Name n
        end local 10 // java.lang.String name
        end local 9 // java.lang.Class settingClass
        end local 8 // jdk.jfr.SettingDefinition se
        end local 7 // boolean isPrivate
        end local 3 // java.lang.reflect.Method m
        16: .line 138
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class int top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 3
        18: .line 158
            aload 1 /* eventClass */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 1 /* eventClass */
        19: .line 159
            iconst_0
            istore 2 /* allowPrivateMethod */
        20: .line 137
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class int
      StackMap stack:
            aload 1 /* eventClass */
            ifnonnull 2
        21: .line 161
            return
        end local 2 // boolean allowPrivateMethod
        end local 1 // java.lang.Class eventClass
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0                this  Ljdk/jfr/internal/EventControl;
            0   22     1          eventClass  Ljava/lang/Class<*>;
            1   22     2  allowPrivateMethod  Z
            4   16     3                   m  Ljava/lang/reflect/Method;
            5   16     7           isPrivate  Z
            7   16     8                  se  Ljdk/jfr/SettingDefinition;
            9   16     9        settingClass  Ljava/lang/Class<*>;
           11   16    10                name  Ljava/lang/String;
           12   16    11                   n  Ljdk/jfr/Name;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
            Name  Flags
      eventClass  

  private void defineSetting(java.lang.Class<? extends jdk.jfr.SettingControl>, java.lang.reflect.Method, jdk.jfr.internal.PlatformEventType, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // java.lang.Class settingsClass
        start local 2 // java.lang.reflect.Method method
        start local 3 // jdk.jfr.internal.PlatformEventType eventType
        start local 4 // java.lang.String settingName
         0: .line 165
            aload 1 /* settingsClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 5 /* settingModule */
        start local 5 // java.lang.Module settingModule
         1: .line 166
            aload 5 /* settingModule */
            ldc Ljdk/jfr/internal/EventControl;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            invokestatic jdk.internal.module.Modules.addReads:(Ljava/lang/Module;Ljava/lang/Module;)V
         2: .line 167
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.settingInfos:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* index */
        start local 6 // int index
         3: .line 168
            new jdk.jfr.internal.EventInstrumentation$SettingInfo
            dup
            new java.lang.StringBuilder
            dup
            ldc "setting"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 6 /* index */
            invokespecial jdk.jfr.internal.EventInstrumentation$SettingInfo.<init>:(Ljava/lang/String;I)V
            astore 7 /* si */
        start local 7 // jdk.jfr.internal.EventInstrumentation$SettingInfo si
         4: .line 169
            aload 7 /* si */
            aload 0 /* this */
            aload 1 /* settingsClass */
            invokevirtual jdk.jfr.internal.EventControl.instantiateSettingControl:(Ljava/lang/Class;)Ljdk/jfr/SettingControl;
            putfield jdk.jfr.internal.EventInstrumentation$SettingInfo.settingControl:Ljdk/jfr/SettingControl;
         5: .line 170
            aload 7 /* si */
            getfield jdk.jfr.internal.EventInstrumentation$SettingInfo.settingControl:Ljdk/jfr/SettingControl;
            astore 8 /* c */
        start local 8 // jdk.jfr.internal.Control c
         6: .line 171
            aload 8 /* c */
            invokevirtual jdk.jfr.internal.Control.setDefault:()V
         7: .line 172
            aload 8 /* c */
            invokevirtual jdk.jfr.internal.Control.getValueSafe:()Ljava/lang/String;
            astore 9 /* defaultValue */
        start local 9 // java.lang.String defaultValue
         8: .line 173
            aload 9 /* defaultValue */
            ifnull 27
         9: .line 174
            aload 1 /* settingsClass */
            invokestatic jdk.jfr.internal.TypeLibrary.createType:(Ljava/lang/Class;)Ljdk/jfr/internal/Type;
            astore 10 /* settingType */
        start local 10 // jdk.jfr.internal.Type settingType
        10: .line 175
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* aes */
        start local 11 // java.util.ArrayList aes
        11: .line 176
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 17
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class java.lang.reflect.Method jdk.jfr.internal.PlatformEventType java.lang.String java.lang.Module int jdk.jfr.internal.EventInstrumentation$SettingInfo jdk.jfr.internal.Control java.lang.String jdk.jfr.internal.Type java.util.ArrayList top int int java.lang.annotation.Annotation[]
      StackMap stack:
        12: aload 15
            iload 13
            aaload
            astore 12 /* a */
        start local 12 // java.lang.annotation.Annotation a
        13: .line 177
            aload 12 /* a */
            invokestatic jdk.jfr.internal.TypeLibrary.createAnnotation:(Ljava/lang/annotation/Annotation;)Ljdk/jfr/AnnotationElement;
            astore 16 /* ae */
        start local 16 // jdk.jfr.AnnotationElement ae
        14: .line 178
            aload 16 /* ae */
            ifnull 16
        15: .line 179
            aload 11 /* aes */
            aload 16 /* ae */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // jdk.jfr.AnnotationElement ae
        end local 12 // java.lang.annotation.Annotation a
        16: .line 176
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        17: iload 13
            iload 14
            if_icmplt 12
        18: .line 182
            aload 11 /* aes */
            invokevirtual java.util.ArrayList.trimToSize:()V
        19: .line 183
            aload 0 /* this */
            aload 4 /* settingName */
            aload 7 /* si */
            getfield jdk.jfr.internal.EventInstrumentation$SettingInfo.settingControl:Ljdk/jfr/SettingControl;
            invokevirtual jdk.jfr.internal.EventControl.addControl:(Ljava/lang/String;Ljdk/jfr/internal/Control;)V
        20: .line 184
            aload 3 /* eventType */
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 10 /* settingType */
            aload 4 /* settingName */
            aload 9 /* defaultValue */
            aload 11 /* aes */
            invokevirtual jdk.jfr.internal.PrivateAccess.newSettingDescriptor:(Ljdk/jfr/internal/Type;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljdk/jfr/SettingDescriptor;
            invokevirtual jdk.jfr.internal.PlatformEventType.add:(Ljdk/jfr/SettingDescriptor;)V
        21: .line 185
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.settingInfos:Ljava/util/ArrayList;
            aload 7 /* si */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.util.ArrayList aes
        end local 10 // jdk.jfr.internal.Type settingType
        end local 9 // java.lang.String defaultValue
        end local 8 // jdk.jfr.internal.Control c
        end local 7 // jdk.jfr.internal.EventInstrumentation$SettingInfo si
        end local 6 // int index
        end local 5 // java.lang.Module settingModule
        22: .line 187
            goto 27
      StackMap locals: jdk.jfr.internal.EventControl java.lang.Class java.lang.reflect.Method jdk.jfr.internal.PlatformEventType java.lang.String
      StackMap stack: java.lang.InstantiationException
        23: astore 5 /* e */
        start local 5 // java.lang.InstantiationException e
        24: .line 189
            new java.lang.InstantiationError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate setting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* settingsClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for event "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.getLogName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.InstantiationException.getMessage:()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.InstantiationError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.InstantiationException e
        25: .line 190
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* e */
        start local 5 // java.lang.IllegalAccessException e
        26: .line 192
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not access setting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* settingsClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for event "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* eventType */
            invokevirtual jdk.jfr.internal.PlatformEventType.getLogName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.IllegalAccessException.getMessage:()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.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.IllegalAccessException e
        27: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String settingName
        end local 3 // jdk.jfr.internal.PlatformEventType eventType
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Class settingsClass
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Ljdk/jfr/internal/EventControl;
            0   28     1  settingsClass  Ljava/lang/Class<+Ljdk/jfr/SettingControl;>;
            0   28     2         method  Ljava/lang/reflect/Method;
            0   28     3      eventType  Ljdk/jfr/internal/PlatformEventType;
            0   28     4    settingName  Ljava/lang/String;
            1   22     5  settingModule  Ljava/lang/Module;
            3   22     6          index  I
            4   22     7             si  Ljdk/jfr/internal/EventInstrumentation$SettingInfo;
            6   22     8              c  Ljdk/jfr/internal/Control;
            8   22     9   defaultValue  Ljava/lang/String;
           10   22    10    settingType  Ljdk/jfr/internal/Type;
           11   22    11            aes  Ljava/util/ArrayList<Ljdk/jfr/AnnotationElement;>;
           13   16    12              a  Ljava/lang/annotation/Annotation;
           14   16    16             ae  Ljdk/jfr/AnnotationElement;
           24   25     5              e  Ljava/lang/InstantiationException;
           26   27     5              e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0    22      23  Class java.lang.InstantiationException
           0    22      25  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<+Ljdk/jfr/SettingControl;>;Ljava/lang/reflect/Method;Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
    MethodParameters:
               Name  Flags
      settingsClass  
      method         
      eventType      
      settingName    

  private jdk.jfr.SettingControl instantiateSettingControl(java.lang.Class<? extends jdk.jfr.SettingControl>);
    descriptor: (Ljava/lang/Class;)Ljdk/jfr/SettingControl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.jfr.internal.EventControl this
        start local 1 // java.lang.Class settingControlClass
         0: .line 197
            aload 1 /* settingControlClass */
            invokestatic jdk.jfr.internal.SecuritySupport.makeVisibleToJFR:(Ljava/lang/Class;)V
         1: .line 200
            aload 1 /* settingControlClass */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            iconst_0
            aaload
            astore 2 /* cc */
        start local 2 // java.lang.reflect.Constructor cc
         2: .line 201
            goto 5
        end local 2 // java.lang.reflect.Constructor cc
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 3 /* e */
        start local 3 // java.lang.Exception e
         4: .line 202
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not get constructor for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* settingControlClass */
            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
            aload 3 /* e */
            invokevirtual java.lang.InternalError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.Error
            athrow
        end local 3 // java.lang.Exception e
        start local 2 // java.lang.reflect.Constructor cc
         5: .line 204
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
            aload 2 /* cc */
            invokestatic jdk.jfr.internal.SecuritySupport.setAccessible:(Ljava/lang/reflect/Constructor;)V
         6: .line 206
            aload 2 /* cc */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.jfr.SettingControl
         7: areturn
         8: .line 207
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         9: .line 208
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate setting for class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* settingControlClass */
            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 // java.lang.reflect.Constructor cc
        end local 1 // java.lang.Class settingControlClass
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Ljdk/jfr/internal/EventControl;
            0   10     1  settingControlClass  Ljava/lang/Class<+Ljdk/jfr/SettingControl;>;
            2    3     2                   cc  Ljava/lang/reflect/Constructor<*>;
            5   10     2                   cc  Ljava/lang/reflect/Constructor<*>;
            4    5     3                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
           6     7       8  Class java.lang.IllegalArgumentException
           6     7       8  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.InstantiationException
    Signature: (Ljava/lang/Class<+Ljdk/jfr/SettingControl;>;)Ljdk/jfr/SettingControl;
    MethodParameters:
                     Name  Flags
      settingControlClass  

  private static jdk.jfr.internal.Control defineEnabled(jdk.jfr.internal.PlatformEventType);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.PlatformEventType type
         0: .line 213
            aload 0 /* type */
            ldc Ljdk/jfr/Enabled;
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.jfr.Enabled
            astore 1 /* enabled */
        start local 1 // jdk.jfr.Enabled enabled
         1: .line 217
            aload 0 /* type */
            invokevirtual jdk.jfr.internal.PlatformEventType.isJVM:()Z
            ifeq 2
            ldc "false"
            goto 3
      StackMap locals: jdk.jfr.Enabled
      StackMap stack:
         2: ldc "true"
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 2 /* def */
        start local 2 // java.lang.String def
         4: .line 218
            aload 1 /* enabled */
            ifnull 6
         5: .line 219
            aload 1 /* enabled */
            invokeinterface jdk.jfr.Enabled.value:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 2 /* def */
         6: .line 221
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* type */
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            getstatic jdk.jfr.internal.EventControl.TYPE_ENABLED:Ljdk/jfr/internal/Type;
            ldc "enabled"
            aload 2 /* def */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokevirtual jdk.jfr.internal.PrivateAccess.newSettingDescriptor:(Ljdk/jfr/internal/Type;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljdk/jfr/SettingDescriptor;
            invokevirtual jdk.jfr.internal.PlatformEventType.add:(Ljdk/jfr/SettingDescriptor;)V
         7: .line 222
            new jdk.jfr.internal.settings.EnabledSetting
            dup
            aload 0 /* type */
            aload 2 /* def */
            invokespecial jdk.jfr.internal.settings.EnabledSetting.<init>:(Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String def
        end local 1 // jdk.jfr.Enabled enabled
        end local 0 // jdk.jfr.internal.PlatformEventType type
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     type  Ljdk/jfr/internal/PlatformEventType;
            1    8     1  enabled  Ljdk/jfr/Enabled;
            4    8     2      def  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static jdk.jfr.internal.Control defineThreshold(jdk.jfr.internal.PlatformEventType);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.PlatformEventType type
         0: .line 226
            aload 0 /* type */
            ldc Ljdk/jfr/Threshold;
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.jfr.Threshold
            astore 1 /* threshold */
        start local 1 // jdk.jfr.Threshold threshold
         1: .line 227
            ldc "0 ns"
            astore 2 /* def */
        start local 2 // java.lang.String def
         2: .line 228
            aload 1 /* threshold */
            ifnull 4
         3: .line 229
            aload 1 /* threshold */
            invokeinterface jdk.jfr.Threshold.value:()Ljava/lang/String;
            astore 2 /* def */
         4: .line 231
      StackMap locals: jdk.jfr.Threshold java.lang.String
      StackMap stack:
            aload 0 /* type */
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            getstatic jdk.jfr.internal.EventControl.TYPE_THRESHOLD:Ljdk/jfr/internal/Type;
            ldc "threshold"
            aload 2 /* def */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokevirtual jdk.jfr.internal.PrivateAccess.newSettingDescriptor:(Ljdk/jfr/internal/Type;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljdk/jfr/SettingDescriptor;
            invokevirtual jdk.jfr.internal.PlatformEventType.add:(Ljdk/jfr/SettingDescriptor;)V
         5: .line 232
            new jdk.jfr.internal.settings.ThresholdSetting
            dup
            aload 0 /* type */
            aload 2 /* def */
            invokespecial jdk.jfr.internal.settings.ThresholdSetting.<init>:(Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String def
        end local 1 // jdk.jfr.Threshold threshold
        end local 0 // jdk.jfr.internal.PlatformEventType type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       type  Ljdk/jfr/internal/PlatformEventType;
            1    6     1  threshold  Ljdk/jfr/Threshold;
            2    6     2        def  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static jdk.jfr.internal.Control defineStackTrace(jdk.jfr.internal.PlatformEventType);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.PlatformEventType type
         0: .line 236
            aload 0 /* type */
            ldc Ljdk/jfr/StackTrace;
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.jfr.StackTrace
            astore 1 /* stackTrace */
        start local 1 // jdk.jfr.StackTrace stackTrace
         1: .line 237
            ldc "true"
            astore 2 /* def */
        start local 2 // java.lang.String def
         2: .line 238
            aload 1 /* stackTrace */
            ifnull 4
         3: .line 239
            aload 1 /* stackTrace */
            invokeinterface jdk.jfr.StackTrace.value:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 2 /* def */
         4: .line 241
      StackMap locals: jdk.jfr.StackTrace java.lang.String
      StackMap stack:
            aload 0 /* type */
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            getstatic jdk.jfr.internal.EventControl.TYPE_STACK_TRACE:Ljdk/jfr/internal/Type;
            ldc "stackTrace"
            aload 2 /* def */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokevirtual jdk.jfr.internal.PrivateAccess.newSettingDescriptor:(Ljdk/jfr/internal/Type;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljdk/jfr/SettingDescriptor;
            invokevirtual jdk.jfr.internal.PlatformEventType.add:(Ljdk/jfr/SettingDescriptor;)V
         5: .line 242
            new jdk.jfr.internal.settings.StackTraceSetting
            dup
            aload 0 /* type */
            aload 2 /* def */
            invokespecial jdk.jfr.internal.settings.StackTraceSetting.<init>:(Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String def
        end local 1 // jdk.jfr.StackTrace stackTrace
        end local 0 // jdk.jfr.internal.PlatformEventType type
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        type  Ljdk/jfr/internal/PlatformEventType;
            1    6     1  stackTrace  Ljdk/jfr/StackTrace;
            2    6     2         def  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static jdk.jfr.internal.Control defineCutoff(jdk.jfr.internal.PlatformEventType);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.PlatformEventType type
         0: .line 246
            aload 0 /* type */
            ldc Ljdk/jfr/internal/Cutoff;
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.jfr.internal.Cutoff
            astore 1 /* cutoff */
        start local 1 // jdk.jfr.internal.Cutoff cutoff
         1: .line 247
            ldc "infinity"
            astore 2 /* def */
        start local 2 // java.lang.String def
         2: .line 248
            aload 1 /* cutoff */
            ifnull 4
         3: .line 249
            aload 1 /* cutoff */
            invokeinterface jdk.jfr.internal.Cutoff.value:()Ljava/lang/String;
            astore 2 /* def */
         4: .line 251
      StackMap locals: jdk.jfr.internal.Cutoff java.lang.String
      StackMap stack:
            aload 0 /* type */
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            getstatic jdk.jfr.internal.EventControl.TYPE_CUTOFF:Ljdk/jfr/internal/Type;
            ldc "cutoff"
            aload 2 /* def */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokevirtual jdk.jfr.internal.PrivateAccess.newSettingDescriptor:(Ljdk/jfr/internal/Type;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljdk/jfr/SettingDescriptor;
            invokevirtual jdk.jfr.internal.PlatformEventType.add:(Ljdk/jfr/SettingDescriptor;)V
         5: .line 252
            new jdk.jfr.internal.settings.CutoffSetting
            dup
            aload 0 /* type */
            aload 2 /* def */
            invokespecial jdk.jfr.internal.settings.CutoffSetting.<init>:(Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String def
        end local 1 // jdk.jfr.internal.Cutoff cutoff
        end local 0 // jdk.jfr.internal.PlatformEventType type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    type  Ljdk/jfr/internal/PlatformEventType;
            1    6     1  cutoff  Ljdk/jfr/internal/Cutoff;
            2    6     2     def  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static jdk.jfr.internal.Control definePeriod(jdk.jfr.internal.PlatformEventType);
    descriptor: (Ljdk/jfr/internal/PlatformEventType;)Ljdk/jfr/internal/Control;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.PlatformEventType type
         0: .line 257
            aload 0 /* type */
            ldc Ljdk/jfr/Period;
            invokevirtual jdk.jfr.internal.PlatformEventType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.jfr.Period
            astore 1 /* period */
        start local 1 // jdk.jfr.Period period
         1: .line 258
            ldc "everyChunk"
            astore 2 /* def */
        start local 2 // java.lang.String def
         2: .line 259
            aload 1 /* period */
            ifnull 4
         3: .line 260
            aload 1 /* period */
            invokeinterface jdk.jfr.Period.value:()Ljava/lang/String;
            astore 2 /* def */
         4: .line 262
      StackMap locals: jdk.jfr.Period java.lang.String
      StackMap stack:
            aload 0 /* type */
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            getstatic jdk.jfr.internal.EventControl.TYPE_PERIOD:Ljdk/jfr/internal/Type;
            ldc "period"
            aload 2 /* def */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokevirtual jdk.jfr.internal.PrivateAccess.newSettingDescriptor:(Ljdk/jfr/internal/Type;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljdk/jfr/SettingDescriptor;
            invokevirtual jdk.jfr.internal.PlatformEventType.add:(Ljdk/jfr/SettingDescriptor;)V
         5: .line 263
            new jdk.jfr.internal.settings.PeriodSetting
            dup
            aload 0 /* type */
            aload 2 /* def */
            invokespecial jdk.jfr.internal.settings.PeriodSetting.<init>:(Ljdk/jfr/internal/PlatformEventType;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String def
        end local 1 // jdk.jfr.Period period
        end local 0 // jdk.jfr.internal.PlatformEventType type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    type  Ljdk/jfr/internal/PlatformEventType;
            1    6     1  period  Ljdk/jfr/Period;
            2    6     2     def  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  void disable();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.EventControl this
         0: .line 267
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.namedControls:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: jdk.jfr.internal.EventControl top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.EventControl$NamedControl
            astore 1 /* nc */
        start local 1 // jdk.jfr.internal.EventControl$NamedControl nc
         2: .line 268
            aload 1 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.control:Ljdk/jfr/internal/Control;
            instanceof jdk.jfr.internal.settings.EnabledSetting
            ifeq 5
         3: .line 269
            aload 1 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.control:Ljdk/jfr/internal/Control;
            ldc "false"
            invokevirtual jdk.jfr.internal.Control.setValueSafe:(Ljava/lang/String;)V
         4: .line 270
            return
        end local 1 // jdk.jfr.internal.EventControl$NamedControl nc
         5: .line 267
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 273
            return
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/jfr/internal/EventControl;
            2    5     1    nc  Ljdk/jfr/internal/EventControl$NamedControl;

  void writeActiveSettingEvent();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.jfr.internal.EventControl this
         0: .line 276
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.type:Ljdk/jfr/internal/PlatformEventType;
            invokevirtual jdk.jfr.internal.PlatformEventType.isRegistered:()Z
            ifne 2
         1: .line 277
            return
         2: .line 279
      StackMap locals:
      StackMap stack:
            getstatic jdk.jfr.events.ActiveSettingEvent.EVENT:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.jfr.events.ActiveSettingEvent
            astore 1 /* event */
        start local 1 // jdk.jfr.events.ActiveSettingEvent event
         3: .line 280
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.namedControls:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals: jdk.jfr.internal.EventControl jdk.jfr.events.ActiveSettingEvent top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.jfr.internal.EventControl$NamedControl
            astore 2 /* nc */
        start local 2 // jdk.jfr.internal.EventControl$NamedControl nc
         5: .line 281
            aload 2 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.control:Ljdk/jfr/internal/Control;
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.type:Ljdk/jfr/internal/PlatformEventType;
            invokevirtual jdk.jfr.internal.PlatformEventType.hasEventHook:()Z
            invokestatic jdk.jfr.internal.Utils.isSettingVisible:(Ljdk/jfr/internal/Control;Z)Z
            ifeq 13
         6: .line 282
            aload 2 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.control:Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.Control.getLastValue:()Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         7: .line 283
            aload 4 /* value */
            ifnonnull 9
         8: .line 284
            aload 2 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.control:Ljdk/jfr/internal/Control;
            invokevirtual jdk.jfr.internal.Control.getDefaultValue:()Ljava/lang/String;
            astore 4 /* value */
         9: .line 286
      StackMap locals: jdk.jfr.internal.EventControl jdk.jfr.events.ActiveSettingEvent jdk.jfr.internal.EventControl$NamedControl java.util.Iterator java.lang.String
      StackMap stack:
            aload 1 /* event */
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.type:Ljdk/jfr/internal/PlatformEventType;
            invokevirtual jdk.jfr.internal.PlatformEventType.getId:()J
            putfield jdk.jfr.events.ActiveSettingEvent.id:J
        10: .line 287
            aload 1 /* event */
            aload 2 /* nc */
            getfield jdk.jfr.internal.EventControl$NamedControl.name:Ljava/lang/String;
            putfield jdk.jfr.events.ActiveSettingEvent.name:Ljava/lang/String;
        11: .line 288
            aload 1 /* event */
            aload 4 /* value */
            putfield jdk.jfr.events.ActiveSettingEvent.value:Ljava/lang/String;
        12: .line 289
            aload 1 /* event */
            invokevirtual jdk.jfr.events.ActiveSettingEvent.commit:()V
        end local 4 // java.lang.String value
        end local 2 // jdk.jfr.internal.EventControl$NamedControl nc
        13: .line 280
      StackMap locals: jdk.jfr.internal.EventControl jdk.jfr.events.ActiveSettingEvent top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 292
            return
        end local 1 // jdk.jfr.events.ActiveSettingEvent event
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Ljdk/jfr/internal/EventControl;
            3   15     1  event  Ljdk/jfr/events/ActiveSettingEvent;
            5   13     2     nc  Ljdk/jfr/internal/EventControl$NamedControl;
            7   13     4  value  Ljava/lang/String;

  public java.util.ArrayList<jdk.jfr.internal.EventControl$NamedControl> getNamedControls();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.EventControl this
         0: .line 295
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.namedControls:Ljava/util/ArrayList;
            areturn
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/EventControl;
    Signature: ()Ljava/util/ArrayList<Ljdk/jfr/internal/EventControl$NamedControl;>;

  public jdk.jfr.internal.PlatformEventType getEventType();
    descriptor: ()Ljdk/jfr/internal/PlatformEventType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.EventControl this
         0: .line 299
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.type:Ljdk/jfr/internal/PlatformEventType;
            areturn
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/EventControl;

  public java.lang.String getSettingsId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.EventControl this
         0: .line 303
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.idName:Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/EventControl;

  public java.util.List<jdk.jfr.internal.EventInstrumentation$SettingInfo> getSettingInfos();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.EventControl this
         0: .line 307
            aload 0 /* this */
            getfield jdk.jfr.internal.EventControl.settingInfos:Ljava/util/ArrayList;
            areturn
        end local 0 // jdk.jfr.internal.EventControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/EventControl;
    Signature: ()Ljava/util/List<Ljdk/jfr/internal/EventInstrumentation$SettingInfo;>;
}
SourceFile: "EventControl.java"
NestMembers:
  jdk.jfr.internal.EventControl$NamedControl
InnerClasses:
  final NamedControl = jdk.jfr.internal.EventControl$NamedControl of jdk.jfr.internal.EventControl
  final SettingInfo = jdk.jfr.internal.EventInstrumentation$SettingInfo of jdk.jfr.internal.EventInstrumentation