public class com.oracle.svm.hosted.meta.UniverseBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.meta.UniverseBuilder
  super_class: java.lang.Object
{
  private final com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse;
    descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess;
    descriptor: Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.meta.HostedUniverse hUniverse;
    descriptor: Lcom/oracle/svm/hosted/meta/HostedUniverse;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.meta.HostedMetaAccess hMetaAccess;
    descriptor: Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder staticAnalysisResultsBuilder;
    descriptor: Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
    flags: (0x0002) ACC_PRIVATE

  private final com.oracle.graal.pointsto.constraints.UnsupportedFeatures unsupportedFeatures;
    descriptor: Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.svm.hosted.meta.TypeCheckBuilder typeCheckBuilder;
    descriptor: Lcom/oracle/svm/hosted/meta/TypeCheckBuilder;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.Set<java.lang.Class<?>> IMMUTABLE_TYPES;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 96
            ldc Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
         3: .line 359
            new java.util.HashSet
            dup
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
         4: .line 360
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
         5: .line 361
            ldc Lcom/oracle/svm/core/hub/DynamicHub;
            aastore
            dup
            iconst_2
         6: .line 362
            ldc Lorg/graalvm/nativeimage/c/function/CEntryPointLiteral;
            aastore
            dup
            iconst_3
         7: .line 363
            ldc Lcom/oracle/svm/core/c/BoxedRelocatedPointer;
            aastore
            dup
            iconst_4
         8: .line 364
            ldc Lcom/oracle/svm/core/classinitialization/ClassInitializationInfo$ClassInitializerFunctionPointerHolder;
            aastore
            dup
            iconst_5
         9: .line 365
            ldc Lcom/oracle/svm/core/heap/FillerObject;
            aastore
        10: .line 359
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic com.oracle.svm.hosted.meta.UniverseBuilder.IMMUTABLE_TYPES:Ljava/util/Set;
        11: .line 365
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.graal.pointsto.meta.AnalysisUniverse, com.oracle.graal.pointsto.meta.AnalysisMetaAccess, com.oracle.svm.hosted.meta.HostedUniverse, com.oracle.svm.hosted.meta.HostedMetaAccess, com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder, com.oracle.graal.pointsto.constraints.UnsupportedFeatures);
    descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess
        start local 3 // com.oracle.svm.hosted.meta.HostedUniverse hUniverse
        start local 4 // com.oracle.svm.hosted.meta.HostedMetaAccess hMetaAccess
        start local 5 // com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder staticAnalysisResultsBuilder
        start local 6 // com.oracle.graal.pointsto.constraints.UnsupportedFeatures unsupportedFeatures
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 108
            aload 0 /* this */
            aload 1 /* aUniverse */
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
         2: .line 109
            aload 0 /* this */
            aload 2 /* aMetaAccess */
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
         3: .line 110
            aload 0 /* this */
            aload 3 /* hUniverse */
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
         4: .line 111
            aload 0 /* this */
            aload 4 /* hMetaAccess */
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
         5: .line 112
            aload 0 /* this */
            aload 5 /* staticAnalysisResultsBuilder */
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.staticAnalysisResultsBuilder:Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
         6: .line 113
            aload 0 /* this */
            aload 6 /* unsupportedFeatures */
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.unsupportedFeatures:Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
         7: .line 114
            return
        end local 6 // com.oracle.graal.pointsto.constraints.UnsupportedFeatures unsupportedFeatures
        end local 5 // com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder staticAnalysisResultsBuilder
        end local 4 // com.oracle.svm.hosted.meta.HostedMetaAccess hMetaAccess
        end local 3 // com.oracle.svm.hosted.meta.HostedUniverse hUniverse
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMetaAccess aMetaAccess
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    8     0                          this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    8     1                     aUniverse  Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            0    8     2                   aMetaAccess  Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            0    8     3                     hUniverse  Lcom/oracle/svm/hosted/meta/HostedUniverse;
            0    8     4                   hMetaAccess  Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            0    8     5  staticAnalysisResultsBuilder  Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
            0    8     6           unsupportedFeatures  Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
    MethodParameters:
                              Name  Flags
      aUniverse                     
      aMetaAccess                   
      hUniverse                     
      hMetaAccess                   
      staticAnalysisResultsBuilder  
      unsupportedFeatures           

  public void build(org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 122
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getFields:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder org.graalvm.compiler.debug.DebugContext top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisField
            astore 2 /* aField */
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisField aField
         2: .line 123
            aload 2 /* aField */
            getfield com.oracle.graal.pointsto.meta.AnalysisField.wrapped:Ljdk/vm/ci/meta/ResolvedJavaField;
            instanceof com.oracle.svm.hosted.substitute.ComputedValueField
            ifeq 4
         3: .line 124
            aload 2 /* aField */
            getfield com.oracle.graal.pointsto.meta.AnalysisField.wrapped:Ljdk/vm/ci/meta/ResolvedJavaField;
            checkcast com.oracle.svm.hosted.substitute.ComputedValueField
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            invokevirtual com.oracle.svm.hosted.substitute.ComputedValueField.processAnalysis:(Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;)V
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisField aField
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 127
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.seal:()V
         6: .line 129
            aconst_null
            astore 2
            aconst_null
            astore 3
         7: aload 1 /* debug */
            ldc "build universe"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 4 /* indent */
        start local 4 // org.graalvm.compiler.debug.Indent indent
         8: .line 130
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            astore 5 /* aType */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisType aType
        10: .line 131
            aload 0 /* this */
            aload 5 /* aType */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            pop
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisType aType
        11: .line 130
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 133
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals:
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            astore 5 /* aType */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisType aType
        14: .line 138
            aload 5 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getEnclosingType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            ifnull 16
        15: .line 139
            aload 0 /* this */
            aload 5 /* aType */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            aload 0 /* this */
            aload 5 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getEnclosingType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            invokevirtual com.oracle.svm.hosted.meta.HostedType.setEnclosingType:(Lcom/oracle/svm/hosted/meta/HostedType;)V
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisType aType
        16: .line 133
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 143
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getFields:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 20
      StackMap locals:
      StackMap stack:
        18: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisField
            astore 5 /* aField */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisField aField
        19: .line 144
            aload 0 /* this */
            aload 5 /* aField */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeField:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisField aField
        20: .line 143
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        21: .line 146
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getMethods:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            astore 5 /* aMethod */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
        23: .line 147
            aload 0 /* this */
            aload 5 /* aMethod */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
        24: .line 146
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        25: .line 150
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.staticAnalysisResultsBuilder:Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
            invokevirtual com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder.getBigBang:()Lcom/oracle/graal/pointsto/BigBang;
            astore 5 /* bb */
        start local 5 // com.oracle.graal.pointsto.BigBang bb
        26: .line 151
            aload 0 /* this */
            invokedynamic run(Lcom/oracle/svm/hosted/meta/UniverseBuilder;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/oracle/svm/hosted/meta/UniverseBuilder.buildProfilingInformation()V (7)
                  ()V
            invokestatic java.util.concurrent.ForkJoinTask.adapt:(Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;
            invokevirtual java.util.concurrent.ForkJoinTask.fork:()Ljava/util/concurrent/ForkJoinTask;
            astore 6 /* profilingInformationBuildTask */
        start local 6 // java.util.concurrent.ForkJoinTask profilingInformationBuildTask
        27: .line 153
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.types:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            astore 8 /* allTypes */
        start local 8 // java.util.Collection allTypes
        28: .line 154
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.objectType:()Lcom/oracle/svm/hosted/meta/HostedType;
            astore 9 /* objectType */
        start local 9 // com.oracle.svm.hosted.meta.HostedType objectType
        29: .line 155
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.types:Ljava/util/Map;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            ldc Ljava/lang/Cloneable;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 10 /* cloneableType */
        start local 10 // com.oracle.svm.hosted.meta.HostedType cloneableType
        30: .line 156
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.types:Ljava/util/Map;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            ldc Ljava/io/Serializable;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 11 /* serializableType */
        start local 11 // com.oracle.svm.hosted.meta.HostedType serializableType
        31: .line 157
            aload 0 /* this */
            new com.oracle.svm.hosted.meta.TypeCheckBuilder
            dup
            aload 8 /* allTypes */
            aload 9 /* objectType */
            aload 10 /* cloneableType */
            aload 11 /* serializableType */
            invokespecial com.oracle.svm.hosted.meta.TypeCheckBuilder.<init>:(Ljava/util/Collection;Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedType;)V
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.typeCheckBuilder:Lcom/oracle/svm/hosted/meta/TypeCheckBuilder;
        32: .line 158
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.typeCheckBuilder:Lcom/oracle/svm/hosted/meta/TypeCheckBuilder;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.TypeCheckBuilder.buildTypeInformation:(Lcom/oracle/svm/hosted/meta/HostedUniverse;)V
        33: .line 159
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.typeCheckBuilder:Lcom/oracle/svm/hosted/meta/TypeCheckBuilder;
            invokevirtual com.oracle.svm.hosted.meta.TypeCheckBuilder.calculateIDs:()Z
            pop
        34: .line 161
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.collectDeclaredMethods:()V
        35: .line 162
            aload 0 /* this */
            aload 5 /* bb */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.collectMonitorFieldInfo:(Lcom/oracle/graal/pointsto/BigBang;)V
        36: .line 164
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.layoutInstanceFields:()V
        37: .line 165
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.layoutStaticFields:()V
        38: .line 167
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.collectMethodImplementations:()V
        39: .line 168
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.buildVTables:()V
        40: .line 169
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.buildHubs:()V
        41: .line 171
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.processFieldLocations:()V
        42: .line 173
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.methods:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield com.oracle.svm.hosted.meta.HostedUniverse.orderedMethods:Ljava/util/List;
        43: .line 174
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.orderedMethods:Ljava/util/List;
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        44: .line 175
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.fields:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield com.oracle.svm.hosted.meta.HostedUniverse.orderedFields:Ljava/util/List;
        45: .line 176
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.orderedFields:Ljava/util/List;
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        46: .line 177
            aload 6 /* profilingInformationBuildTask */
            invokevirtual java.util.concurrent.ForkJoinTask.join:()Ljava/lang/Object;
            pop
        end local 11 // com.oracle.svm.hosted.meta.HostedType serializableType
        end local 10 // com.oracle.svm.hosted.meta.HostedType cloneableType
        end local 9 // com.oracle.svm.hosted.meta.HostedType objectType
        end local 8 // java.util.Collection allTypes
        end local 6 // java.util.concurrent.ForkJoinTask profilingInformationBuildTask
        end local 5 // com.oracle.graal.pointsto.BigBang bb
        47: .line 178
            aload 4 /* indent */
            ifnull 53
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 53
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        48: astore 2
            aload 4 /* indent */
            ifnull 49
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 4 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        49: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 3
            aload 2
            ifnonnull 51
            aload 3
            astore 2
            goto 52
      StackMap locals:
      StackMap stack:
        51: aload 2
            aload 3
            if_acmpeq 52
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        52: aload 2
            athrow
        53: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   54     0                           this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   54     1                          debug  Lorg/graalvm/compiler/debug/DebugContext;
            2    4     2                         aField  Lcom/oracle/graal/pointsto/meta/AnalysisField;
            8   49     4                         indent  Lorg/graalvm/compiler/debug/Indent;
           10   11     5                          aType  Lcom/oracle/graal/pointsto/meta/AnalysisType;
           14   16     5                          aType  Lcom/oracle/graal/pointsto/meta/AnalysisType;
           19   20     5                         aField  Lcom/oracle/graal/pointsto/meta/AnalysisField;
           23   24     5                        aMethod  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
           26   47     5                             bb  Lcom/oracle/graal/pointsto/BigBang;
           27   47     6  profilingInformationBuildTask  Ljava/util/concurrent/ForkJoinTask<*>;
           28   47     8                       allTypes  Ljava/util/Collection<Lcom/oracle/svm/hosted/meta/HostedType;>;
           29   47     9                     objectType  Lcom/oracle/svm/hosted/meta/HostedType;
           30   47    10                  cloneableType  Lcom/oracle/svm/hosted/meta/HostedType;
           31   47    11               serializableType  Lcom/oracle/svm/hosted/meta/HostedType;
      Exception table:
        from    to  target  type
           8    47      48  any
           7    50      50  any
    MethodParameters:
       Name  Flags
      debug  

  private com.oracle.svm.hosted.meta.HostedType lookupType(com.oracle.graal.pointsto.meta.AnalysisType);
    descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisType aType
         0: .line 182
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.types:Ljava/util/Map;
            aload 1 /* aType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            areturn
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisType aType
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    1     1  aType  Lcom/oracle/graal/pointsto/meta/AnalysisType;
    MethodParameters:
       Name  Flags
      aType  

  private com.oracle.svm.hosted.meta.HostedType makeType(com.oracle.graal.pointsto.meta.AnalysisType);
    descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=13, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisType aType
         0: .line 186
            aload 1 /* aType */
            ifnonnull 2
         1: .line 187
            aconst_null
            areturn
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.types:Ljava/util/Map;
            aload 1 /* aType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 2 /* hType */
        start local 2 // com.oracle.svm.hosted.meta.HostedType hType
         3: .line 191
            aload 2 /* hType */
            ifnull 5
         4: .line 192
            aload 2 /* hType */
            areturn
         5: .line 195
      StackMap locals: com.oracle.svm.hosted.meta.HostedType
      StackMap stack:
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getName:()Ljava/lang/String;
            astore 3 /* typeName */
        start local 3 // java.lang.String typeName
         6: .line 197
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 8
            invokestatic com.oracle.svm.core.SubstrateUtil.isBuildingLibgraal:()Z
            ifne 8
            aload 3 /* typeName */
            ldc "/hotspot/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 8
            aload 3 /* typeName */
            ldc "/jtt/hotspot/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 8
            aload 3 /* typeName */
            ldc "/hotspot/shared/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "HotSpot object in image "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 198
            aload 3 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 199
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 9
            aload 3 /* typeName */
            ldc "/analysis/meta/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Analysis meta object in image "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 200
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 10
            aload 3 /* typeName */
            ldc "/hosted/meta/"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 10
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Hosted meta object in image "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getInterfaces:()[Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 4 /* aInterfaces */
        start local 4 // com.oracle.graal.pointsto.meta.AnalysisType[] aInterfaces
        11: .line 203
            aload 4 /* aInterfaces */
            arraylength
            anewarray com.oracle.svm.hosted.meta.HostedInterface
            astore 5 /* sInterfaces */
        start local 5 // com.oracle.svm.hosted.meta.HostedInterface[] sInterfaces
        12: .line 204
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        13: goto 16
        14: .line 205
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType[] com.oracle.svm.hosted.meta.HostedInterface[] int
      StackMap stack:
            aload 5 /* sInterfaces */
            iload 6 /* i */
            aload 0 /* this */
            aload 4 /* aInterfaces */
            iload 6 /* i */
            aaload
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            checkcast com.oracle.svm.hosted.meta.HostedInterface
            aastore
        15: .line 204
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            aload 4 /* aInterfaces */
            arraylength
            if_icmplt 14
        end local 6 // int i
        17: .line 208
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.meta.JavaKind kind
        18: .line 209
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 7 /* storageKind */
        start local 7 // jdk.vm.ci.meta.JavaKind storageKind
        19: .line 211
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 25
        20: .line 212
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 22
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInterface:()Z
            ifne 21
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
            ifne 21
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 22
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.meta.HostedType java.lang.String com.oracle.graal.pointsto.meta.AnalysisType[] com.oracle.svm.hosted.meta.HostedInterface[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
      StackMap stack:
        21: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 213
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.meta.HostedPrimitiveType
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aType */
            aload 6 /* kind */
            aload 7 /* storageKind */
            invokespecial com.oracle.svm.hosted.meta.HostedPrimitiveType.<init>:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;)V
            astore 2 /* hType */
        23: .line 214
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.kindToType:Ljava/util/EnumMap;
            aload 2 /* hType */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* hType */
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 216
            goto 47
      StackMap locals:
      StackMap stack:
        25: aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInterface:()Z
            ifeq 30
        26: .line 217
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 28
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
            ifne 27
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 28
      StackMap locals:
      StackMap stack:
        27: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 218
      StackMap locals:
      StackMap stack:
            new com.oracle.svm.hosted.meta.HostedInterface
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aType */
            aload 6 /* kind */
            aload 7 /* storageKind */
            aload 5 /* sInterfaces */
            invokespecial com.oracle.svm.hosted.meta.HostedInterface.<init>:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;[Lcom/oracle/svm/hosted/meta/HostedInterface;)V
            astore 2 /* hType */
        29: .line 220
            goto 47
      StackMap locals:
      StackMap stack:
        30: aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
            ifeq 39
        31: .line 221
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 33
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInterface:()Z
            ifne 32
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 33
      StackMap locals:
      StackMap stack:
        32: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getSuperclass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            checkcast com.oracle.svm.hosted.meta.HostedInstanceClass
            astore 8 /* superClass */
        start local 8 // com.oracle.svm.hosted.meta.HostedInstanceClass superClass
        34: .line 223
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            ldc Ljava/lang/Cloneable;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            istore 9 /* isCloneable */
        start local 9 // boolean isCloneable
        35: .line 224
            new com.oracle.svm.hosted.meta.HostedInstanceClass
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aType */
            aload 6 /* kind */
            aload 7 /* storageKind */
            aload 8 /* superClass */
            aload 5 /* sInterfaces */
            iload 9 /* isCloneable */
            invokespecial com.oracle.svm.hosted.meta.HostedInstanceClass.<init>:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lcom/oracle/svm/hosted/meta/HostedClass;[Lcom/oracle/svm/hosted/meta/HostedInterface;Z)V
            astore 2 /* hType */
        36: .line 226
            aload 8 /* superClass */
            ifnonnull 47
        37: .line 227
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.kindToType:Ljava/util/EnumMap;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* hType */
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // boolean isCloneable
        end local 8 // com.oracle.svm.hosted.meta.HostedInstanceClass superClass
        38: .line 230
            goto 47
      StackMap locals:
      StackMap stack:
        39: aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
            ifeq 46
        40: .line 231
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 42
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInterface:()Z
            ifne 41
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
            ifeq 42
      StackMap locals:
      StackMap stack:
        41: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getSuperclass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            checkcast com.oracle.svm.hosted.meta.HostedClass
            astore 8 /* superType */
        start local 8 // com.oracle.svm.hosted.meta.HostedClass superType
        43: .line 233
            aload 0 /* this */
            aload 1 /* aType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getComponentType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 9 /* componentType */
        start local 9 // com.oracle.svm.hosted.meta.HostedType componentType
        44: .line 235
            new com.oracle.svm.hosted.meta.HostedArrayClass
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aType */
            aload 6 /* kind */
            aload 7 /* storageKind */
            aload 8 /* superType */
            aload 5 /* sInterfaces */
            aload 9 /* componentType */
            invokespecial com.oracle.svm.hosted.meta.HostedArrayClass.<init>:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lcom/oracle/svm/hosted/meta/HostedClass;[Lcom/oracle/svm/hosted/meta/HostedInterface;Lcom/oracle/svm/hosted/meta/HostedType;)V
            astore 2 /* hType */
        end local 9 // com.oracle.svm.hosted.meta.HostedType componentType
        end local 8 // com.oracle.svm.hosted.meta.HostedClass superType
        45: .line 237
            goto 47
        46: .line 238
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        47: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.types:Ljava/util/Map;
            aload 1 /* aType */
            aload 2 /* hType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 8 /* existing */
        start local 8 // com.oracle.svm.hosted.meta.HostedType existing
        48: .line 242
            aload 8 /* existing */
            ifnull 50
        49: .line 243
            new java.lang.StringBuilder
            dup
            ldc "Overwriting existing type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* hType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* existing */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        50: .line 246
      StackMap locals: com.oracle.svm.hosted.meta.HostedType
      StackMap stack:
            aload 2 /* hType */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getHub:()Lcom/oracle/svm/core/hub/DynamicHub;
            astore 9 /* hub */
        start local 9 // com.oracle.svm.core.hub.DynamicHub hub
        51: .line 247
            aload 9 /* hub */
            invokevirtual com.oracle.svm.core.hub.DynamicHub.getHostedJavaClass:()Ljava/lang/Class;
            astore 10 /* hostedJavaClass */
        start local 10 // java.lang.Class hostedJavaClass
        52: .line 248
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            aload 10 /* hostedJavaClass */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 11 /* aTypeChecked */
        start local 11 // com.oracle.graal.pointsto.meta.AnalysisType aTypeChecked
        53: .line 249
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            aload 10 /* hostedJavaClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 12 /* hTypeChecked */
        start local 12 // com.oracle.svm.hosted.meta.HostedType hTypeChecked
        54: .line 250
            aload 1 /* aType */
            aload 11 /* aTypeChecked */
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.sameObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 55
            aload 12 /* hTypeChecked */
            aload 2 /* hType */
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.sameObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 62
        55: .line 251
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.meta.HostedType java.lang.String com.oracle.graal.pointsto.meta.AnalysisType[] com.oracle.svm.hosted.meta.HostedInterface[] jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind com.oracle.svm.hosted.meta.HostedType com.oracle.svm.core.hub.DynamicHub java.lang.Class com.oracle.graal.pointsto.meta.AnalysisType com.oracle.svm.hosted.meta.HostedType
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Type mismatch when performing round-trip HostedType/AnalysisType -> DynamicHub -> java.lang.Class -> HostedType/AnalysisType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        56: .line 252
            aload 2 /* hType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* hType */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        57: .line 253
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* aType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* aType */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 254
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* hub */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* hostedJavaClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 255
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* hTypeChecked */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* hTypeChecked */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 256
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* aTypeChecked */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* aTypeChecked */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        61: .line 251
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        62: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* hType */
            areturn
        end local 12 // com.oracle.svm.hosted.meta.HostedType hTypeChecked
        end local 11 // com.oracle.graal.pointsto.meta.AnalysisType aTypeChecked
        end local 10 // java.lang.Class hostedJavaClass
        end local 9 // com.oracle.svm.core.hub.DynamicHub hub
        end local 8 // com.oracle.svm.hosted.meta.HostedType existing
        end local 7 // jdk.vm.ci.meta.JavaKind storageKind
        end local 6 // jdk.vm.ci.meta.JavaKind kind
        end local 5 // com.oracle.svm.hosted.meta.HostedInterface[] sInterfaces
        end local 4 // com.oracle.graal.pointsto.meta.AnalysisType[] aInterfaces
        end local 3 // java.lang.String typeName
        end local 2 // com.oracle.svm.hosted.meta.HostedType hType
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisType aType
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   63     0             this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   63     1            aType  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            3   63     2            hType  Lcom/oracle/svm/hosted/meta/HostedType;
            6   63     3         typeName  Ljava/lang/String;
           11   63     4      aInterfaces  [Lcom/oracle/graal/pointsto/meta/AnalysisType;
           12   63     5      sInterfaces  [Lcom/oracle/svm/hosted/meta/HostedInterface;
           13   17     6                i  I
           18   63     6             kind  Ljdk/vm/ci/meta/JavaKind;
           19   63     7      storageKind  Ljdk/vm/ci/meta/JavaKind;
           34   38     8       superClass  Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
           35   38     9      isCloneable  Z
           43   45     8        superType  Lcom/oracle/svm/hosted/meta/HostedClass;
           44   45     9    componentType  Lcom/oracle/svm/hosted/meta/HostedType;
           48   63     8         existing  Lcom/oracle/svm/hosted/meta/HostedType;
           51   63     9              hub  Lcom/oracle/svm/core/hub/DynamicHub;
           52   63    10  hostedJavaClass  Ljava/lang/Class<*>;
           53   63    11     aTypeChecked  Lcom/oracle/graal/pointsto/meta/AnalysisType;
           54   63    12     hTypeChecked  Lcom/oracle/svm/hosted/meta/HostedType;
    MethodParameters:
       Name  Flags
      aType  

  private static boolean sameObject(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object x
        start local 1 // java.lang.Object y
         0: .line 266
            aload 0 /* x */
            aload 1 /* y */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object y
        end local 0 // java.lang.Object x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     x  Ljava/lang/Object;
            0    2     1     y  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      x     
      y     

  private void makeMethod(com.oracle.graal.pointsto.meta.AnalysisMethod);
    descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
         0: .line 271
            aload 0 /* this */
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 2 /* holder */
        start local 2 // com.oracle.svm.hosted.meta.HostedType holder
         1: .line 272
            aload 0 /* this */
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getSignature:()Lcom/oracle/graal/pointsto/infrastructure/WrappedSignature;
            aload 2 /* holder */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeSignature:(Ljdk/vm/ci/meta/Signature;Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;)Ljdk/vm/ci/meta/Signature;
            astore 3 /* signature */
        start local 3 // jdk.vm.ci.meta.Signature signature
         2: .line 273
            aload 0 /* this */
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getConstantPool:()Ljdk/vm/ci/meta/ConstantPool;
            aload 2 /* holder */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.makeConstantPool:(Ljdk/vm/ci/meta/ConstantPool;Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;)Ljdk/vm/ci/meta/ConstantPool;
            astore 4 /* constantPool */
        start local 4 // jdk.vm.ci.meta.ConstantPool constantPool
         3: .line 275
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getExceptionHandlers:()[Ljdk/vm/ci/meta/ExceptionHandler;
            astore 5 /* aHandlers */
        start local 5 // jdk.vm.ci.meta.ExceptionHandler[] aHandlers
         4: .line 276
            aload 5 /* aHandlers */
            arraylength
            anewarray jdk.vm.ci.meta.ExceptionHandler
            astore 6 /* sHandlers */
        start local 6 // jdk.vm.ci.meta.ExceptionHandler[] sHandlers
         5: .line 277
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 15
         7: .line 278
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.svm.hosted.meta.HostedType jdk.vm.ci.meta.Signature jdk.vm.ci.meta.ConstantPool jdk.vm.ci.meta.ExceptionHandler[] jdk.vm.ci.meta.ExceptionHandler[] int
      StackMap stack:
            aload 5 /* aHandlers */
            iload 7 /* i */
            aaload
            astore 8 /* h */
        start local 8 // jdk.vm.ci.meta.ExceptionHandler h
         8: .line 279
            aload 8 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getCatchType:()Ljdk/vm/ci/meta/JavaType;
            astore 9 /* catchType */
        start local 9 // jdk.vm.ci.meta.JavaType catchType
         9: .line 280
            aload 8 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getCatchType:()Ljdk/vm/ci/meta/JavaType;
            instanceof com.oracle.graal.pointsto.meta.AnalysisType
            ifeq 12
        10: .line 281
            aload 0 /* this */
            aload 9 /* catchType */
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 9 /* catchType */
        11: .line 282
            goto 13
        12: .line 283
      StackMap locals: jdk.vm.ci.meta.ExceptionHandler jdk.vm.ci.meta.JavaType
      StackMap stack:
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 13
            aload 9 /* catchType */
            ifnull 13
            aload 9 /* catchType */
            instanceof jdk.vm.ci.meta.UnresolvedJavaType
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 285
      StackMap locals:
      StackMap stack:
            aload 6 /* sHandlers */
            iload 7 /* i */
            new jdk.vm.ci.meta.ExceptionHandler
            dup
            aload 8 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getStartBCI:()I
            aload 8 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getEndBCI:()I
            aload 8 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.getHandlerBCI:()I
            aload 8 /* h */
            invokevirtual jdk.vm.ci.meta.ExceptionHandler.catchTypeCPI:()I
            aload 9 /* catchType */
            invokespecial jdk.vm.ci.meta.ExceptionHandler.<init>:(IIIILjdk/vm/ci/meta/JavaType;)V
            aastore
        end local 9 // jdk.vm.ci.meta.JavaType catchType
        end local 8 // jdk.vm.ci.meta.ExceptionHandler h
        14: .line 277
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            aload 5 /* aHandlers */
            arraylength
            if_icmplt 7
        end local 7 // int i
        16: .line 288
            new com.oracle.svm.hosted.meta.HostedMethod
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aMethod */
            aload 2 /* holder */
            aload 3 /* signature */
            aload 4 /* constantPool */
            aload 6 /* sHandlers */
            invokespecial com.oracle.svm.hosted.meta.HostedMethod.<init>:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lcom/oracle/svm/hosted/meta/HostedType;Ljdk/vm/ci/meta/Signature;Ljdk/vm/ci/meta/ConstantPool;[Ljdk/vm/ci/meta/ExceptionHandler;)V
            astore 7 /* sMethod */
        start local 7 // com.oracle.svm.hosted.meta.HostedMethod sMethod
        17: .line 289
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 18
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.methods:Ljava/util/Map;
            aload 1 /* aMethod */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 290
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.svm.hosted.meta.HostedType jdk.vm.ci.meta.Signature jdk.vm.ci.meta.ConstantPool jdk.vm.ci.meta.ExceptionHandler[] jdk.vm.ci.meta.ExceptionHandler[] com.oracle.svm.hosted.meta.HostedMethod
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.methods:Ljava/util/Map;
            aload 1 /* aMethod */
            aload 7 /* sMethod */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 292
            aload 1 /* aMethod */
            ldc Lorg/graalvm/nativeimage/c/function/CFunction;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 8 /* isCFunction */
        start local 8 // boolean isCFunction
        22: .line 293
            aload 1 /* aMethod */
            ldc Lcom/oracle/svm/core/c/function/CFunctionOptions;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 23
            iconst_1
            goto 24
      StackMap locals: int
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 9 /* hasCFunctionOptions */
        start local 9 // boolean hasCFunctionOptions
        25: .line 294
            iload 9 /* hasCFunctionOptions */
            ifeq 29
            iload 8 /* isCFunction */
            ifne 29
        26: .line 295
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.unsupportedFeatures:Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
            aload 1 /* aMethod */
            ldc "%H.%n(%p)"
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* aMethod */
        27: .line 296
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lcom/oracle/svm/core/c/function/CFunctionOptions;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must also be annotated with @"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/nativeimage/c/function/CFunction;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 295
            invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;)V
        29: .line 299
      StackMap locals: int
      StackMap stack:
            iload 8 /* isCFunction */
            ifeq 35
        30: .line 300
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isNative:()Z
            ifne 37
        31: .line 301
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.unsupportedFeatures:Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
            aload 1 /* aMethod */
            ldc "%H.%n(%p)"
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* aMethod */
        32: .line 302
            new java.lang.StringBuilder
            dup
            ldc "Method annotated with @"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/graalvm/nativeimage/c/function/CFunction;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " must be declared native"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 301
            invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;)V
        34: .line 304
            goto 37
      StackMap locals:
      StackMap stack:
        35: aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isNative:()Z
            ifeq 37
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isIntrinsicMethod:()Z
            ifne 37
            aload 1 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isImplementationInvoked:()Z
            ifeq 37
            getstatic com.oracle.svm.hosted.NativeImageOptions.ReportUnsupportedElementsAtRuntime:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 37
        36: .line 305
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.unsupportedFeatures:Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
            aload 1 /* aMethod */
            ldc "%H.%n(%p)"
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* aMethod */
            aload 1 /* aMethod */
            getstatic com.oracle.svm.hosted.substitute.DeletedMethod.NATIVE_MESSAGE:Ljava/lang/String;
            iconst_1
            invokestatic com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.deleteErrorMessage:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/String;Z)Ljava/lang/String;
            invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;)V
        37: .line 307
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean hasCFunctionOptions
        end local 8 // boolean isCFunction
        end local 7 // com.oracle.svm.hosted.meta.HostedMethod sMethod
        end local 6 // jdk.vm.ci.meta.ExceptionHandler[] sHandlers
        end local 5 // jdk.vm.ci.meta.ExceptionHandler[] aHandlers
        end local 4 // jdk.vm.ci.meta.ConstantPool constantPool
        end local 3 // jdk.vm.ci.meta.Signature signature
        end local 2 // com.oracle.svm.hosted.meta.HostedType holder
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   38     0                 this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   38     1              aMethod  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            1   38     2               holder  Lcom/oracle/svm/hosted/meta/HostedType;
            2   38     3            signature  Ljdk/vm/ci/meta/Signature;
            3   38     4         constantPool  Ljdk/vm/ci/meta/ConstantPool;
            4   38     5            aHandlers  [Ljdk/vm/ci/meta/ExceptionHandler;
            5   38     6            sHandlers  [Ljdk/vm/ci/meta/ExceptionHandler;
            6   16     7                    i  I
            8   14     8                    h  Ljdk/vm/ci/meta/ExceptionHandler;
            9   14     9            catchType  Ljdk/vm/ci/meta/JavaType;
           17   38     7              sMethod  Lcom/oracle/svm/hosted/meta/HostedMethod;
           22   38     8          isCFunction  Z
           25   38     9  hasCFunctionOptions  Z
    MethodParameters:
         Name  Flags
      aMethod  

  private jdk.vm.ci.meta.Signature makeSignature(jdk.vm.ci.meta.Signature, com.oracle.graal.pointsto.infrastructure.WrappedJavaType);
    descriptor: (Ljdk/vm/ci/meta/Signature;Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;)Ljdk/vm/ci/meta/Signature;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // jdk.vm.ci.meta.Signature aSignature
        start local 2 // com.oracle.graal.pointsto.infrastructure.WrappedJavaType defaultAccessingClass
         0: .line 310
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.signatures:Ljava/util/Map;
            aload 1 /* aSignature */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.infrastructure.WrappedSignature
            astore 3 /* hSignature */
        start local 3 // com.oracle.graal.pointsto.infrastructure.WrappedSignature hSignature
         1: .line 311
            aload 3 /* hSignature */
            ifnonnull 10
         2: .line 312
            new com.oracle.graal.pointsto.infrastructure.WrappedSignature
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aSignature */
            aload 2 /* defaultAccessingClass */
            invokespecial com.oracle.graal.pointsto.infrastructure.WrappedSignature.<init>:(Lcom/oracle/graal/pointsto/infrastructure/Universe;Ljdk/vm/ci/meta/Signature;Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;)V
            astore 3 /* hSignature */
         3: .line 313
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.signatures:Ljava/util/Map;
            aload 1 /* aSignature */
            aload 3 /* hSignature */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 315
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 316
      StackMap locals: com.oracle.graal.pointsto.infrastructure.WrappedSignature int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aSignature */
            iload 4 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            pop
         7: .line 315
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 1 /* aSignature */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmplt 6
        end local 4 // int i
         9: .line 318
            aload 0 /* this */
            aload 1 /* aSignature */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            checkcast com.oracle.graal.pointsto.meta.AnalysisType
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            pop
        10: .line 320
      StackMap locals:
      StackMap stack:
            aload 3 /* hSignature */
            areturn
        end local 3 // com.oracle.graal.pointsto.infrastructure.WrappedSignature hSignature
        end local 2 // com.oracle.graal.pointsto.infrastructure.WrappedJavaType defaultAccessingClass
        end local 1 // jdk.vm.ci.meta.Signature aSignature
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   11     0                   this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   11     1             aSignature  Ljdk/vm/ci/meta/Signature;
            0   11     2  defaultAccessingClass  Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;
            1   11     3             hSignature  Lcom/oracle/graal/pointsto/infrastructure/WrappedSignature;
            5    9     4                      i  I
    MethodParameters:
                       Name  Flags
      aSignature             
      defaultAccessingClass  

  private jdk.vm.ci.meta.ConstantPool makeConstantPool(jdk.vm.ci.meta.ConstantPool, com.oracle.graal.pointsto.infrastructure.WrappedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ConstantPool;Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;)Ljdk/vm/ci/meta/ConstantPool;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // jdk.vm.ci.meta.ConstantPool aConstantPool
        start local 2 // com.oracle.graal.pointsto.infrastructure.WrappedJavaType defaultAccessingClass
         0: .line 324
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.constantPools:Ljava/util/Map;
            aload 1 /* aConstantPool */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.infrastructure.WrappedConstantPool
            astore 3 /* hConstantPool */
        start local 3 // com.oracle.graal.pointsto.infrastructure.WrappedConstantPool hConstantPool
         1: .line 325
            aload 3 /* hConstantPool */
            ifnonnull 4
         2: .line 326
            new com.oracle.graal.pointsto.infrastructure.WrappedConstantPool
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* aConstantPool */
            aload 2 /* defaultAccessingClass */
            invokespecial com.oracle.graal.pointsto.infrastructure.WrappedConstantPool.<init>:(Lcom/oracle/graal/pointsto/infrastructure/Universe;Ljdk/vm/ci/meta/ConstantPool;Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;)V
            astore 3 /* hConstantPool */
         3: .line 327
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.constantPools:Ljava/util/Map;
            aload 1 /* aConstantPool */
            aload 3 /* hConstantPool */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 329
      StackMap locals: com.oracle.graal.pointsto.infrastructure.WrappedConstantPool
      StackMap stack:
            aload 3 /* hConstantPool */
            areturn
        end local 3 // com.oracle.graal.pointsto.infrastructure.WrappedConstantPool hConstantPool
        end local 2 // com.oracle.graal.pointsto.infrastructure.WrappedJavaType defaultAccessingClass
        end local 1 // jdk.vm.ci.meta.ConstantPool aConstantPool
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                   this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    5     1          aConstantPool  Ljdk/vm/ci/meta/ConstantPool;
            0    5     2  defaultAccessingClass  Lcom/oracle/graal/pointsto/infrastructure/WrappedJavaType;
            1    5     3          hConstantPool  Lcom/oracle/graal/pointsto/infrastructure/WrappedConstantPool;
    MethodParameters:
                       Name  Flags
      aConstantPool          
      defaultAccessingClass  

  private void makeField(com.oracle.graal.pointsto.meta.AnalysisField);
    descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisField aField
         0: .line 333
            aload 0 /* this */
            aload 1 /* aField */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 2 /* holder */
        start local 2 // com.oracle.svm.hosted.meta.HostedType holder
         1: .line 338
            aload 0 /* this */
            aload 1 /* aField */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.lookupType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 3 /* type */
        start local 3 // com.oracle.svm.hosted.meta.HostedType type
         2: .line 340
            new com.oracle.svm.hosted.meta.HostedField
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            aload 1 /* aField */
            aload 2 /* holder */
            aload 3 /* type */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.staticAnalysisResultsBuilder:Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
            aload 1 /* aField */
            invokevirtual com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder.makeTypeProfile:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)Ljdk/vm/ci/meta/JavaTypeProfile;
            invokespecial com.oracle.svm.hosted.meta.HostedField.<init>:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/graal/pointsto/meta/AnalysisField;Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedType;Ljdk/vm/ci/meta/JavaTypeProfile;)V
            astore 4 /* hField */
        start local 4 // com.oracle.svm.hosted.meta.HostedField hField
         3: .line 341
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.fields:Ljava/util/Map;
            aload 1 /* aField */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 342
      StackMap locals: com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedField
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.fields:Ljava/util/Map;
            aload 1 /* aField */
            aload 4 /* hField */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 343
            return
        end local 4 // com.oracle.svm.hosted.meta.HostedField hField
        end local 3 // com.oracle.svm.hosted.meta.HostedType type
        end local 2 // com.oracle.svm.hosted.meta.HostedType holder
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisField aField
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    6     1  aField  Lcom/oracle/graal/pointsto/meta/AnalysisField;
            1    6     2  holder  Lcom/oracle/svm/hosted/meta/HostedType;
            2    6     3    type  Lcom/oracle/svm/hosted/meta/HostedType;
            3    6     4  hField  Lcom/oracle/svm/hosted/meta/HostedField;
    MethodParameters:
        Name  Flags
      aField  

  private void buildProfilingInformation();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 347
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.methods:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.parallelStream:()Ljava/util/stream/Stream;
         1: .line 348
            aload 0 /* this */
            invokedynamic accept(Lcom/oracle/svm/hosted/meta/UniverseBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/svm/hosted/meta/UniverseBuilder.lambda$1(Ljava/util/Map$Entry;)V (7)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         2: .line 350
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.meta.UniverseBuilder.staticAnalysisResultsBuilder:Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
         3: .line 351
            return
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;

  private void collectMonitorFieldInfo(com.oracle.graal.pointsto.BigBang);
    descriptor: (Lcom/oracle/graal/pointsto/BigBang;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.graal.pointsto.BigBang bb
         0: .line 368
            getstatic com.oracle.svm.core.SubstrateOptions.MultiThreaded:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 2
         1: .line 370
            return
         2: .line 373
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.HostedConfiguration.instance:()Lcom/oracle/svm/hosted/HostedConfiguration;
            aload 1 /* bb */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 0 /* this */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.getImmutableTypes:()Ljava/util/Set;
            invokevirtual com.oracle.svm.hosted.HostedConfiguration.collectMonitorFieldInfo:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/svm/hosted/meta/HostedUniverse;Ljava/util/Set;)V
         3: .line 374
            return
        end local 1 // com.oracle.graal.pointsto.BigBang bb
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    4     1    bb  Lcom/oracle/graal/pointsto/BigBang;
    MethodParameters:
      Name  Flags
      bb    

  private java.util.Set<com.oracle.graal.pointsto.meta.AnalysisType> getImmutableTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 377
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* immutableTypes */
        start local 1 // java.util.Set immutableTypes
         1: .line 378
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.IMMUTABLE_TYPES:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* immutableType */
        start local 2 // java.lang.Class immutableType
         3: .line 379
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.aMetaAccess:Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            aload 2 /* immutableType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.optionalLookupJavaType:(Ljava/lang/Class;)Ljava/util/Optional;
            astore 4 /* aType */
        start local 4 // java.util.Optional aType
         4: .line 380
            aload 4 /* aType */
            aload 1 /* immutableTypes */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/Set.add(Ljava/lang/Object;)Z (9 itf)
                  (Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        end local 4 // java.util.Optional aType
        end local 2 // java.lang.Class immutableType
         5: .line 378
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 382
            aload 1 /* immutableTypes */
            areturn
        end local 1 // java.util.Set immutableTypes
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            1    7     1  immutableTypes  Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
            3    5     2   immutableType  Ljava/lang/Class<*>;
            4    5     4           aType  Ljava/util/Optional<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;
    Signature: ()Ljava/util/Set<Lcom/oracle/graal/pointsto/meta/AnalysisType;>;

  public static boolean isKnownImmutableType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 386
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.IMMUTABLE_TYPES:Ljava/util/Set;
            aload 0 /* clazz */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  

  private void layoutInstanceFields();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 390
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getObjectClass:()Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getFirstFieldOffset:()I
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.layoutInstanceFields:(Lcom/oracle/svm/hosted/meta/HostedInstanceClass;I)V
         1: .line 391
            return
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;

  private void layoutInstanceFields(com.oracle.svm.hosted.meta.HostedInstanceClass, int);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedInstanceClass;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedInstanceClass clazz
        start local 2 // int superSize
         0: .line 394
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* rawFields */
        start local 3 // java.util.ArrayList rawFields
         1: .line 395
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* orderedFields */
        start local 4 // java.util.ArrayList orderedFields
         2: .line 397
            invokestatic com.oracle.svm.hosted.HostedConfiguration.instance:()Lcom/oracle/svm/hosted/HostedConfiguration;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.fields:Ljava/util/Map;
            aload 3 /* rawFields */
            aload 4 /* orderedFields */
            aload 1 /* clazz */
            invokevirtual com.oracle.svm.hosted.HostedConfiguration.findAllFieldsForLayout:(Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Ljava/util/Map;Ljava/util/ArrayList;Ljava/util/ArrayList;Lcom/oracle/svm/hosted/meta/HostedInstanceClass;)V
         3: .line 399
            iload 2 /* superSize */
            istore 5 /* startSize */
        start local 5 // int startSize
         4: .line 400
            aload 1 /* clazz */
            ldc Lcom/oracle/svm/core/deopt/DeoptimizedFrame$ReserveDeoptScratchSpace;
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 7
         5: .line 401
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 6
            iload 5 /* startSize */
            invokestatic com.oracle.svm.core.deopt.DeoptimizedFrame.getScratchSpaceOffset:()I
            if_icmple 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 402
      StackMap locals: java.util.ArrayList java.util.ArrayList int
      StackMap stack:
            invokestatic com.oracle.svm.core.deopt.DeoptimizedFrame.getScratchSpaceOffset:()I
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getDeoptScratchSpace:()I
            iadd
            istore 5 /* startSize */
         7: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            invokestatic com.oracle.svm.hosted.config.HybridLayout.isHybrid:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 13
         8: .line 407
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 9
            iload 5 /* startSize */
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayLengthOffset:()I
            if_icmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 408
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.sizeInBytes:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 6 /* fieldSize */
        start local 6 // int fieldSize
        10: .line 409
            iload 5 /* startSize */
            iload 6 /* fieldSize */
            iadd
            istore 5 /* startSize */
        11: .line 415
            aload 1 /* clazz */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            ldc Lcom/oracle/svm/core/hub/DynamicHub;
            invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/svm/hosted/meta/HostedType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 417
            iload 5 /* startSize */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.typeCheckBuilder:Lcom/oracle/svm/hosted/meta/TypeCheckBuilder;
            invokevirtual com.oracle.svm.hosted.meta.TypeCheckBuilder.getNumTypeCheckSlots:()I
            iconst_2
            imul
            iadd
            istore 5 /* startSize */
        end local 6 // int fieldSize
        13: .line 422
      StackMap locals:
      StackMap stack:
            aload 3 /* rawFields */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        14: .line 424
            iload 5 /* startSize */
            istore 6 /* nextOffset */
        start local 6 // int nextOffset
        15: .line 425
            goto 32
        16: .line 426
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 7 /* progress */
        start local 7 // boolean progress
        17: .line 427
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 29
        19: .line 428
      StackMap locals: int int
      StackMap stack:
            aload 3 /* rawFields */
            iload 8 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedField
            astore 9 /* field */
        start local 9 // com.oracle.svm.hosted.meta.HostedField field
        20: .line 429
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            aload 9 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.sizeInBytes:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 10 /* fieldSize */
        start local 10 // int fieldSize
        21: .line 431
            iload 6 /* nextOffset */
            iload 10 /* fieldSize */
            irem
            ifne 28
        22: .line 432
            aload 9 /* field */
            iload 6 /* nextOffset */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.setLocation:(I)V
        23: .line 433
            iload 6 /* nextOffset */
            iload 10 /* fieldSize */
            iadd
            istore 6 /* nextOffset */
        24: .line 435
            aload 3 /* rawFields */
            iload 8 /* i */
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            pop
        25: .line 436
            aload 4 /* orderedFields */
            aload 9 /* field */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 437
            iconst_1
            istore 7 /* progress */
        27: .line 438
            goto 30
        end local 10 // int fieldSize
        end local 9 // com.oracle.svm.hosted.meta.HostedField field
        28: .line 427
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 8 /* i */
            aload 3 /* rawFields */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 19
        end local 8 // int i
        30: .line 441
      StackMap locals:
      StackMap stack:
            iload 7 /* progress */
            ifne 32
        31: .line 443
            iinc 6 /* nextOffset */ 1
        end local 7 // boolean progress
        32: .line 425
      StackMap locals:
      StackMap stack:
            aload 3 /* rawFields */
            invokevirtual java.util.ArrayList.size:()I
            ifgt 16
        33: .line 447
            iload 6 /* nextOffset */
            istore 7 /* endOfFieldsOffset */
        start local 7 // int endOfFieldsOffset
        34: .line 459
            aload 1 /* clazz */
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.needMonitorField:()Z
            ifeq 39
        35: .line 460
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getReferenceSize:()I
            istore 8 /* referenceFieldAlignmentAndSize */
        start local 8 // int referenceFieldAlignmentAndSize
        36: .line 461
            iload 6 /* nextOffset */
            iload 8 /* referenceFieldAlignmentAndSize */
            invokestatic org.graalvm.compiler.core.common.NumUtil.roundUp:(II)I
            istore 6 /* nextOffset */
        37: .line 462
            aload 1 /* clazz */
            iload 6 /* nextOffset */
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.setMonitorFieldOffset:(I)V
        38: .line 463
            iload 6 /* nextOffset */
            iload 8 /* referenceFieldAlignmentAndSize */
            iadd
            istore 6 /* nextOffset */
        end local 8 // int referenceFieldAlignmentAndSize
        39: .line 466
      StackMap locals: int
      StackMap stack:
            aload 1 /* clazz */
            aload 4 /* orderedFields */
            aload 4 /* orderedFields */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.oracle.svm.hosted.meta.HostedField
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedField[]
            putfield com.oracle.svm.hosted.meta.HostedInstanceClass.instanceFields:[Lcom/oracle/svm/hosted/meta/HostedField;
        40: .line 467
            aload 1 /* clazz */
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            iload 6 /* nextOffset */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.alignUp:(I)I
            putfield com.oracle.svm.hosted.meta.HostedInstanceClass.instanceSize:I
        41: .line 469
            aload 1 /* clazz */
            getfield com.oracle.svm.hosted.meta.HostedInstanceClass.subTypes:[Lcom/oracle/svm/hosted/meta/HostedType;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 46
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedInstanceClass int java.util.ArrayList java.util.ArrayList int int int top int int com.oracle.svm.hosted.meta.HostedType[]
      StackMap stack:
        42: aload 11
            iload 9
            aaload
            astore 8 /* subClass */
        start local 8 // com.oracle.svm.hosted.meta.HostedType subClass
        43: .line 470
            aload 8 /* subClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstanceClass:()Z
            ifeq 45
        44: .line 477
            aload 0 /* this */
            aload 8 /* subClass */
            checkcast com.oracle.svm.hosted.meta.HostedInstanceClass
            iload 7 /* endOfFieldsOffset */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.layoutInstanceFields:(Lcom/oracle/svm/hosted/meta/HostedInstanceClass;I)V
        end local 8 // com.oracle.svm.hosted.meta.HostedType subClass
        45: .line 469
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        46: iload 9
            iload 10
            if_icmplt 42
        47: .line 480
            return
        end local 7 // int endOfFieldsOffset
        end local 6 // int nextOffset
        end local 5 // int startSize
        end local 4 // java.util.ArrayList orderedFields
        end local 3 // java.util.ArrayList rawFields
        end local 2 // int superSize
        end local 1 // com.oracle.svm.hosted.meta.HostedInstanceClass clazz
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   48     0                            this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   48     1                           clazz  Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
            0   48     2                       superSize  I
            1   48     3                       rawFields  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedField;>;
            2   48     4                   orderedFields  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedField;>;
            4   48     5                       startSize  I
           10   13     6                       fieldSize  I
           15   48     6                      nextOffset  I
           17   32     7                        progress  Z
           18   30     8                               i  I
           20   28     9                           field  Lcom/oracle/svm/hosted/meta/HostedField;
           21   28    10                       fieldSize  I
           34   48     7               endOfFieldsOffset  I
           36   39     8  referenceFieldAlignmentAndSize  I
           43   45     8                        subClass  Lcom/oracle/svm/hosted/meta/HostedType;
    MethodParameters:
           Name  Flags
      clazz      
      superSize  

  private void layoutStaticFields();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 483
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* fields */
        start local 1 // java.util.ArrayList fields
         1: .line 484
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.fields:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedField
            astore 2 /* field */
        start local 2 // com.oracle.svm.hosted.meta.HostedField field
         3: .line 485
            aload 2 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 5
         4: .line 486
            aload 1 /* fields */
            aload 2 /* field */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.oracle.svm.hosted.meta.HostedField field
         5: .line 484
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 491
            aload 1 /* fields */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
         7: .line 493
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            astore 2 /* layout */
        start local 2 // com.oracle.svm.core.config.ObjectLayout layout
         8: .line 495
            iconst_0
            istore 3 /* nextPrimitiveField */
        start local 3 // int nextPrimitiveField
         9: .line 496
            iconst_0
            istore 4 /* nextObjectField */
        start local 4 // int nextObjectField
        10: .line 499
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            anewarray java.util.ArrayList
            astore 5 /* fieldsOfTypes */
        start local 5 // java.util.List[] fieldsOfTypes
        11: .line 501
            aload 1 /* fields */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 28
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList com.oracle.svm.core.config.ObjectLayout int int java.util.List[] top java.util.Iterator
      StackMap stack:
        12: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedField
            astore 6 /* field */
        start local 6 // com.oracle.svm.hosted.meta.HostedField field
        13: .line 502
            aload 6 /* field */
            getfield com.oracle.svm.hosted.meta.HostedField.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisField;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isWritten:()Z
            ifne 14
            invokestatic com.oracle.svm.hosted.meta.MaterializedConstantFields.singleton:()Lcom/oracle/svm/hosted/meta/MaterializedConstantFields;
            aload 6 /* field */
            getfield com.oracle.svm.hosted.meta.HostedField.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisField;
            invokevirtual com.oracle.svm.hosted.meta.MaterializedConstantFields.contains:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)Z
            ifeq 24
        14: .line 504
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList com.oracle.svm.core.config.ObjectLayout int int java.util.List[] com.oracle.svm.hosted.meta.HostedField java.util.Iterator
      StackMap stack:
            aload 6 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 18
        15: .line 505
            aload 6 /* field */
            aload 2 /* layout */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            iload 4 /* nextObjectField */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayElementOffset:(Ljdk/vm/ci/meta/JavaKind;I)J
            invokestatic org.graalvm.compiler.core.common.NumUtil.safeToInt:(J)I
            invokevirtual com.oracle.svm.hosted.meta.HostedField.setLocation:(I)V
        16: .line 506
            iinc 4 /* nextObjectField */ 1
        17: .line 507
            goto 24
        18: .line 508
      StackMap locals:
      StackMap stack:
            aload 2 /* layout */
            aload 6 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual com.oracle.svm.core.config.ObjectLayout.sizeInBytes:(Ljdk/vm/ci/meta/JavaKind;)I
            istore 8 /* fieldSize */
        start local 8 // int fieldSize
        19: .line 509
            goto 21
        20: .line 511
      StackMap locals: int
      StackMap stack:
            iinc 3 /* nextPrimitiveField */ 1
        21: .line 509
      StackMap locals:
      StackMap stack:
            aload 2 /* layout */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            iload 3 /* nextPrimitiveField */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayElementOffset:(Ljdk/vm/ci/meta/JavaKind;I)J
            iload 8 /* fieldSize */
            i2l
            lrem
            lconst_0
            lcmp
            ifne 20
        22: .line 513
            aload 6 /* field */
            aload 2 /* layout */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            iload 3 /* nextPrimitiveField */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayElementOffset:(Ljdk/vm/ci/meta/JavaKind;I)J
            invokestatic org.graalvm.compiler.core.common.NumUtil.safeToInt:(J)I
            invokevirtual com.oracle.svm.hosted.meta.HostedField.setLocation:(I)V
        23: .line 514
            iload 3 /* nextPrimitiveField */
            iload 8 /* fieldSize */
            iadd
            istore 3 /* nextPrimitiveField */
        end local 8 // int fieldSize
        24: .line 517
      StackMap locals:
      StackMap stack:
            aload 6 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeID:()I
            istore 8 /* typeId */
        start local 8 // int typeId
        25: .line 518
            aload 5 /* fieldsOfTypes */
            iload 8 /* typeId */
            aaload
            ifnonnull 27
        26: .line 519
            aload 5 /* fieldsOfTypes */
            iload 8 /* typeId */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            aastore
        27: .line 521
      StackMap locals: int
      StackMap stack:
            aload 5 /* fieldsOfTypes */
            iload 8 /* typeId */
            aaload
            aload 6 /* field */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // int typeId
        end local 6 // com.oracle.svm.hosted.meta.HostedField field
        28: .line 501
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList com.oracle.svm.core.config.ObjectLayout int int java.util.List[] top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        29: .line 524
            iconst_0
            anewarray com.oracle.svm.hosted.meta.HostedField
            astore 6 /* noFields */
        start local 6 // com.oracle.svm.hosted.meta.HostedField[] noFields
        30: .line 525
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 37
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList com.oracle.svm.core.config.ObjectLayout int int java.util.List[] com.oracle.svm.hosted.meta.HostedField[] top java.util.Iterator
      StackMap stack:
        31: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 7 /* type */
        start local 7 // com.oracle.svm.hosted.meta.HostedType type
        32: .line 526
            aload 5 /* fieldsOfTypes */
            aload 7 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeID:()I
            aaload
            astore 9 /* fieldsOfType */
        start local 9 // java.util.List fieldsOfType
        33: .line 527
            aload 9 /* fieldsOfType */
            ifnull 36
        34: .line 528
            aload 7 /* type */
            aload 9 /* fieldsOfType */
            aload 9 /* fieldsOfType */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.svm.hosted.meta.HostedField
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedField[]
            putfield com.oracle.svm.hosted.meta.HostedType.staticFields:[Lcom/oracle/svm/hosted/meta/HostedField;
        35: .line 529
            goto 37
        36: .line 530
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList com.oracle.svm.core.config.ObjectLayout int int java.util.List[] com.oracle.svm.hosted.meta.HostedField[] com.oracle.svm.hosted.meta.HostedType java.util.Iterator java.util.List
      StackMap stack:
            aload 7 /* type */
            aload 6 /* noFields */
            putfield com.oracle.svm.hosted.meta.HostedType.staticFields:[Lcom/oracle/svm/hosted/meta/HostedField;
        end local 9 // java.util.List fieldsOfType
        end local 7 // com.oracle.svm.hosted.meta.HostedType type
        37: .line 525
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.ArrayList com.oracle.svm.core.config.ObjectLayout int int java.util.List[] com.oracle.svm.hosted.meta.HostedField[] top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        38: .line 534
            iload 4 /* nextObjectField */
            anewarray java.lang.Object
            astore 7 /* staticObjectFields */
        start local 7 // java.lang.Object[] staticObjectFields
        39: .line 535
            iload 3 /* nextPrimitiveField */
            newarray 8
            astore 8 /* staticPrimitiveFields */
        start local 8 // byte[] staticPrimitiveFields
        40: .line 536
            aload 7 /* staticObjectFields */
            aload 8 /* staticPrimitiveFields */
            invokestatic com.oracle.svm.core.StaticFieldsSupport.setData:([Ljava/lang/Object;[B)V
        41: .line 537
            return
        end local 8 // byte[] staticPrimitiveFields
        end local 7 // java.lang.Object[] staticObjectFields
        end local 6 // com.oracle.svm.hosted.meta.HostedField[] noFields
        end local 5 // java.util.List[] fieldsOfTypes
        end local 4 // int nextObjectField
        end local 3 // int nextPrimitiveField
        end local 2 // com.oracle.svm.core.config.ObjectLayout layout
        end local 1 // java.util.ArrayList fields
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   42     0                   this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            1   42     1                 fields  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedField;>;
            3    5     2                  field  Lcom/oracle/svm/hosted/meta/HostedField;
            8   42     2                 layout  Lcom/oracle/svm/core/config/ObjectLayout;
            9   42     3     nextPrimitiveField  I
           10   42     4        nextObjectField  I
           11   42     5          fieldsOfTypes  [Ljava/util/List;
           13   28     6                  field  Lcom/oracle/svm/hosted/meta/HostedField;
           19   24     8              fieldSize  I
           25   28     8                 typeId  I
           30   42     6               noFields  [Lcom/oracle/svm/hosted/meta/HostedField;
           32   37     7                   type  Lcom/oracle/svm/hosted/meta/HostedType;
           33   37     9           fieldsOfType  Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedField;>;
           39   42     7     staticObjectFields  [Ljava/lang/Object;
           40   42     8  staticPrimitiveFields  [B

  private void collectDeclaredMethods();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 541
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            anewarray java.util.ArrayList
            astore 1 /* methodsOfType */
        start local 1 // java.util.List[] methodsOfType
         1: .line 542
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.methods:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.List[] top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            astore 2 /* method */
        start local 2 // com.oracle.svm.hosted.meta.HostedMethod method
         3: .line 543
            aload 2 /* method */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeID:()I
            istore 4 /* typeId */
        start local 4 // int typeId
         4: .line 544
            aload 1 /* methodsOfType */
            iload 4 /* typeId */
            aaload
            astore 5 /* list */
        start local 5 // java.util.List list
         5: .line 545
            aload 5 /* list */
            ifnonnull 8
         6: .line 546
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
         7: .line 547
            aload 1 /* methodsOfType */
            iload 4 /* typeId */
            aload 5 /* list */
            aastore
         8: .line 549
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.List[] com.oracle.svm.hosted.meta.HostedMethod java.util.Iterator int java.util.List
      StackMap stack:
            aload 5 /* list */
            aload 2 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.util.List list
        end local 4 // int typeId
        end local 2 // com.oracle.svm.hosted.meta.HostedMethod method
         9: .line 542
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.List[] top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 552
            iconst_0
            anewarray com.oracle.svm.hosted.meta.HostedMethod
            astore 2 /* noMethods */
        start local 2 // com.oracle.svm.hosted.meta.HostedMethod[] noMethods
        11: .line 553
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 19
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.List[] com.oracle.svm.hosted.meta.HostedMethod[] top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 3 /* type */
        start local 3 // com.oracle.svm.hosted.meta.HostedType type
        13: .line 554
            aload 1 /* methodsOfType */
            aload 3 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeID:()I
            aaload
            astore 5 /* list */
        start local 5 // java.util.List list
        14: .line 555
            aload 5 /* list */
            ifnull 18
        15: .line 556
            aload 5 /* list */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        16: .line 557
            aload 3 /* type */
            aload 5 /* list */
            aload 5 /* list */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.svm.hosted.meta.HostedMethod
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedMethod[]
            putfield com.oracle.svm.hosted.meta.HostedType.allDeclaredMethods:[Lcom/oracle/svm/hosted/meta/HostedMethod;
        17: .line 558
            goto 19
        18: .line 559
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.List[] com.oracle.svm.hosted.meta.HostedMethod[] com.oracle.svm.hosted.meta.HostedType java.util.Iterator java.util.List
      StackMap stack:
            aload 3 /* type */
            aload 2 /* noMethods */
            putfield com.oracle.svm.hosted.meta.HostedType.allDeclaredMethods:[Lcom/oracle/svm/hosted/meta/HostedMethod;
        end local 5 // java.util.List list
        end local 3 // com.oracle.svm.hosted.meta.HostedType type
        19: .line 553
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.List[] com.oracle.svm.hosted.meta.HostedMethod[] top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        20: .line 562
            return
        end local 2 // com.oracle.svm.hosted.meta.HostedMethod[] noMethods
        end local 1 // java.util.List[] methodsOfType
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            1   21     1  methodsOfType  [Ljava/util/List;
            3    9     2         method  Lcom/oracle/svm/hosted/meta/HostedMethod;
            4    9     4         typeId  I
            5    9     5           list  Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
           11   21     2      noMethods  [Lcom/oracle/svm/hosted/meta/HostedMethod;
           13   19     3           type  Lcom/oracle/svm/hosted/meta/HostedType;
           14   19     5           list  Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;

  private void collectMethodImplementations();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 565
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.methods:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            astore 1 /* method */
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod method
         2: .line 568
            aload 1 /* method */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 1 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getImplementations:()[Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:([Ljdk/vm/ci/meta/JavaMethod;)[Lcom/oracle/svm/hosted/meta/HostedMethod;
            putfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
         3: .line 569
            aload 1 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod method
         4: .line 565
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 571
            return
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            2    4     1  method  Lcom/oracle/svm/hosted/meta/HostedMethod;

  private void buildVTables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 592
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* vtablesMap */
        start local 1 // java.util.Map vtablesMap
         1: .line 598
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* usedSlotsMap */
        start local 2 // java.util.Map usedSlotsMap
         2: .line 604
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* vtablesSlots */
        start local 3 // java.util.Map vtablesSlots
         3: .line 606
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 4 /* type */
        start local 4 // com.oracle.svm.hosted.meta.HostedType type
         5: .line 607
            aload 1 /* vtablesMap */
            aload 4 /* type */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 608
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* initialBitSet */
        start local 6 // java.util.BitSet initialBitSet
         7: .line 609
            aload 2 /* usedSlotsMap */
            aload 4 /* type */
            aload 6 /* initialBitSet */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.BitSet initialBitSet
        end local 4 // com.oracle.svm.hosted.meta.HostedType type
         8: .line 606
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 616
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getObjectClass:()Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
            aload 1 /* vtablesMap */
            aload 2 /* usedSlotsMap */
            aload 3 /* vtablesSlots */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.assignImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
        10: .line 624
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* interfaces */
        start local 4 // java.util.List interfaces
        11: .line 625
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 5 /* type */
        start local 5 // com.oracle.svm.hosted.meta.HostedType type
        13: .line 626
            aload 5 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInterface:()Z
            ifeq 16
        14: .line 635
            aload 5 /* type */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.collectSubtypes:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set;)Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            istore 7 /* importance */
        start local 7 // int importance
        15: .line 636
            aload 4 /* interfaces */
            aload 5 /* type */
            iload 7 /* importance */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // int importance
        end local 5 // com.oracle.svm.hosted.meta.HostedType type
        16: .line 625
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        17: .line 639
            aload 4 /* interfaces */
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  com/oracle/svm/hosted/meta/UniverseBuilder.lambda$3(Lorg/graalvm/collections/Pair;Lorg/graalvm/collections/Pair;)I (6)
                  (Lorg/graalvm/collections/Pair;Lorg/graalvm/collections/Pair;)I
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        18: .line 640
            aload 4 /* interfaces */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 21
      StackMap locals:
      StackMap stack:
        19: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.collections.Pair
            astore 5 /* pair */
        start local 5 // org.graalvm.collections.Pair pair
        20: .line 641
            aload 0 /* this */
            aload 5 /* pair */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            aload 1 /* vtablesMap */
            aload 2 /* usedSlotsMap */
            aload 3 /* vtablesSlots */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.assignImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
        end local 5 // org.graalvm.collections.Pair pair
        21: .line 640
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 648
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getObjectClass:()Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
            aload 1 /* vtablesMap */
            aload 2 /* usedSlotsMap */
            aload 3 /* vtablesSlots */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.buildVTable:(Lcom/oracle/svm/hosted/meta/HostedClass;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
        23: .line 650
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 28
      StackMap locals:
      StackMap stack:
        24: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 5 /* type */
        start local 5 // com.oracle.svm.hosted.meta.HostedType type
        25: .line 651
            aload 5 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            ifnonnull 28
        26: .line 652
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 27
            aload 5 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInterface:()Z
            ifne 27
            aload 5 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isPrimitive:()Z
            ifne 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 653
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.meta.HostedType java.util.Iterator
      StackMap stack:
            aload 5 /* type */
            iconst_0
            anewarray com.oracle.svm.hosted.meta.HostedMethod
            putfield com.oracle.svm.hosted.meta.HostedType.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
        end local 5 // com.oracle.svm.hosted.meta.HostedType type
        28: .line 650
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 657
            invokestatic com.oracle.svm.core.SubstrateUtil.assertionsEnabled:()Z
            ifeq 38
        30: .line 659
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 37
      StackMap locals:
      StackMap stack:
        31: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 5 /* type */
        start local 5 // com.oracle.svm.hosted.meta.HostedType type
        32: .line 660
            aload 5 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 36
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map java.util.List com.oracle.svm.hosted.meta.HostedType java.util.Iterator top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
        33: aload 10
            iload 8
            aaload
            astore 7 /* m */
        start local 7 // com.oracle.svm.hosted.meta.HostedMethod m
        34: .line 661
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 35
            aload 7 /* m */
            ifnull 35
            aload 7 /* m */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 5 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisType;
            aload 7 /* m */
            getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            aload 5 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 35
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 7 // com.oracle.svm.hosted.meta.HostedMethod m
        35: .line 660
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        36: iload 8
            iload 9
            if_icmplt 33
        end local 5 // com.oracle.svm.hosted.meta.HostedType type
        37: .line 659
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        38: .line 665
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder java.util.Map java.util.Map java.util.Map java.util.List
      StackMap stack:
            return
        end local 4 // java.util.List interfaces
        end local 3 // java.util.Map vtablesSlots
        end local 2 // java.util.Map usedSlotsMap
        end local 1 // java.util.Map vtablesMap
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            1   39     1     vtablesMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
            2   39     2   usedSlotsMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;
            3   39     3   vtablesSlots  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;
            5    8     4           type  Lcom/oracle/svm/hosted/meta/HostedType;
            7    8     6  initialBitSet  Ljava/util/BitSet;
           11   39     4     interfaces  Ljava/util/List<Lorg/graalvm/collections/Pair<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/lang/Integer;>;>;
           13   16     5           type  Lcom/oracle/svm/hosted/meta/HostedType;
           15   16     7     importance  I
           20   21     5           pair  Lorg/graalvm/collections/Pair<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/lang/Integer;>;
           25   28     5           type  Lcom/oracle/svm/hosted/meta/HostedType;
           32   37     5           type  Lcom/oracle/svm/hosted/meta/HostedType;
           34   35     7              m  Lcom/oracle/svm/hosted/meta/HostedMethod;

  private static java.util.Set<com.oracle.svm.hosted.meta.HostedType> collectSubtypes(com.oracle.svm.hosted.meta.HostedType, java.util.Set<com.oracle.svm.hosted.meta.HostedType>);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.HostedType type
        start local 1 // java.util.Set allSubtypes
         0: .line 669
            aload 1 /* allSubtypes */
            aload 0 /* type */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 670
            aload 0 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.subTypes:[Lcom/oracle/svm/hosted/meta/HostedType;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: com.oracle.svm.hosted.meta.HostedType java.util.Set top int int com.oracle.svm.hosted.meta.HostedType[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* subtype */
        start local 2 // com.oracle.svm.hosted.meta.HostedType subtype
         3: .line 671
            aload 2 /* subtype */
            aload 1 /* allSubtypes */
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.collectSubtypes:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set;)Ljava/util/Set;
            pop
        end local 2 // com.oracle.svm.hosted.meta.HostedType subtype
         4: .line 670
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 674
      StackMap locals: com.oracle.svm.hosted.meta.HostedType java.util.Set
      StackMap stack:
            aload 1 /* allSubtypes */
            areturn
        end local 1 // java.util.Set allSubtypes
        end local 0 // com.oracle.svm.hosted.meta.HostedType type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         type  Lcom/oracle/svm/hosted/meta/HostedType;
            0    7     1  allSubtypes  Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;
            3    4     2      subtype  Lcom/oracle/svm/hosted/meta/HostedType;
    Signature: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;)Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedType;>;
    MethodParameters:
             Name  Flags
      type         
      allSubtypes  

  private void buildVTable(com.oracle.svm.hosted.meta.HostedClass, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.ArrayList<com.oracle.svm.hosted.meta.HostedMethod>>, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.BitSet>, java.util.Map<com.oracle.svm.hosted.meta.HostedMethod, java.util.Set<java.lang.Integer>>);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedClass;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedClass clazz
        start local 2 // java.util.Map vtablesMap
        start local 3 // java.util.Map usedSlotsMap
        start local 4 // java.util.Map vtablesSlots
         0: .line 678
            aload 0 /* this */
            aload 1 /* clazz */
            aload 2 /* vtablesMap */
            aload 3 /* usedSlotsMap */
            aload 4 /* vtablesSlots */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.assignImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
         1: .line 680
            aload 2 /* vtablesMap */
            aload 1 /* clazz */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 5 /* vtable */
        start local 5 // java.util.ArrayList vtable
         2: .line 681
            aload 5 /* vtable */
            aload 5 /* vtable */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.oracle.svm.hosted.meta.HostedMethod
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedMethod[]
            astore 6 /* vtableArray */
        start local 6 // com.oracle.svm.hosted.meta.HostedMethod[] vtableArray
         3: .line 682
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 4
            aload 6 /* vtableArray */
            arraylength
            ifeq 4
            aload 6 /* vtableArray */
            aload 6 /* vtableArray */
            arraylength
            iconst_1
            isub
            aaload
            ifnonnull 4
            new java.lang.AssertionError
            dup
            ldc "Unnecessary entry at end of vtable"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 683
      StackMap locals: java.util.ArrayList com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
            aload 1 /* clazz */
            aload 6 /* vtableArray */
            putfield com.oracle.svm.hosted.meta.HostedClass.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
         5: .line 685
            aload 1 /* clazz */
            getfield com.oracle.svm.hosted.meta.HostedClass.subTypes:[Lcom/oracle/svm/hosted/meta/HostedType;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 10
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedClass java.util.Map java.util.Map java.util.Map java.util.ArrayList com.oracle.svm.hosted.meta.HostedMethod[] top int int com.oracle.svm.hosted.meta.HostedType[]
      StackMap stack:
         6: aload 10
            iload 8
            aaload
            astore 7 /* subClass */
        start local 7 // com.oracle.svm.hosted.meta.HostedType subClass
         7: .line 686
            aload 7 /* subClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInterface:()Z
            ifne 9
         8: .line 687
            aload 0 /* this */
            aload 7 /* subClass */
            checkcast com.oracle.svm.hosted.meta.HostedClass
            aload 2 /* vtablesMap */
            aload 3 /* usedSlotsMap */
            aload 4 /* vtablesSlots */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.buildVTable:(Lcom/oracle/svm/hosted/meta/HostedClass;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
        end local 7 // com.oracle.svm.hosted.meta.HostedType subClass
         9: .line 685
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        10: iload 8
            iload 9
            if_icmplt 6
        11: .line 690
            return
        end local 6 // com.oracle.svm.hosted.meta.HostedMethod[] vtableArray
        end local 5 // java.util.ArrayList vtable
        end local 4 // java.util.Map vtablesSlots
        end local 3 // java.util.Map usedSlotsMap
        end local 2 // java.util.Map vtablesMap
        end local 1 // com.oracle.svm.hosted.meta.HostedClass clazz
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   12     1         clazz  Lcom/oracle/svm/hosted/meta/HostedClass;
            0   12     2    vtablesMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
            0   12     3  usedSlotsMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;
            0   12     4  vtablesSlots  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;
            2   12     5        vtable  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
            3   12     6   vtableArray  [Lcom/oracle/svm/hosted/meta/HostedMethod;
            7    9     7      subClass  Lcom/oracle/svm/hosted/meta/HostedType;
    Signature: (Lcom/oracle/svm/hosted/meta/HostedClass;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;)V
    MethodParameters:
              Name  Flags
      clazz         
      vtablesMap    
      usedSlotsMap  
      vtablesSlots  

  private void assignImplementations(com.oracle.svm.hosted.meta.HostedType, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.ArrayList<com.oracle.svm.hosted.meta.HostedMethod>>, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.BitSet>, java.util.Map<com.oracle.svm.hosted.meta.HostedMethod, java.util.Set<java.lang.Integer>>);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedType type
        start local 2 // java.util.Map vtablesMap
        start local 3 // java.util.Map usedSlotsMap
        start local 4 // java.util.Map vtablesSlots
         0: .line 693
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getAllDeclaredMethods:()[Lcom/oracle/svm/hosted/meta/HostedMethod;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 8
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedType java.util.Map java.util.Map java.util.Map top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
         1: aload 8
            iload 6
            aaload
            astore 5 /* method */
        start local 5 // com.oracle.svm.hosted.meta.HostedMethod method
         2: .line 695
            aload 5 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isInvoked:()Z
            ifne 3
            aload 5 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isImplementationInvoked:()Z
            ifeq 7
         3: .line 701
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedType java.util.Map java.util.Map java.util.Map com.oracle.svm.hosted.meta.HostedMethod int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
            aload 5 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            arraylength
            iconst_1
            if_icmple 7
         4: .line 706
            aload 0 /* this */
            aload 5 /* method */
            aload 2 /* vtablesMap */
            aload 3 /* usedSlotsMap */
            aload 4 /* vtablesSlots */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.findSlot:(Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)I
            istore 9 /* slot */
        start local 9 // int slot
         5: .line 707
            aload 5 /* method */
            iload 9 /* slot */
            putfield com.oracle.svm.hosted.meta.HostedMethod.vtableIndex:I
         6: .line 710
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            aload 5 /* method */
            iload 9 /* slot */
            aload 2 /* vtablesMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.assignImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedMethod;ILjava/util/Map;)V
        end local 9 // int slot
        end local 5 // com.oracle.svm.hosted.meta.HostedMethod method
         7: .line 693
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedType java.util.Map java.util.Map java.util.Map top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         8: iload 6
            iload 7
            if_icmplt 1
         9: .line 714
            return
        end local 4 // java.util.Map vtablesSlots
        end local 3 // java.util.Map usedSlotsMap
        end local 2 // java.util.Map vtablesMap
        end local 1 // com.oracle.svm.hosted.meta.HostedType type
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   10     1          type  Lcom/oracle/svm/hosted/meta/HostedType;
            0   10     2    vtablesMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
            0   10     3  usedSlotsMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;
            0   10     4  vtablesSlots  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;
            2    7     5        method  Lcom/oracle/svm/hosted/meta/HostedMethod;
            5    7     9          slot  I
    Signature: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;)V
    MethodParameters:
              Name  Flags
      type          
      vtablesMap    
      usedSlotsMap  
      vtablesSlots  

  private void assignImplementations(com.oracle.svm.hosted.meta.HostedType, com.oracle.svm.hosted.meta.HostedMethod, int, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.ArrayList<com.oracle.svm.hosted.meta.HostedMethod>>);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedMethod;ILjava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedType type
        start local 2 // com.oracle.svm.hosted.meta.HostedMethod method
        start local 3 // int slot
        start local 4 // java.util.Map vtablesMap
         0: .line 720
            aload 1 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstantiated:()Z
            ifeq 11
         1: .line 721
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 3
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstanceClass:()Z
            ifeq 2
            aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isAbstract:()Z
            ifeq 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isArray:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* method */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.resolveMethod:(Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
            astore 5 /* resolvedMethod */
        start local 5 // com.oracle.svm.hosted.meta.HostedMethod resolvedMethod
         4: .line 724
            aload 5 /* resolvedMethod */
            ifnull 11
         5: .line 725
            aload 4 /* vtablesMap */
            aload 1 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 6 /* vtable */
        start local 6 // java.util.ArrayList vtable
         6: .line 726
            iload 3 /* slot */
            aload 6 /* vtable */
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 8
            aload 6 /* vtable */
            iload 3 /* slot */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            ifnull 8
         7: .line 728
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 11
            aload 6 /* vtable */
            iload 3 /* slot */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            aload 5 /* resolvedMethod */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 730
      StackMap locals: com.oracle.svm.hosted.meta.HostedMethod java.util.ArrayList
      StackMap stack:
            aload 6 /* vtable */
            iload 3 /* slot */
            iconst_1
            iadd
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.resize:(Ljava/util/ArrayList;I)V
         9: .line 731
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 10
            aload 6 /* vtable */
            iload 3 /* slot */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            ifnull 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 732
      StackMap locals:
      StackMap stack:
            aload 6 /* vtable */
            iload 3 /* slot */
            aload 5 /* resolvedMethod */
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.ArrayList vtable
        end local 5 // com.oracle.svm.hosted.meta.HostedMethod resolvedMethod
        11: .line 737
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.subTypes:[Lcom/oracle/svm/hosted/meta/HostedType;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 15
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedMethod int java.util.Map top int int com.oracle.svm.hosted.meta.HostedType[]
      StackMap stack:
        12: aload 8
            iload 6
            aaload
            astore 5 /* subtype */
        start local 5 // com.oracle.svm.hosted.meta.HostedType subtype
        13: .line 738
            aload 0 /* this */
            aload 5 /* subtype */
            aload 2 /* method */
            iload 3 /* slot */
            aload 4 /* vtablesMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.assignImplementations:(Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedMethod;ILjava/util/Map;)V
        end local 5 // com.oracle.svm.hosted.meta.HostedType subtype
        14: .line 737
            iinc 6 1
      StackMap locals:
      StackMap stack:
        15: iload 6
            iload 7
            if_icmplt 12
        16: .line 740
            return
        end local 4 // java.util.Map vtablesMap
        end local 3 // int slot
        end local 2 // com.oracle.svm.hosted.meta.HostedMethod method
        end local 1 // com.oracle.svm.hosted.meta.HostedType type
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   17     1            type  Lcom/oracle/svm/hosted/meta/HostedType;
            0   17     2          method  Lcom/oracle/svm/hosted/meta/HostedMethod;
            0   17     3            slot  I
            0   17     4      vtablesMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
            4   11     5  resolvedMethod  Lcom/oracle/svm/hosted/meta/HostedMethod;
            6   11     6          vtable  Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
           13   14     5         subtype  Lcom/oracle/svm/hosted/meta/HostedType;
    Signature: (Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedMethod;ILjava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;)V
    MethodParameters:
            Name  Flags
      type        
      method      
      slot        
      vtablesMap  

  private com.oracle.svm.hosted.meta.HostedMethod resolveMethod(com.oracle.svm.hosted.meta.HostedType, com.oracle.svm.hosted.meta.HostedMethod);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/hosted/meta/HostedMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedType type
        start local 2 // com.oracle.svm.hosted.meta.HostedMethod method
         0: .line 743
            aload 1 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisType;
            aload 2 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            aload 1 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 3 /* resolved */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisMethod resolved
         1: .line 744
            aload 3 /* resolved */
            ifnull 2
            aload 3 /* resolved */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isImplementationInvoked:()Z
            ifne 3
         2: .line 745
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
      StackMap stack:
            aconst_null
            areturn
         3: .line 747
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 4
            aload 3 /* resolved */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.isAbstract:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 3 /* resolved */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
            areturn
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisMethod resolved
        end local 2 // com.oracle.svm.hosted.meta.HostedMethod method
        end local 1 // com.oracle.svm.hosted.meta.HostedType type
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    5     1      type  Lcom/oracle/svm/hosted/meta/HostedType;
            0    5     2    method  Lcom/oracle/svm/hosted/meta/HostedMethod;
            1    5     3  resolved  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
    MethodParameters:
        Name  Flags
      type    
      method  

  private static void resize(java.util.ArrayList<?>, );
    descriptor: (Ljava/util/ArrayList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.ArrayList list
        start local 1 // int minSize
         0: .line 753
            aload 0 /* list */
            iload 1 /* minSize */
            invokevirtual java.util.ArrayList.ensureCapacity:(I)V
         1: .line 754
            goto 3
         2: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iload 1 /* minSize */
            if_icmplt 2
         4: .line 757
            return
        end local 1 // int minSize
        end local 0 // java.util.ArrayList list
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     list  Ljava/util/ArrayList<*>;
            0    5     1  minSize  I
    Signature: (Ljava/util/ArrayList<*>;I)V
    MethodParameters:
         Name  Flags
      list     
      minSize  

  private int findSlot(com.oracle.svm.hosted.meta.HostedMethod, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.ArrayList<com.oracle.svm.hosted.meta.HostedMethod>>, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.BitSet>, java.util.Map<com.oracle.svm.hosted.meta.HostedMethod, java.util.Set<java.lang.Integer>>);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod method
        start local 2 // java.util.Map vtablesMap
        start local 3 // java.util.Map usedSlotsMap
        start local 4 // java.util.Map vtablesSlots
         0: .line 765
            aload 4 /* vtablesSlots */
            aload 1 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            iconst_0
            aaload
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 5 /* resultSlots */
        start local 5 // java.util.Set resultSlots
         1: .line 766
            aload 1 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 9
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
         2: aload 9
            iload 7
            aaload
            astore 6 /* impl */
        start local 6 // com.oracle.svm.hosted.meta.HostedMethod impl
         3: .line 767
            aload 4 /* vtablesSlots */
            aload 6 /* impl */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 10 /* implSlots */
        start local 10 // java.util.Set implSlots
         4: .line 768
            aload 10 /* implSlots */
            ifnonnull 7
         5: .line 769
            aconst_null
            astore 5 /* resultSlots */
         6: .line 770
            goto 10
         7: .line 772
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set com.oracle.svm.hosted.meta.HostedMethod int int com.oracle.svm.hosted.meta.HostedMethod[] java.util.Set
      StackMap stack:
            aload 5 /* resultSlots */
            aload 10 /* implSlots */
            invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
            pop
        end local 10 // java.util.Set implSlots
        end local 6 // com.oracle.svm.hosted.meta.HostedMethod impl
         8: .line 766
            iinc 7 1
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 2
        10: .line 774
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set
      StackMap stack:
            aload 5 /* resultSlots */
            ifnull 17
            aload 5 /* resultSlots */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 17
        11: .line 779
            ldc 2147483647
            istore 6 /* resultSlot */
        start local 6 // int resultSlot
        12: .line 780
            aload 5 /* resultSlots */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 15
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set int top java.util.Iterator
      StackMap stack:
        13: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* slot */
        start local 7 // int slot
        14: .line 781
            iload 6 /* resultSlot */
            iload 7 /* slot */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* resultSlot */
        end local 7 // int slot
        15: .line 780
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 783
            iload 6 /* resultSlot */
            ireturn
        end local 6 // int resultSlot
        17: .line 791
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set
      StackMap stack:
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* usedSlots */
        start local 6 // java.util.BitSet usedSlots
        18: .line 792
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            aload 6 /* usedSlots */
            aload 3 /* usedSlotsMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.collectUsedSlots:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;Ljava/util/Map;)V
        19: .line 793
            aload 1 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 23
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set java.util.BitSet top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
        20: aload 10
            iload 8
            aaload
            astore 7 /* impl */
        start local 7 // com.oracle.svm.hosted.meta.HostedMethod impl
        21: .line 794
            aload 0 /* this */
            aload 7 /* impl */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            aload 6 /* usedSlots */
            aload 3 /* usedSlotsMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.collectUsedSlots:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;Ljava/util/Map;)V
        end local 7 // com.oracle.svm.hosted.meta.HostedMethod impl
        22: .line 793
            iinc 8 1
      StackMap locals:
      StackMap stack:
        23: iload 8
            iload 9
            if_icmplt 20
        24: .line 801
            aload 6 /* usedSlots */
            iconst_0
            invokevirtual java.util.BitSet.nextClearBit:(I)I
            istore 7 /* resultSlot */
        start local 7 // int resultSlot
        25: .line 803
            aload 0 /* this */
            iload 7 /* resultSlot */
            aload 1 /* method */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            aload 2 /* vtablesMap */
            aload 3 /* usedSlotsMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.markSlotAsUsed:(ILcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;)V
        26: .line 804
            aload 1 /* method */
            getfield com.oracle.svm.hosted.meta.HostedMethod.implementations:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 31
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedMethod java.util.Map java.util.Map java.util.Map java.util.Set java.util.BitSet int top int int com.oracle.svm.hosted.meta.HostedMethod[]
      StackMap stack:
        27: aload 11
            iload 9
            aaload
            astore 8 /* impl */
        start local 8 // com.oracle.svm.hosted.meta.HostedMethod impl
        28: .line 805
            aload 0 /* this */
            iload 7 /* resultSlot */
            aload 8 /* impl */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
            aload 2 /* vtablesMap */
            aload 3 /* usedSlotsMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.markSlotAsUsed:(ILcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;)V
        29: .line 807
            aload 4 /* vtablesSlots */
            aload 8 /* impl */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/svm/hosted/meta/UniverseBuilder.lambda$4(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/util/Set; (6)
                  (Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            iload 7 /* resultSlot */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // com.oracle.svm.hosted.meta.HostedMethod impl
        30: .line 804
            iinc 9 1
      StackMap locals:
      StackMap stack:
        31: iload 9
            iload 10
            if_icmplt 27
        32: .line 810
            iload 7 /* resultSlot */
            ireturn
        end local 7 // int resultSlot
        end local 6 // java.util.BitSet usedSlots
        end local 5 // java.util.Set resultSlots
        end local 4 // java.util.Map vtablesSlots
        end local 3 // java.util.Map usedSlotsMap
        end local 2 // java.util.Map vtablesMap
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod method
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0   33     1        method  Lcom/oracle/svm/hosted/meta/HostedMethod;
            0   33     2    vtablesMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
            0   33     3  usedSlotsMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;
            0   33     4  vtablesSlots  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;
            1   33     5   resultSlots  Ljava/util/Set<Ljava/lang/Integer;>;
            3    8     6          impl  Lcom/oracle/svm/hosted/meta/HostedMethod;
            4    8    10     implSlots  Ljava/util/Set<Ljava/lang/Integer;>;
           12   17     6    resultSlot  I
           14   15     7          slot  I
           18   33     6     usedSlots  Ljava/util/BitSet;
           21   22     7          impl  Lcom/oracle/svm/hosted/meta/HostedMethod;
           25   33     7    resultSlot  I
           28   30     8          impl  Lcom/oracle/svm/hosted/meta/HostedMethod;
    Signature: (Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedMethod;Ljava/util/Set<Ljava/lang/Integer;>;>;)I
    MethodParameters:
              Name  Flags
      method        
      vtablesMap    
      usedSlotsMap  
      vtablesSlots  

  private void collectUsedSlots(com.oracle.svm.hosted.meta.HostedType, java.util.BitSet, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.BitSet>);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // com.oracle.svm.hosted.meta.HostedType type
        start local 2 // java.util.BitSet usedSlots
        start local 3 // java.util.Map usedSlotsMap
         0: .line 814
            aload 2 /* usedSlots */
            aload 3 /* usedSlotsMap */
            aload 1 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.BitSet
            invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
         1: .line 815
            aload 1 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.subTypes:[Lcom/oracle/svm/hosted/meta/HostedType;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 5
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedType java.util.BitSet java.util.Map top int int com.oracle.svm.hosted.meta.HostedType[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* sub */
        start local 4 // com.oracle.svm.hosted.meta.HostedType sub
         3: .line 816
            aload 0 /* this */
            aload 4 /* sub */
            aload 2 /* usedSlots */
            aload 3 /* usedSlotsMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.collectUsedSlots:(Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;Ljava/util/Map;)V
        end local 4 // com.oracle.svm.hosted.meta.HostedType sub
         4: .line 815
            iinc 5 1
      StackMap locals:
      StackMap stack:
         5: iload 5
            iload 6
            if_icmplt 2
         6: .line 818
            return
        end local 3 // java.util.Map usedSlotsMap
        end local 2 // java.util.BitSet usedSlots
        end local 1 // com.oracle.svm.hosted.meta.HostedType type
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    7     1          type  Lcom/oracle/svm/hosted/meta/HostedType;
            0    7     2     usedSlots  Ljava/util/BitSet;
            0    7     3  usedSlotsMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;
            3    4     4           sub  Lcom/oracle/svm/hosted/meta/HostedType;
    Signature: (Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;)V
    MethodParameters:
              Name  Flags
      type          
      usedSlots     
      usedSlotsMap  

  private void markSlotAsUsed(int, com.oracle.svm.hosted.meta.HostedType, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.ArrayList<com.oracle.svm.hosted.meta.HostedMethod>>, java.util.Map<com.oracle.svm.hosted.meta.HostedType, java.util.BitSet>);
    descriptor: (ILcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // int resultSlot
        start local 2 // com.oracle.svm.hosted.meta.HostedType type
        start local 3 // java.util.Map vtablesMap
        start local 4 // java.util.Map usedSlotsMap
         0: .line 821
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 1
            iload 1 /* resultSlot */
            aload 3 /* vtablesMap */
            aload 2 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 1
            aload 3 /* vtablesMap */
            aload 2 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            iload 1 /* resultSlot */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 823
      StackMap locals:
      StackMap stack:
            aload 4 /* usedSlotsMap */
            aload 2 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.BitSet
            iload 1 /* resultSlot */
            invokevirtual java.util.BitSet.set:(I)V
         2: .line 824
            aload 2 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.subTypes:[Lcom/oracle/svm/hosted/meta/HostedType;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder int com.oracle.svm.hosted.meta.HostedType java.util.Map java.util.Map top int int com.oracle.svm.hosted.meta.HostedType[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* sub */
        start local 5 // com.oracle.svm.hosted.meta.HostedType sub
         4: .line 825
            aload 0 /* this */
            iload 1 /* resultSlot */
            aload 5 /* sub */
            aload 3 /* vtablesMap */
            aload 4 /* usedSlotsMap */
            invokevirtual com.oracle.svm.hosted.meta.UniverseBuilder.markSlotAsUsed:(ILcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map;Ljava/util/Map;)V
        end local 5 // com.oracle.svm.hosted.meta.HostedType sub
         5: .line 824
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 3
         7: .line 827
            return
        end local 4 // java.util.Map usedSlotsMap
        end local 3 // java.util.Map vtablesMap
        end local 2 // com.oracle.svm.hosted.meta.HostedType type
        end local 1 // int resultSlot
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    8     1    resultSlot  I
            0    8     2          type  Lcom/oracle/svm/hosted/meta/HostedType;
            0    8     3    vtablesMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
            0    8     4  usedSlotsMap  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;
            4    5     5           sub  Lcom/oracle/svm/hosted/meta/HostedType;
    Signature: (ILcom/oracle/svm/hosted/meta/HostedType;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/ArrayList<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/util/BitSet;>;)V
    MethodParameters:
              Name  Flags
      resultSlot    
      type          
      vtablesMap    
      usedSlotsMap  

  private void buildHubs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=13, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 830
            new com.oracle.svm.core.heap.InstanceReferenceMapEncoder
            dup
            invokespecial com.oracle.svm.core.heap.InstanceReferenceMapEncoder.<init>:()V
            astore 1 /* referenceMapEncoder */
        start local 1 // com.oracle.svm.core.heap.InstanceReferenceMapEncoder referenceMapEncoder
         1: .line 831
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* referenceMaps */
        start local 2 // java.util.Map referenceMaps
         2: .line 832
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 3 /* type */
        start local 3 // com.oracle.svm.hosted.meta.HostedType type
         4: .line 833
            aload 3 /* type */
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.createReferenceMap:(Lcom/oracle/svm/hosted/meta/HostedType;)Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;
            astore 5 /* referenceMap */
        start local 5 // com.oracle.svm.core.heap.ReferenceMapEncoder$Input referenceMap
         5: .line 834
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 6
            aload 5 /* referenceMap */
            checkcast com.oracle.svm.core.heap.SubstrateReferenceMap
            invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.hasNoDerivedOffsets:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 835
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.hosted.meta.HostedType java.util.Iterator com.oracle.svm.core.heap.ReferenceMapEncoder$Input
      StackMap stack:
            aload 2 /* referenceMaps */
            aload 3 /* type */
            aload 5 /* referenceMap */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 836
            aload 1 /* referenceMapEncoder */
            aload 5 /* referenceMap */
            invokevirtual com.oracle.svm.core.heap.InstanceReferenceMapEncoder.add:(Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;)V
        end local 5 // com.oracle.svm.core.heap.ReferenceMapEncoder$Input referenceMap
        end local 3 // com.oracle.svm.hosted.meta.HostedType type
         8: .line 832
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 838
            ldc Lcom/oracle/svm/core/hub/DynamicHubSupport;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.hub.DynamicHubSupport
            aload 1 /* referenceMapEncoder */
            invokevirtual com.oracle.svm.core.heap.InstanceReferenceMapEncoder.encodeAll:()Lcom/oracle/svm/core/c/NonmovableArray;
            invokevirtual com.oracle.svm.core.hub.DynamicHubSupport.setData:(Lcom/oracle/svm/core/c/NonmovableArray;)V
        10: .line 840
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            astore 3 /* ol */
        start local 3 // com.oracle.svm.core.config.ObjectLayout ol
        11: .line 841
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.getTypes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 58
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedType
            astore 4 /* type */
        start local 4 // com.oracle.svm.hosted.meta.HostedType type
        13: .line 843
            iconst_0
            istore 7 /* monitorOffset */
        start local 7 // int monitorOffset
        14: .line 844
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstanceClass:()Z
            ifeq 30
        15: .line 845
            aload 4 /* type */
            checkcast com.oracle.svm.hosted.meta.HostedInstanceClass
            astore 8 /* instanceClass */
        start local 8 // com.oracle.svm.hosted.meta.HostedInstanceClass instanceClass
        16: .line 846
            aload 8 /* instanceClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.isAbstract:()Z
            ifeq 19
        17: .line 847
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.forAbstract:()I
            istore 6 /* layoutHelper */
        start local 6 // int layoutHelper
        18: .line 848
            goto 28
        end local 6 // int layoutHelper
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout com.oracle.svm.hosted.meta.HostedType java.util.Iterator top int com.oracle.svm.hosted.meta.HostedInstanceClass
      StackMap stack:
        19: aload 4 /* type */
            invokestatic com.oracle.svm.hosted.config.HybridLayout.isHybrid:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 27
        20: .line 849
            new com.oracle.svm.hosted.config.HybridLayout
            dup
            aload 8 /* instanceClass */
            aload 3 /* ol */
            invokespecial com.oracle.svm.hosted.config.HybridLayout.<init>:(Lcom/oracle/svm/hosted/meta/HostedInstanceClass;Lcom/oracle/svm/core/config/ObjectLayout;)V
            astore 9 /* hybridLayout */
        start local 9 // com.oracle.svm.hosted.config.HybridLayout hybridLayout
        21: .line 850
            aload 9 /* hybridLayout */
            invokevirtual com.oracle.svm.hosted.config.HybridLayout.getArrayElementStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 10 /* storageKind */
        start local 10 // jdk.vm.ci.meta.JavaKind storageKind
        22: .line 851
            aload 10 /* storageKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 23
            iconst_1
            goto 24
      StackMap locals: com.oracle.svm.hosted.config.HybridLayout jdk.vm.ci.meta.JavaKind
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 11 /* isObject */
        start local 11 // boolean isObject
        25: .line 852
            aload 4 /* type */
            iload 11 /* isObject */
            aload 9 /* hybridLayout */
            invokevirtual com.oracle.svm.hosted.config.HybridLayout.getArrayBaseOffset:()I
            aload 3 /* ol */
            aload 10 /* storageKind */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayIndexShift:(Ljdk/vm/ci/meta/JavaKind;)I
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.forArray:(Ljdk/vm/ci/meta/ResolvedJavaType;ZII)I
            istore 6 /* layoutHelper */
        end local 11 // boolean isObject
        end local 10 // jdk.vm.ci.meta.JavaKind storageKind
        end local 9 // com.oracle.svm.hosted.config.HybridLayout hybridLayout
        start local 6 // int layoutHelper
        26: .line 853
            goto 28
        end local 6 // int layoutHelper
        27: .line 854
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            aload 8 /* instanceClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getInstanceSize:()I
            invokevirtual com.oracle.svm.core.config.ObjectLayout.alignUp:(I)I
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.forInstance:(Ljdk/vm/ci/meta/ResolvedJavaType;I)I
            istore 6 /* layoutHelper */
        start local 6 // int layoutHelper
        28: .line 856
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout com.oracle.svm.hosted.meta.HostedType java.util.Iterator int int com.oracle.svm.hosted.meta.HostedInstanceClass
      StackMap stack:
            aload 8 /* instanceClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getMonitorFieldOffset:()I
            istore 7 /* monitorOffset */
        end local 8 // com.oracle.svm.hosted.meta.HostedInstanceClass instanceClass
        29: .line 857
            goto 44
        end local 6 // int layoutHelper
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout com.oracle.svm.hosted.meta.HostedType java.util.Iterator top int
      StackMap stack:
        30: aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isArray:()Z
            ifeq 37
        31: .line 858
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getComponentType:()Lcom/oracle/svm/hosted/meta/HostedType;
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* storageKind */
        start local 8 // jdk.vm.ci.meta.JavaKind storageKind
        32: .line 859
            aload 8 /* storageKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 33
            iconst_1
            goto 34
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: istore 9 /* isObject */
        start local 9 // boolean isObject
        35: .line 860
            aload 4 /* type */
            iload 9 /* isObject */
            aload 3 /* ol */
            aload 8 /* storageKind */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
            aload 3 /* ol */
            aload 8 /* storageKind */
            invokevirtual com.oracle.svm.core.config.ObjectLayout.getArrayIndexShift:(Ljdk/vm/ci/meta/JavaKind;)I
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.forArray:(Ljdk/vm/ci/meta/ResolvedJavaType;ZII)I
            istore 6 /* layoutHelper */
        end local 9 // boolean isObject
        end local 8 // jdk.vm.ci.meta.JavaKind storageKind
        start local 6 // int layoutHelper
        36: .line 861
            goto 44
        end local 6 // int layoutHelper
      StackMap locals:
      StackMap stack:
        37: aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInterface:()Z
            ifeq 40
        38: .line 862
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.forInterface:()I
            istore 6 /* layoutHelper */
        start local 6 // int layoutHelper
        39: .line 863
            goto 44
        end local 6 // int layoutHelper
      StackMap locals:
      StackMap stack:
        40: aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isPrimitive:()Z
            ifeq 43
        41: .line 864
            invokestatic com.oracle.svm.core.hub.LayoutEncoding.forPrimitive:()I
            istore 6 /* layoutHelper */
        start local 6 // int layoutHelper
        42: .line 865
            goto 44
        end local 6 // int layoutHelper
        43: .line 866
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 6 // int layoutHelper
        44: .line 873
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout com.oracle.svm.hosted.meta.HostedType java.util.Iterator int int
      StackMap stack:
            aload 4 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            arraylength
            anewarray org.graalvm.nativeimage.c.function.CFunctionPointer
            astore 8 /* vtable */
        start local 8 // org.graalvm.nativeimage.c.function.CFunctionPointer[] vtable
        45: .line 874
            iconst_0
            istore 9 /* idx */
        start local 9 // int idx
        46: goto 49
        47: .line 879
      StackMap locals: org.graalvm.nativeimage.c.function.CFunctionPointer[] int
      StackMap stack:
            aload 8 /* vtable */
            iload 9 /* idx */
            aload 4 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            iload 9 /* idx */
            aaload
            invokestatic com.oracle.svm.hosted.meta.MethodPointer.factory:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            aastore
        48: .line 874
            iinc 9 /* idx */ 1
      StackMap locals:
      StackMap stack:
        49: iload 9 /* idx */
            aload 4 /* type */
            getfield com.oracle.svm.hosted.meta.HostedType.vtable:[Lcom/oracle/svm/hosted/meta/HostedMethod;
            arraylength
            if_icmplt 47
        end local 9 // int idx
        50: .line 883
            aload 2 /* referenceMaps */
            aload 4 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.heap.ReferenceMapEncoder$Input
            astore 9 /* referenceMap */
        start local 9 // com.oracle.svm.core.heap.ReferenceMapEncoder$Input referenceMap
        51: .line 884
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 52
            aload 9 /* referenceMap */
            ifnonnull 52
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        52: .line 885
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout com.oracle.svm.hosted.meta.HostedType java.util.Iterator int int org.graalvm.nativeimage.c.function.CFunctionPointer[] com.oracle.svm.core.heap.ReferenceMapEncoder$Input
      StackMap stack:
            getstatic com.oracle.svm.hosted.meta.UniverseBuilder.$assertionsDisabled:Z
            ifne 53
            aload 9 /* referenceMap */
            checkcast com.oracle.svm.core.heap.SubstrateReferenceMap
            invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.hasNoDerivedOffsets:()Z
            ifne 53
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        53: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* referenceMapEncoder */
            aload 9 /* referenceMap */
            invokevirtual com.oracle.svm.core.heap.InstanceReferenceMapEncoder.lookupEncoding:(Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;)J
            lstore 10 /* referenceMapIndex */
        start local 10 // long referenceMapIndex
        54: .line 888
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getHub:()Lcom/oracle/svm/core/hub/DynamicHub;
            astore 12 /* hub */
        start local 12 // com.oracle.svm.core.hub.DynamicHub hub
        55: .line 889
            aload 12 /* hub */
            iload 6 /* layoutHelper */
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeID:()I
            iload 7 /* monitorOffset */
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeCheckStart:()S
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeCheckRange:()S
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeCheckSlot:()S
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getTypeCheckSlots:()[S
        56: .line 890
            aload 8 /* vtable */
            lload 10 /* referenceMapIndex */
            aload 4 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstantiated:()Z
        57: .line 889
            invokevirtual com.oracle.svm.core.hub.DynamicHub.setData:(IIISSS[S[Lorg/graalvm/nativeimage/c/function/CFunctionPointer;JZ)V
        end local 12 // com.oracle.svm.core.hub.DynamicHub hub
        end local 10 // long referenceMapIndex
        end local 9 // com.oracle.svm.core.heap.ReferenceMapEncoder$Input referenceMap
        end local 8 // org.graalvm.nativeimage.c.function.CFunctionPointer[] vtable
        end local 7 // int monitorOffset
        end local 6 // int layoutHelper
        end local 4 // com.oracle.svm.hosted.meta.HostedType type
        58: .line 841
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.core.heap.InstanceReferenceMapEncoder java.util.Map com.oracle.svm.core.config.ObjectLayout top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        59: .line 892
            return
        end local 3 // com.oracle.svm.core.config.ObjectLayout ol
        end local 2 // java.util.Map referenceMaps
        end local 1 // com.oracle.svm.core.heap.InstanceReferenceMapEncoder referenceMapEncoder
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   60     0                 this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            1   60     1  referenceMapEncoder  Lcom/oracle/svm/core/heap/InstanceReferenceMapEncoder;
            2   60     2        referenceMaps  Ljava/util/Map<Lcom/oracle/svm/hosted/meta/HostedType;Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;>;
            4    8     3                 type  Lcom/oracle/svm/hosted/meta/HostedType;
            5    8     5         referenceMap  Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;
           11   60     3                   ol  Lcom/oracle/svm/core/config/ObjectLayout;
           13   58     4                 type  Lcom/oracle/svm/hosted/meta/HostedType;
           18   19     6         layoutHelper  I
           26   27     6         layoutHelper  I
           28   30     6         layoutHelper  I
           36   37     6         layoutHelper  I
           39   40     6         layoutHelper  I
           42   43     6         layoutHelper  I
           44   58     6         layoutHelper  I
           14   58     7        monitorOffset  I
           16   29     8        instanceClass  Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
           21   26     9         hybridLayout  Lcom/oracle/svm/hosted/config/HybridLayout<*>;
           22   26    10          storageKind  Ljdk/vm/ci/meta/JavaKind;
           25   26    11             isObject  Z
           32   36     8          storageKind  Ljdk/vm/ci/meta/JavaKind;
           35   36     9             isObject  Z
           45   58     8               vtable  [Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
           46   50     9                  idx  I
           51   58     9         referenceMap  Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;
           54   58    10    referenceMapIndex  J
           55   58    12                  hub  Lcom/oracle/svm/core/hub/DynamicHub;

  private static com.oracle.svm.core.heap.ReferenceMapEncoder$Input createReferenceMap(com.oracle.svm.hosted.meta.HostedType);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedType;)Lcom/oracle/svm/core/heap/ReferenceMapEncoder$Input;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.HostedType type
         0: .line 895
            aload 0 /* type */
            iconst_1
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getInstanceFields:(Z)[Lcom/oracle/svm/hosted/meta/HostedField;
            astore 1 /* fields */
        start local 1 // com.oracle.svm.hosted.meta.HostedField[] fields
         1: .line 897
            new com.oracle.svm.core.heap.SubstrateReferenceMap
            dup
            invokespecial com.oracle.svm.core.heap.SubstrateReferenceMap.<init>:()V
            astore 2 /* referenceMap */
        start local 2 // com.oracle.svm.core.heap.SubstrateReferenceMap referenceMap
         2: .line 898
            aload 1 /* fields */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedField[] com.oracle.svm.core.heap.SubstrateReferenceMap top int int com.oracle.svm.hosted.meta.HostedField[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* field */
        start local 3 // com.oracle.svm.hosted.meta.HostedField field
         4: .line 899
            aload 3 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getType:()Lcom/oracle/svm/hosted/meta/HostedType;
            invokevirtual com.oracle.svm.hosted.meta.HostedType.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 6
            aload 3 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.hasLocation:()Z
            ifeq 6
            aload 3 /* field */
            invokestatic com.oracle.svm.hosted.meta.UniverseBuilder.excludeFromReferenceMap:(Lcom/oracle/svm/hosted/meta/HostedField;)Z
            ifne 6
         5: .line 900
            aload 2 /* referenceMap */
            aload 3 /* field */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getLocation:()I
            iconst_1
            invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.markReferenceAtOffset:(IZ)V
        end local 3 // com.oracle.svm.hosted.meta.HostedField field
         6: .line 898
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 903
            aload 0 /* type */
            invokevirtual com.oracle.svm.hosted.meta.HostedType.isInstanceClass:()Z
            ifeq 13
         9: .line 904
            aload 0 /* type */
            checkcast com.oracle.svm.hosted.meta.HostedInstanceClass
            astore 3 /* instanceClass */
        start local 3 // com.oracle.svm.hosted.meta.HostedInstanceClass instanceClass
        10: .line 908
            aload 3 /* instanceClass */
            invokevirtual com.oracle.svm.hosted.meta.HostedInstanceClass.getMonitorFieldOffset:()I
            istore 4 /* monitorOffset */
        start local 4 // int monitorOffset
        11: .line 909
            iload 4 /* monitorOffset */
            ifeq 13
        12: .line 910
            aload 2 /* referenceMap */
            iload 4 /* monitorOffset */
            iconst_1
            invokevirtual com.oracle.svm.core.heap.SubstrateReferenceMap.markReferenceAtOffset:(IZ)V
        end local 4 // int monitorOffset
        end local 3 // com.oracle.svm.hosted.meta.HostedInstanceClass instanceClass
        13: .line 913
      StackMap locals: com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedField[] com.oracle.svm.core.heap.SubstrateReferenceMap
      StackMap stack:
            aload 2 /* referenceMap */
            areturn
        end local 2 // com.oracle.svm.core.heap.SubstrateReferenceMap referenceMap
        end local 1 // com.oracle.svm.hosted.meta.HostedField[] fields
        end local 0 // com.oracle.svm.hosted.meta.HostedType type
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           type  Lcom/oracle/svm/hosted/meta/HostedType;
            1   14     1         fields  [Lcom/oracle/svm/hosted/meta/HostedField;
            2   14     2   referenceMap  Lcom/oracle/svm/core/heap/SubstrateReferenceMap;
            4    6     3          field  Lcom/oracle/svm/hosted/meta/HostedField;
           10   13     3  instanceClass  Lcom/oracle/svm/hosted/meta/HostedInstanceClass;
           11   13     4  monitorOffset  I
    MethodParameters:
      Name  Flags
      type  

  private static boolean excludeFromReferenceMap(com.oracle.svm.hosted.meta.HostedField);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedField;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.HostedField field
         0: .line 917
            aload 0 /* field */
            ldc Lcom/oracle/svm/core/annotate/ExcludeFromReferenceMap;
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast com.oracle.svm.core.annotate.ExcludeFromReferenceMap
            astore 1 /* annotation */
        start local 1 // com.oracle.svm.core.annotate.ExcludeFromReferenceMap annotation
         1: .line 918
            aload 1 /* annotation */
            ifnull 3
         2: .line 919
            aload 1 /* annotation */
            invokeinterface com.oracle.svm.core.annotate.ExcludeFromReferenceMap.onlyIf:()Ljava/lang/Class;
            invokestatic com.oracle.svm.util.ReflectionUtil.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.util.function.BooleanSupplier
            invokeinterface java.util.function.BooleanSupplier.getAsBoolean:()Z
            ireturn
         3: .line 921
      StackMap locals: com.oracle.svm.core.annotate.ExcludeFromReferenceMap
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.oracle.svm.core.annotate.ExcludeFromReferenceMap annotation
        end local 0 // com.oracle.svm.hosted.meta.HostedField field
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0       field  Lcom/oracle/svm/hosted/meta/HostedField;
            1    4     1  annotation  Lcom/oracle/svm/core/annotate/ExcludeFromReferenceMap;
    MethodParameters:
       Name  Flags
      field  

  private void processFieldLocations();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
         0: .line 925
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            getfield com.oracle.svm.hosted.meta.HostedUniverse.fields:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedField
            astore 1 /* hField */
        start local 1 // com.oracle.svm.hosted.meta.HostedField hField
         2: .line 926
            aload 1 /* hField */
            getfield com.oracle.svm.hosted.meta.HostedField.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisField;
            astore 3 /* aField */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisField aField
         3: .line 927
            aload 3 /* aField */
            getfield com.oracle.graal.pointsto.meta.AnalysisField.wrapped:Ljdk/vm/ci/meta/ResolvedJavaField;
            instanceof com.oracle.svm.hosted.substitute.ComputedValueField
            ifeq 5
         4: .line 928
            aload 3 /* aField */
            getfield com.oracle.graal.pointsto.meta.AnalysisField.wrapped:Ljdk/vm/ci/meta/ResolvedJavaField;
            checkcast com.oracle.svm.hosted.substitute.ComputedValueField
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.hMetaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            invokevirtual com.oracle.svm.hosted.substitute.ComputedValueField.processSubstrate:(Lcom/oracle/svm/hosted/meta/HostedMetaAccess;)V
         5: .line 931
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder com.oracle.svm.hosted.meta.HostedField java.util.Iterator com.oracle.graal.pointsto.meta.AnalysisField
      StackMap stack:
            aload 1 /* hField */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.hasLocation:()Z
            ifne 7
            aload 1 /* hField */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 7
            aload 3 /* aField */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isWritten:()Z
            ifne 7
         6: .line 932
            aload 1 /* hField */
            invokevirtual com.oracle.svm.hosted.meta.HostedField.setUnmaterializedStaticConstant:()V
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisField aField
        end local 1 // com.oracle.svm.hosted.meta.HostedField hField
         7: .line 925
      StackMap locals: com.oracle.svm.hosted.meta.UniverseBuilder top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 935
            return
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            2    7     1  hField  Lcom/oracle/svm/hosted/meta/HostedField;
            3    7     3  aField  Lcom/oracle/graal/pointsto/meta/AnalysisField;

  private void lambda$1(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
        start local 1 // java.util.Map$Entry entry
         0: .line 348
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            aload 0 /* this */
            getfield com.oracle.svm.hosted.meta.UniverseBuilder.staticAnalysisResultsBuilder:Lcom/oracle/graal/pointsto/results/StaticAnalysisResultsBuilder;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            invokevirtual com.oracle.graal.pointsto.results.StaticAnalysisResultsBuilder.makeResults:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/results/StaticAnalysisResults;
            dup_x1
            putfield com.oracle.svm.hosted.meta.HostedMethod.staticAnalysisResults:Lcom/oracle/graal/pointsto/results/StaticAnalysisResults;
            return
        end local 1 // java.util.Map$Entry entry
        end local 0 // com.oracle.svm.hosted.meta.UniverseBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/svm/hosted/meta/UniverseBuilder;
            0    1     1  entry  Ljava/util/Map$Entry<Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Lcom/oracle/svm/hosted/meta/HostedMethod;>;

  private static int lambda$3(org.graalvm.collections.Pair, org.graalvm.collections.Pair);
    descriptor: (Lorg/graalvm/collections/Pair;Lorg/graalvm/collections/Pair;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.collections.Pair pair1
        start local 1 // org.graalvm.collections.Pair pair2
         0: .line 639
            aload 1 /* pair2 */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* pair1 */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            isub
            ireturn
        end local 1 // org.graalvm.collections.Pair pair2
        end local 0 // org.graalvm.collections.Pair pair1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  pair1  Lorg/graalvm/collections/Pair<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/lang/Integer;>;
            0    1     1  pair2  Lorg/graalvm/collections/Pair<Lcom/oracle/svm/hosted/meta/HostedType;Ljava/lang/Integer;>;

  private static java.util.Set lambda$4(com.oracle.svm.hosted.meta.HostedMethod);
    descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.meta.HostedMethod k
         0: .line 807
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // com.oracle.svm.hosted.meta.HostedMethod k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Lcom/oracle/svm/hosted/meta/HostedMethod;
}
SourceFile: "UniverseBuilder.java"
InnerClasses:
  public ClassInitializerFunctionPointerHolder = com.oracle.svm.core.classinitialization.ClassInitializationInfo$ClassInitializerFunctionPointerHolder of com.oracle.svm.core.classinitialization.ClassInitializationInfo
  public abstract ReserveDeoptScratchSpace = com.oracle.svm.core.deopt.DeoptimizedFrame$ReserveDeoptScratchSpace of com.oracle.svm.core.deopt.DeoptimizedFrame
  public abstract Input = com.oracle.svm.core.heap.ReferenceMapEncoder$Input of com.oracle.svm.core.heap.ReferenceMapEncoder
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map