public class org.graalvm.compiler.options.ModifiableOptionValues extends org.graalvm.compiler.options.OptionValues
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.options.ModifiableOptionValues
  super_class: org.graalvm.compiler.options.OptionValues
{
  private final java.util.concurrent.atomic.AtomicReference<jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.options.OptionKey<?>, java.lang.Object>> v;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;>;

  private static final jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.options.OptionKey<?>, java.lang.Object> EMPTY_MAP;
    descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;

  public static final java.lang.Object UNSET_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 43
            invokestatic org.graalvm.compiler.options.ModifiableOptionValues.newOptionMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            putstatic org.graalvm.compiler.options.ModifiableOptionValues.EMPTY_MAP:Ljdk/internal/vm/compiler/collections/EconomicMap;
         1: .line 57
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic org.graalvm.compiler.options.ModifiableOptionValues.UNSET_KEY:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.options.OptionKey<?>, java.lang.Object>);
    descriptor: (Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
        start local 1 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap values
         0: .line 46
            aload 0 /* this */
            getstatic org.graalvm.compiler.options.ModifiableOptionValues.EMPTY_MAP:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
         1: .line 41
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 47
            invokestatic org.graalvm.compiler.options.ModifiableOptionValues.newOptionMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 2 /* map */
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap map
         3: .line 48
            aload 2 /* map */
            aload 1 /* values */
            invokestatic org.graalvm.compiler.options.ModifiableOptionValues.initMap:(Ljdk/internal/vm/compiler/collections/EconomicMap;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
         4: .line 49
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            aload 2 /* map */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         5: .line 50
            return
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap map
        end local 1 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap values
        end local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/options/ModifiableOptionValues;
            0    6     1  values  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            3    6     2     map  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
    Signature: (Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;)V
    MethodParameters:
        Name  Flags
      values  

  public void update(org.graalvm.compiler.options.OptionKey<?>, );
    descriptor: (Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
        start local 1 // org.graalvm.compiler.options.OptionKey key
        start local 2 // java.lang.Object value
         0: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            astore 3 /* expect */
        start local 3 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap expect
         1: .line 69
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            aload 3 /* expect */
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 4 /* newMap */
        start local 4 // jdk.internal.vm.compiler.collections.EconomicMap newMap
         2: .line 70
            aload 2 /* value */
            getstatic org.graalvm.compiler.options.ModifiableOptionValues.UNSET_KEY:Ljava/lang/Object;
            if_acmpne 5
         3: .line 71
            aload 4 /* newMap */
            aload 1 /* key */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 72
            goto 7
         5: .line 73
      StackMap locals: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap jdk.internal.vm.compiler.collections.EconomicMap
      StackMap stack:
            aload 1 /* key */
            aload 4 /* newMap */
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.options.OptionKey.update:(Ljdk/internal/vm/compiler/collections/EconomicMap;Ljava/lang/Object;)V
         6: .line 75
            aload 4 /* newMap */
            aload 1 /* key */
            aload 2 /* value */
            invokestatic org.graalvm.compiler.options.ModifiableOptionValues.encodeNull:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            aload 3 /* expect */
            aload 4 /* newMap */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 0
         8: .line 78
            return
        end local 4 // jdk.internal.vm.compiler.collections.EconomicMap newMap
        end local 3 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap expect
        end local 2 // java.lang.Object value
        end local 1 // org.graalvm.compiler.options.OptionKey key
        end local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/graalvm/compiler/options/ModifiableOptionValues;
            0    9     1     key  Lorg/graalvm/compiler/options/OptionKey<*>;
            0    9     2   value  Ljava/lang/Object;
            1    9     3  expect  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            2    9     4  newMap  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
    Signature: (Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;)V
    MethodParameters:
       Name  Flags
      key    
      value  

  public void update(jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.options.OptionKey<?>, java.lang.Object>);
    descriptor: (Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
        start local 1 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap values
         0: .line 86
            aload 1 /* values */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.isEmpty:()Z
            ifeq 2
         1: .line 87
            return
         2: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            astore 2 /* expect */
        start local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap expect
         3: .line 93
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            aload 2 /* expect */
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 3 /* newMap */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicMap newMap
         4: .line 94
            aload 1 /* values */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor;
            astore 4 /* cursor */
        start local 4 // jdk.internal.vm.compiler.collections.UnmodifiableMapCursor cursor
         5: .line 95
            goto 13
         6: .line 96
      StackMap locals: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableMapCursor
      StackMap stack:
            aload 4 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionKey
            astore 5 /* key */
        start local 5 // org.graalvm.compiler.options.OptionKey key
         7: .line 97
            aload 4 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getValue:()Ljava/lang/Object;
            astore 6 /* value */
        start local 6 // java.lang.Object value
         8: .line 98
            aload 6 /* value */
            getstatic org.graalvm.compiler.options.ModifiableOptionValues.UNSET_KEY:Ljava/lang/Object;
            if_acmpne 11
         9: .line 99
            aload 3 /* newMap */
            aload 5 /* key */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 100
            goto 13
        11: .line 101
      StackMap locals: org.graalvm.compiler.options.OptionKey java.lang.Object
      StackMap stack:
            aload 5 /* key */
            aload 3 /* newMap */
            aload 6 /* value */
            invokevirtual org.graalvm.compiler.options.OptionKey.update:(Ljdk/internal/vm/compiler/collections/EconomicMap;Ljava/lang/Object;)V
        12: .line 103
            aload 3 /* newMap */
            aload 5 /* key */
            aload 6 /* value */
            invokestatic org.graalvm.compiler.options.ModifiableOptionValues.encodeNull:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.Object value
        end local 5 // org.graalvm.compiler.options.OptionKey key
        13: .line 95
      StackMap locals:
      StackMap stack:
            aload 4 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.advance:()Z
            ifne 6
        end local 4 // jdk.internal.vm.compiler.collections.UnmodifiableMapCursor cursor
        14: .line 106
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            aload 2 /* expect */
            aload 3 /* newMap */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 2
        15: .line 107
            return
        end local 3 // jdk.internal.vm.compiler.collections.EconomicMap newMap
        end local 2 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap expect
        end local 1 // jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap values
        end local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lorg/graalvm/compiler/options/ModifiableOptionValues;
            0   16     1  values  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            3   16     2  expect  Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            4   16     3  newMap  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            5   14     4  cursor  Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            7   13     5     key  Lorg/graalvm/compiler/options/OptionKey<*>;
            8   13     6   value  Ljava/lang/Object;
    Signature: (Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;)V
    MethodParameters:
        Name  Flags
      values  

  protected <T> T get(org.graalvm.compiler.options.OptionKey<T>);
    descriptor: (Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
        start local 1 // org.graalvm.compiler.options.OptionKey key
         0: .line 111
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            aload 1 /* key */
            invokestatic org.graalvm.compiler.options.OptionValues.get:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/options/OptionKey;)Ljava/lang/Object;
            areturn
        end local 1 // org.graalvm.compiler.options.OptionKey key
        end local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/options/ModifiableOptionValues;
            0    1     1   key  Lorg/graalvm/compiler/options/OptionKey<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/compiler/options/OptionKey<TT;>;)TT;
    MethodParameters:
      Name  Flags
      key   

  protected boolean containsKey(org.graalvm.compiler.options.OptionKey<?>);
    descriptor: (Lorg/graalvm/compiler/options/OptionKey;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
        start local 1 // org.graalvm.compiler.options.OptionKey key
         0: .line 116
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            aload 1 /* key */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.graalvm.compiler.options.OptionKey key
        end local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/options/ModifiableOptionValues;
            0    1     1   key  Lorg/graalvm/compiler/options/OptionKey<*>;
    Signature: (Lorg/graalvm/compiler/options/OptionKey<*>;)Z
    MethodParameters:
      Name  Flags
      key   

  public jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.options.OptionKey<?>, java.lang.Object> getMap();
    descriptor: ()Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
         0: .line 121
            aload 0 /* this */
            getfield org.graalvm.compiler.options.ModifiableOptionValues.v:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
            areturn
        end local 0 // org.graalvm.compiler.options.ModifiableOptionValues this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/options/ModifiableOptionValues;
    Signature: ()Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
}
SourceFile: "ModifiableOptionValues.java"