public class com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin implements org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.word.WordTypes wordTypes;
    descriptor: Lorg/graalvm/compiler/word/WordTypes;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.c.NativeLibraries nativeLibs;
    descriptor: Lcom/oracle/svm/hosted/c/NativeLibraries;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ResolvedJavaType functionPointerType;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 99
            ldc Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            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.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.word.WordTypes, com.oracle.svm.hosted.c.NativeLibraries);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/word/WordTypes;Lcom/oracle/svm/hosted/c/NativeLibraries;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // org.graalvm.compiler.word.WordTypes wordTypes
        start local 3 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 107
            aload 0 /* this */
            aload 2 /* wordTypes */
            putfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         2: .line 108
            aload 0 /* this */
            aload 3 /* nativeLibs */
            putfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
         3: .line 109
            aload 0 /* this */
            aload 1 /* metaAccess */
            ldc Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.functionPointerType:Ljdk/vm/ci/meta/ResolvedJavaType;
         4: .line 110
            return
        end local 3 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
        end local 2 // org.graalvm.compiler.word.WordTypes wordTypes
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0    5     1  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    5     2   wordTypes  Lorg/graalvm/compiler/word/WordTypes;
            0    5     3  nativeLibs  Lcom/oracle/svm/hosted/c/NativeLibraries;
    MethodParameters:
            Name  Flags
      metaAccess  
      wordTypes   
      nativeLibs  

  public boolean handleInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 114
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
            aload 2 /* method */
            invokevirtual com.oracle.svm.hosted.c.NativeLibraries.findElementInfo:(Ljava/lang/reflect/AnnotatedElement;)Lcom/oracle/svm/hosted/c/info/ElementInfo;
            astore 4 /* methodInfo */
        start local 4 // com.oracle.svm.hosted.c.info.ElementInfo methodInfo
         1: .line 115
            aload 4 /* methodInfo */
            instanceof com.oracle.svm.hosted.c.info.AccessorInfo
            ifeq 13
         2: .line 116
            aload 4 /* methodInfo */
            invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            astore 5 /* parentInfo */
        start local 5 // com.oracle.svm.hosted.c.info.ElementInfo parentInfo
         3: .line 117
            aload 5 /* parentInfo */
            instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
            ifeq 8
         4: .line 118
            aload 5 /* parentInfo */
            checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* offset */
        start local 6 // int offset
         5: .line 119
            aload 4 /* methodInfo */
            checkcast com.oracle.svm.hosted.c.info.AccessorInfo
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            if_acmpne 7
         6: .line 120
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 4 /* methodInfo */
            checkcast com.oracle.svm.hosted.c.info.AccessorInfo
            iload 6 /* offset */
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceOffsetOf:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
            ireturn
         7: .line 122
      StackMap locals: com.oracle.svm.hosted.c.info.ElementInfo com.oracle.svm.hosted.c.info.ElementInfo int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 4 /* methodInfo */
            checkcast com.oracle.svm.hosted.c.info.AccessorInfo
            iload 6 /* offset */
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceAccessor:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
            ireturn
        end local 6 // int offset
         8: .line 124
      StackMap locals:
      StackMap stack:
            aload 5 /* parentInfo */
            instanceof com.oracle.svm.hosted.c.info.StructBitfieldInfo
            ifeq 10
         9: .line 125
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 5 /* parentInfo */
            checkcast com.oracle.svm.hosted.c.info.StructBitfieldInfo
            aload 4 /* methodInfo */
            checkcast com.oracle.svm.hosted.c.info.AccessorInfo
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceBitfieldAccessor:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
            ireturn
        10: .line 126
      StackMap locals:
      StackMap stack:
            aload 5 /* parentInfo */
            instanceof com.oracle.svm.hosted.c.info.StructInfo
            ifne 11
            aload 5 /* parentInfo */
            instanceof com.oracle.svm.hosted.c.info.PointerToInfo
            ifeq 12
        11: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 4 /* methodInfo */
            checkcast com.oracle.svm.hosted.c.info.AccessorInfo
            iconst_0
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceAccessor:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
            ireturn
        12: .line 129
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // com.oracle.svm.hosted.c.info.ElementInfo parentInfo
        13: .line 131
      StackMap locals:
      StackMap stack:
            aload 4 /* methodInfo */
            instanceof com.oracle.svm.hosted.c.info.ConstantInfo
            ifeq 15
        14: .line 132
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 4 /* methodInfo */
            checkcast com.oracle.svm.hosted.c.info.ConstantInfo
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceConstant:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/ConstantInfo;)Z
            ireturn
        15: .line 133
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            ldc Lorg/graalvm/nativeimage/c/function/InvokeCFunctionPointer;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 17
        16: .line 134
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceCFunctionPointerInvoke:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        17: .line 135
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            ldc Lcom/oracle/svm/core/annotate/InvokeJavaFunctionPointer;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 19
        18: .line 136
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            invokevirtual com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.replaceJavaFunctionPointerInvoke:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        19: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            ldc Lorg/graalvm/nativeimage/c/function/CEntryPoint;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 31
        20: .line 138
            aload 2 /* method */
            instanceof com.oracle.svm.hosted.meta.HostedMethod
            ifeq 21
            aload 2 /* method */
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 2 /* method */
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.ResolvedJavaMethod
        22: checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            astore 5 /* aMethod */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
        23: .line 139
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 24
            aload 5 /* aMethod */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getWrapped:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            instanceof com.oracle.svm.hosted.code.CEntryPointJavaCallStubMethod
            ifeq 24
            new java.lang.AssertionError
            dup
            ldc "Call stub should never have a @CEntryPoint annotation"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        24: .line 140
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
      StackMap stack:
            invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
            aload 5 /* aMethod */
            invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.registerJavaStubForMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 6 /* stub */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod stub
        25: .line 141
            aload 2 /* method */
            instanceof com.oracle.svm.hosted.meta.HostedMethod
            ifeq 28
        26: .line 142
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            checkcast com.oracle.svm.hosted.meta.HostedMetaAccess
            astore 7 /* hMetaAccess */
        start local 7 // com.oracle.svm.hosted.meta.HostedMetaAccess hMetaAccess
        27: .line 143
            aload 7 /* hMetaAccess */
            invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.getUniverse:()Lcom/oracle/graal/pointsto/infrastructure/Universe;
            aload 6 /* stub */
            invokeinterface com.oracle.graal.pointsto.infrastructure.Universe.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 6 /* stub */
        end local 7 // com.oracle.svm.hosted.meta.HostedMetaAccess hMetaAccess
        28: .line 145
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 29
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 6 /* stub */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 29
            new java.lang.AssertionError
            dup
            ldc "Plugin should not be called for the invoke in the stub itself"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        29: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            aload 6 /* stub */
            aload 3 /* args */
            iconst_0
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
            pop
        30: .line 147
            iconst_1
            ireturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod stub
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
        31: .line 149
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // com.oracle.svm.hosted.c.info.ElementInfo methodInfo
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0   32     1            b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   32     2       method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   32     3         args  [Lorg/graalvm/compiler/nodes/ValueNode;
            1   32     4   methodInfo  Lcom/oracle/svm/hosted/c/info/ElementInfo;
            3   13     5   parentInfo  Lcom/oracle/svm/hosted/c/info/ElementInfo;
            5    8     6       offset  I
           23   31     5      aMethod  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
           25   31     6         stub  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           27   28     7  hMetaAccess  Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
    MethodParameters:
        Name  Flags
      b       
      method  
      args    

  private boolean replaceOffsetOf(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, int);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        start local 5 // int displacement
         0: .line 158
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 3
            aload 3 /* args */
            arraylength
            aload 4 /* accessorInfo */
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int
      StackMap stack: int com.oracle.svm.hosted.c.info.AccessorInfo
         1: iconst_1
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int
      StackMap stack: int com.oracle.svm.hosted.c.info.AccessorInfo int
         2: invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* kind */
        start local 6 // jdk.vm.ci.meta.JavaKind kind
         4: .line 161
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
            aload 6 /* kind */
            iload 5 /* displacement */
            i2l
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         5: .line 162
            iconst_1
            ireturn
        end local 6 // jdk.vm.ci.meta.JavaKind kind
        end local 5 // int displacement
        end local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0    6     1             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    6     2        method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    6     3          args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     4  accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            0    6     5  displacement  I
            4    6     6          kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
              Name  Flags
      b             
      method        
      args          
      accessorInfo  
      displacement  

  private boolean replaceAccessor(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, int);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=19, args_size=6
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        start local 5 // int displacement
         0: .line 166
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 167
            aload 4 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            checkcast com.oracle.svm.hosted.c.info.SizableInfo
            astore 7 /* sizableInfo */
        start local 7 // com.oracle.svm.hosted.c.info.SizableInfo sizableInfo
         2: .line 168
            aload 7 /* sizableInfo */
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.getSizeInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 8 /* elementSize */
        start local 8 // int elementSize
         3: .line 169
            aload 7 /* sizableInfo */
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.isUnsigned:()Z
            istore 9 /* isUnsigned */
        start local 9 // boolean isUnsigned
         4: .line 170
            aload 7 /* sizableInfo */
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.isObject:()Z
            istore 10 /* isPinnedObject */
        start local 10 // boolean isPinnedObject
         5: .line 172
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 6
            aload 3 /* args */
            arraylength
            aload 4 /* accessorInfo */
            iconst_1
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 174
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int
      StackMap stack:
            aload 3 /* args */
            iconst_1
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.baseParameterNumber:(Z)I
            aaload
            astore 11 /* base */
        start local 11 // org.graalvm.compiler.nodes.ValueNode base
         7: .line 175
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 8
            aload 11 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 177
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
            aload 4 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 12
                    2: 36
                    3: 47
                    4: 9
              default: 47
          }
         9: .line 179
      StackMap locals:
      StackMap stack:
            aload 6 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 11 /* base */
            aload 6 /* graph */
            aload 3 /* args */
            aload 4 /* accessorInfo */
            iload 5 /* displacement */
            iload 8 /* elementSize */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffset:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;II)Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 12 /* address */
        start local 12 // org.graalvm.compiler.nodes.ValueNode address
        10: .line 180
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
            aload 12 /* address */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        11: .line 181
            iconst_1
            ireturn
        end local 12 // org.graalvm.compiler.nodes.ValueNode address
        12: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 12 /* resultKind */
        start local 12 // jdk.vm.ci.meta.JavaKind resultKind
        13: .line 185
            iload 8 /* elementSize */
            aload 12 /* resultKind */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.kindFromSize:(ILjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaKind;
            astore 13 /* readKind */
        start local 13 // jdk.vm.ci.meta.JavaKind readKind
        14: .line 186
            aload 13 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 16
        15: .line 187
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 18
            aload 12 /* resultKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 188
      StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 13 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            aload 12 /* resultKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            if_icmple 18
            aload 13 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
            ifne 18
            aload 12 /* resultKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 18
        17: .line 189
            aload 12 /* resultKind */
            astore 13 /* readKind */
        18: .line 191
      StackMap locals:
      StackMap stack:
            aload 6 /* graph */
            aload 3 /* args */
            aload 4 /* accessorInfo */
            aload 11 /* base */
            iload 5 /* displacement */
            iload 8 /* elementSize */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 14 /* offsetAddress */
        start local 14 // org.graalvm.compiler.nodes.memory.address.AddressNode offsetAddress
        19: .line 192
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 4 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeLocationIdentity:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
            astore 15 /* locationIdentity */
        start local 15 // org.graalvm.word.LocationIdentity locationIdentity
        20: .line 194
            aload 13 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 23
        21: .line 195
            aload 1 /* b */
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnStamp:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/core/common/type/StampPair;
            invokevirtual org.graalvm.compiler.core.common.type.StampPair.getTrustedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 16 /* stamp */
        start local 16 // org.graalvm.compiler.core.common.type.Stamp stamp
        22: .line 196
            goto 27
        end local 16 // org.graalvm.compiler.core.common.type.Stamp stamp
      StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity
      StackMap stack:
        23: aload 13 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 24
            aload 13 /* readKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 26
        24: .line 197
      StackMap locals:
      StackMap stack:
            aload 13 /* readKind */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 16 /* stamp */
        start local 16 // org.graalvm.compiler.core.common.type.Stamp stamp
        25: .line 198
            goto 27
        end local 16 // org.graalvm.compiler.core.common.type.Stamp stamp
        26: .line 199
      StackMap locals:
      StackMap stack:
            aload 13 /* readKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(I)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            astore 16 /* stamp */
        start local 16 // org.graalvm.compiler.core.common.type.Stamp stamp
        27: .line 202
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            iload 10 /* isPinnedObject */
            ifeq 30
        28: .line 203
            aload 1 /* b */
            new org.graalvm.compiler.nodes.extended.JavaReadNode
            dup
            aload 16 /* stamp */
            aload 13 /* readKind */
            aload 14 /* offsetAddress */
            aload 15 /* locationIdentity */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            iconst_1
            invokespecial org.graalvm.compiler.nodes.extended.JavaReadNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 17 /* node */
        start local 17 // org.graalvm.compiler.nodes.ValueNode node
        29: .line 204
            goto 34
        end local 17 // org.graalvm.compiler.nodes.ValueNode node
        30: .line 205
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 14 /* offsetAddress */
            aload 15 /* locationIdentity */
            aload 16 /* stamp */
            aload 4 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.readPrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 18 /* read */
        start local 18 // org.graalvm.compiler.nodes.ValueNode read
        31: .line 206
            aload 6 /* graph */
            aload 18 /* read */
            aload 13 /* readKind */
            aload 12 /* resultKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 32
            aload 12 /* resultKind */
            goto 33
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp top org.graalvm.compiler.nodes.ValueNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
        32: aload 12 /* resultKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp top org.graalvm.compiler.nodes.ValueNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
        33: iload 9 /* isUnsigned */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 17 /* node */
        end local 18 // org.graalvm.compiler.nodes.ValueNode read
        start local 17 // org.graalvm.compiler.nodes.ValueNode node
        34: .line 208
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
            aload 17 /* node */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        35: .line 209
            iconst_1
            ireturn
        end local 17 // org.graalvm.compiler.nodes.ValueNode node
        end local 16 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 15 // org.graalvm.word.LocationIdentity locationIdentity
        end local 14 // org.graalvm.compiler.nodes.memory.address.AddressNode offsetAddress
        end local 13 // jdk.vm.ci.meta.JavaKind readKind
        end local 12 // jdk.vm.ci.meta.JavaKind resultKind
        36: .line 212
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 3 /* args */
            aload 4 /* accessorInfo */
            iconst_1
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.valueParameterNumber:(Z)I
            aaload
            astore 12 /* value */
        start local 12 // org.graalvm.compiler.nodes.ValueNode value
        37: .line 213
            aload 12 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 13 /* valueKind */
        start local 13 // jdk.vm.ci.meta.JavaKind valueKind
        38: .line 214
            iload 8 /* elementSize */
            aload 13 /* valueKind */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.kindFromSize:(ILjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaKind;
            astore 14 /* writeKind */
        start local 14 // jdk.vm.ci.meta.JavaKind writeKind
        39: .line 215
            aload 6 /* graph */
            aload 3 /* args */
            aload 4 /* accessorInfo */
            aload 11 /* base */
            iload 5 /* displacement */
            iload 8 /* elementSize */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 15 /* offsetAddress */
        start local 15 // org.graalvm.compiler.nodes.memory.address.AddressNode offsetAddress
        40: .line 216
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 4 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeLocationIdentity:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
            astore 16 /* locationIdentity */
        start local 16 // org.graalvm.word.LocationIdentity locationIdentity
        41: .line 217
            iload 10 /* isPinnedObject */
            ifeq 44
        42: .line 218
            aload 1 /* b */
            new org.graalvm.compiler.nodes.extended.JavaWriteNode
            dup
            aload 14 /* writeKind */
            aload 15 /* offsetAddress */
            aload 16 /* locationIdentity */
            aload 12 /* value */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            iconst_1
            invokespecial org.graalvm.compiler.nodes.extended.JavaWriteNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        43: .line 219
            goto 46
        44: .line 220
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 6 /* graph */
            aload 12 /* value */
            aload 13 /* valueKind */
            aload 14 /* writeKind */
            iload 9 /* isUnsigned */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 17 /* adaptedValue */
        start local 17 // org.graalvm.compiler.nodes.ValueNode adaptedValue
        45: .line 221
            aload 1 /* b */
            aload 15 /* offsetAddress */
            aload 16 /* locationIdentity */
            aload 17 /* adaptedValue */
            aload 4 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.writePrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)V
        end local 17 // org.graalvm.compiler.nodes.ValueNode adaptedValue
        46: .line 223
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 16 // org.graalvm.word.LocationIdentity locationIdentity
        end local 15 // org.graalvm.compiler.nodes.memory.address.AddressNode offsetAddress
        end local 14 // jdk.vm.ci.meta.JavaKind writeKind
        end local 13 // jdk.vm.ci.meta.JavaKind valueKind
        end local 12 // org.graalvm.compiler.nodes.ValueNode value
        47: .line 226
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo int org.graalvm.compiler.nodes.StructuredGraph com.oracle.svm.hosted.c.info.SizableInfo int int int org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 11 // org.graalvm.compiler.nodes.ValueNode base
        end local 10 // boolean isPinnedObject
        end local 9 // boolean isUnsigned
        end local 8 // int elementSize
        end local 7 // com.oracle.svm.hosted.c.info.SizableInfo sizableInfo
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 5 // int displacement
        end local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   48     0              this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0   48     1                 b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   48     2            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   48     3              args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   48     4      accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            0   48     5      displacement  I
            1   48     6             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   48     7       sizableInfo  Lcom/oracle/svm/hosted/c/info/SizableInfo;
            3   48     8       elementSize  I
            4   48     9        isUnsigned  Z
            5   48    10    isPinnedObject  Z
            7   48    11              base  Lorg/graalvm/compiler/nodes/ValueNode;
           10   12    12           address  Lorg/graalvm/compiler/nodes/ValueNode;
           13   36    12        resultKind  Ljdk/vm/ci/meta/JavaKind;
           14   36    13          readKind  Ljdk/vm/ci/meta/JavaKind;
           19   36    14     offsetAddress  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           20   36    15  locationIdentity  Lorg/graalvm/word/LocationIdentity;
           22   23    16             stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           25   26    16             stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           27   36    16             stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           29   30    17              node  Lorg/graalvm/compiler/nodes/ValueNode;
           34   36    17              node  Lorg/graalvm/compiler/nodes/ValueNode;
           31   34    18              read  Lorg/graalvm/compiler/nodes/ValueNode;
           37   47    12             value  Lorg/graalvm/compiler/nodes/ValueNode;
           38   47    13         valueKind  Ljdk/vm/ci/meta/JavaKind;
           39   47    14         writeKind  Ljdk/vm/ci/meta/JavaKind;
           40   47    15     offsetAddress  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           41   47    16  locationIdentity  Lorg/graalvm/word/LocationIdentity;
           45   46    17      adaptedValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      b             
      method        
      args          
      accessorInfo  
      displacement  

  private boolean replaceBitfieldAccessor(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.StructBitfieldInfo, com.oracle.svm.hosted.c.info.AccessorInfo);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=26, args_size=6
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 4 // com.oracle.svm.hosted.c.info.StructBitfieldInfo bitfieldInfo
        start local 5 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         0: .line 231
            aload 4 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getByteOffsetInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* byteOffset */
        start local 6 // int byteOffset
         1: .line 232
            aload 4 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getStartBitInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* startBit */
        start local 7 // int startBit
         2: .line 233
            aload 4 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getEndBitInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 8 /* endBit */
        start local 8 // int endBit
         3: .line 234
            aload 4 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.isUnsigned:()Z
            istore 9 /* isUnsigned */
        start local 9 // boolean isUnsigned
         4: .line 235
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 6
            iload 6 /* byteOffset */
            iflt 5
            iload 6 /* byteOffset */
            aload 4 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            checkcast com.oracle.svm.hosted.c.info.SizableInfo
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.getSizeInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmplt 6
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 236
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 8
            iload 7 /* startBit */
            iflt 7
            iload 7 /* startBit */
            bipush 8
            if_icmplt 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 237
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 10
            iload 8 /* endBit */
            iload 7 /* startBit */
            if_icmplt 9
            iload 8 /* endBit */
            bipush 64
            if_icmplt 10
      StackMap locals:
      StackMap stack:
         9: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 244
      StackMap locals:
      StackMap stack:
            iload 8 /* endBit */
            bipush 8
            if_icmpge 13
        11: .line 245
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            astore 10 /* memoryKind */
        start local 10 // jdk.vm.ci.meta.JavaKind memoryKind
        12: .line 246
            goto 20
        end local 10 // jdk.vm.ci.meta.JavaKind memoryKind
      StackMap locals:
      StackMap stack:
        13: iload 8 /* endBit */
            bipush 16
            if_icmpge 16
        14: .line 247
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            astore 10 /* memoryKind */
        start local 10 // jdk.vm.ci.meta.JavaKind memoryKind
        15: .line 248
            goto 20
        end local 10 // jdk.vm.ci.meta.JavaKind memoryKind
      StackMap locals:
      StackMap stack:
        16: iload 8 /* endBit */
            bipush 32
            if_icmpge 19
        17: .line 249
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            astore 10 /* memoryKind */
        start local 10 // jdk.vm.ci.meta.JavaKind memoryKind
        18: .line 250
            goto 20
        end local 10 // jdk.vm.ci.meta.JavaKind memoryKind
        19: .line 251
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            astore 10 /* memoryKind */
        start local 10 // jdk.vm.ci.meta.JavaKind memoryKind
        20: .line 253
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 10 /* memoryKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
            istore 11 /* numBytes */
        start local 11 // int numBytes
        21: .line 259
            iload 6 /* byteOffset */
            iload 11 /* numBytes */
            irem
            istore 12 /* alignmentCorrection */
        start local 12 // int alignmentCorrection
        22: .line 260
            iload 12 /* alignmentCorrection */
            ifle 26
            iload 8 /* endBit */
            iload 12 /* alignmentCorrection */
            bipush 8
            imul
            iadd
            iload 11 /* numBytes */
            bipush 8
            imul
            if_icmpge 26
        23: .line 261
            iload 6 /* byteOffset */
            iload 12 /* alignmentCorrection */
            isub
            istore 6 /* byteOffset */
        24: .line 262
            iload 7 /* startBit */
            iload 12 /* alignmentCorrection */
            bipush 8
            imul
            iadd
            istore 7 /* startBit */
        25: .line 263
            iload 8 /* endBit */
            iload 12 /* alignmentCorrection */
            bipush 8
            imul
            iadd
            istore 8 /* endBit */
        26: .line 265
      StackMap locals: int int
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 28
            iload 6 /* byteOffset */
            iflt 27
            iload 6 /* byteOffset */
            aload 4 /* bitfieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructBitfieldInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            checkcast com.oracle.svm.hosted.c.info.SizableInfo
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo.getSizeInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmplt 28
      StackMap locals:
      StackMap stack:
        27: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 266
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 30
            iload 7 /* startBit */
            iflt 29
            iload 7 /* startBit */
            iload 11 /* numBytes */
            bipush 8
            imul
            if_icmplt 30
      StackMap locals:
      StackMap stack:
        29: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        30: .line 267
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 32
            iload 8 /* endBit */
            iload 7 /* startBit */
            if_icmplt 31
            iload 8 /* endBit */
            iload 11 /* numBytes */
            bipush 8
            imul
            if_icmplt 32
      StackMap locals:
      StackMap stack:
        31: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        32: .line 269
      StackMap locals:
      StackMap stack:
            iload 8 /* endBit */
            iload 7 /* startBit */
            isub
            iconst_1
            iadd
            istore 13 /* numBits */
        start local 13 // int numBits
        33: .line 270
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 35
            iload 13 /* numBits */
            ifle 34
            iload 13 /* numBits */
            iload 11 /* numBytes */
            bipush 8
            imul
            if_icmple 35
      StackMap locals: int
      StackMap stack:
        34: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        35: .line 276
      StackMap locals:
      StackMap stack:
            aload 10 /* memoryKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 14 /* computeKind */
        start local 14 // jdk.vm.ci.meta.JavaKind computeKind
        36: .line 277
            aload 14 /* computeKind */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 15 /* computeStamp */
        start local 15 // org.graalvm.compiler.core.common.type.Stamp computeStamp
        37: .line 278
            aload 14 /* computeKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            istore 16 /* computeBits */
        start local 16 // int computeBits
        38: .line 279
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 40
            iload 7 /* startBit */
            iflt 39
            iload 7 /* startBit */
            iload 16 /* computeBits */
            if_icmplt 40
      StackMap locals: jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int
      StackMap stack:
        39: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 280
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 42
            iload 8 /* endBit */
            iload 7 /* startBit */
            if_icmplt 41
            iload 8 /* endBit */
            iload 16 /* computeBits */
            if_icmplt 42
      StackMap locals:
      StackMap stack:
        41: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 281
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 43
            iload 16 /* computeBits */
            iload 13 /* numBits */
            if_icmpge 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 283
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 44
            aload 3 /* args */
            arraylength
            aload 5 /* accessorInfo */
            iconst_1
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.parameterCount:(Z)I
            if_icmpeq 44
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 284
      StackMap locals:
      StackMap stack:
            aload 3 /* args */
            iconst_1
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo.baseParameterNumber:(Z)I
            aaload
            astore 17 /* base */
        start local 17 // org.graalvm.compiler.nodes.ValueNode base
        45: .line 285
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 18 /* graph */
        start local 18 // org.graalvm.compiler.nodes.StructuredGraph graph
        46: .line 290
            aload 18 /* graph */
            aload 3 /* args */
            aload 5 /* accessorInfo */
            aload 17 /* base */
            iload 6 /* byteOffset */
            iconst_m1
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 19 /* address */
        start local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        47: .line 291
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            aload 5 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeLocationIdentity:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
            astore 20 /* locationIdentity */
        start local 20 // org.graalvm.word.LocationIdentity locationIdentity
        48: .line 292
            aload 10 /* memoryKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(I)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
            astore 21 /* stamp */
        start local 21 // org.graalvm.compiler.core.common.type.Stamp stamp
        49: .line 293
            aload 1 /* b */
            aload 19 /* address */
            aload 20 /* locationIdentity */
            aload 21 /* stamp */
            aload 5 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.readPrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 22 /* cur */
        start local 22 // org.graalvm.compiler.nodes.ValueNode cur
        50: .line 294
            aload 18 /* graph */
            aload 22 /* cur */
            aload 10 /* memoryKind */
            aload 14 /* computeKind */
            iconst_1
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 22 /* cur */
        51: .line 296
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:()[I
            aload 5 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getAccessorKind:()Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 52
                    2: 63
              default: 73
          }
        52: .line 298
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int jdk.vm.ci.meta.JavaKind int int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            iload 9 /* isUnsigned */
            ifeq 56
        53: .line 303
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.RightShiftNode
            dup
            aload 22 /* cur */
            iload 7 /* startBit */
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.RightShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 22 /* cur */
        54: .line 304
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.AndNode
            dup
            aload 22 /* cur */
            aload 15 /* computeStamp */
            lconst_1
            iload 13 /* numBits */
            lshl
            lconst_1
            lsub
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 22 /* cur */
        55: .line 305
            goto 58
        56: .line 310
      StackMap locals:
      StackMap stack:
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.LeftShiftNode
            dup
            aload 22 /* cur */
            iload 16 /* computeBits */
            iload 8 /* endBit */
            isub
            iconst_1
            isub
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.LeftShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 22 /* cur */
        57: .line 311
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.RightShiftNode
            dup
            aload 22 /* cur */
            iload 16 /* computeBits */
            iload 13 /* numBits */
            isub
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.RightShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 22 /* cur */
        58: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 23 /* resultKind */
        start local 23 // jdk.vm.ci.meta.JavaKind resultKind
        59: .line 315
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
            aload 18 /* graph */
            aload 22 /* cur */
            aload 14 /* computeKind */
            aload 23 /* resultKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 60
            aload 23 /* resultKind */
            goto 61
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int jdk.vm.ci.meta.JavaKind int int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
        60: aload 23 /* resultKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
      StackMap locals: com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.StructBitfieldInfo com.oracle.svm.hosted.c.info.AccessorInfo int int int int jdk.vm.ci.meta.JavaKind int int int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.word.LocationIdentity org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
        61: iload 9 /* isUnsigned */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        62: .line 316
            iconst_1
            ireturn
        end local 23 // jdk.vm.ci.meta.JavaKind resultKind
        63: .line 320
      StackMap locals:
      StackMap stack:
            lconst_1
            iload 13 /* numBits */
            lshl
            lconst_1
            lsub
            iload 7 /* startBit */
            lshl
            ldc -1
            lxor
            lstore 23 /* mask */
        start local 23 // long mask
        64: .line 321
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.AndNode
            dup
            aload 22 /* cur */
            aload 15 /* computeStamp */
            lload 23 /* mask */
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 22 /* cur */
        65: .line 327
            aload 3 /* args */
            aload 5 /* accessorInfo */
            iconst_1
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.valueParameterNumber:(Z)I
            aaload
            astore 25 /* value */
        start local 25 // org.graalvm.compiler.nodes.ValueNode value
        66: .line 328
            aload 18 /* graph */
            aload 25 /* value */
            aload 25 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 14 /* computeKind */
            iload 9 /* isUnsigned */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 25 /* value */
        67: .line 329
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.AndNode
            dup
            aload 25 /* value */
            aload 15 /* computeStamp */
            lconst_1
            iload 13 /* numBits */
            lshl
            lconst_1
            lsub
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 25 /* value */
        68: .line 330
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.LeftShiftNode
            dup
            aload 25 /* value */
            iload 7 /* startBit */
            aload 18 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.LeftShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 25 /* value */
        69: .line 333
            aload 18 /* graph */
            new org.graalvm.compiler.nodes.calc.OrNode
            dup
            aload 22 /* cur */
            aload 25 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.OrNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 22 /* cur */
        70: .line 336
            aload 18 /* graph */
            aload 22 /* cur */
            aload 14 /* computeKind */
            aload 10 /* memoryKind */
            iconst_1
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 22 /* cur */
        71: .line 338
            aload 1 /* b */
            aload 19 /* address */
            aload 20 /* locationIdentity */
            aload 22 /* cur */
            aload 5 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.writePrimitive:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)V
        72: .line 339
            iconst_1
            ireturn
        end local 25 // org.graalvm.compiler.nodes.ValueNode value
        end local 23 // long mask
        73: .line 342
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 22 // org.graalvm.compiler.nodes.ValueNode cur
        end local 21 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 20 // org.graalvm.word.LocationIdentity locationIdentity
        end local 19 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 18 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 17 // org.graalvm.compiler.nodes.ValueNode base
        end local 16 // int computeBits
        end local 15 // org.graalvm.compiler.core.common.type.Stamp computeStamp
        end local 14 // jdk.vm.ci.meta.JavaKind computeKind
        end local 13 // int numBits
        end local 12 // int alignmentCorrection
        end local 11 // int numBytes
        end local 10 // jdk.vm.ci.meta.JavaKind memoryKind
        end local 9 // boolean isUnsigned
        end local 8 // int endBit
        end local 7 // int startBit
        end local 6 // int byteOffset
        end local 5 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 4 // com.oracle.svm.hosted.c.info.StructBitfieldInfo bitfieldInfo
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   74     0                 this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0   74     1                    b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   74     2               method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   74     3                 args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   74     4         bitfieldInfo  Lcom/oracle/svm/hosted/c/info/StructBitfieldInfo;
            0   74     5         accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            1   74     6           byteOffset  I
            2   74     7             startBit  I
            3   74     8               endBit  I
            4   74     9           isUnsigned  Z
           12   13    10           memoryKind  Ljdk/vm/ci/meta/JavaKind;
           15   16    10           memoryKind  Ljdk/vm/ci/meta/JavaKind;
           18   19    10           memoryKind  Ljdk/vm/ci/meta/JavaKind;
           20   74    10           memoryKind  Ljdk/vm/ci/meta/JavaKind;
           21   74    11             numBytes  I
           22   74    12  alignmentCorrection  I
           33   74    13              numBits  I
           36   74    14          computeKind  Ljdk/vm/ci/meta/JavaKind;
           37   74    15         computeStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           38   74    16          computeBits  I
           45   74    17                 base  Lorg/graalvm/compiler/nodes/ValueNode;
           46   74    18                graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           47   74    19              address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           48   74    20     locationIdentity  Lorg/graalvm/word/LocationIdentity;
           49   74    21                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           50   74    22                  cur  Lorg/graalvm/compiler/nodes/ValueNode;
           59   63    23           resultKind  Ljdk/vm/ci/meta/JavaKind;
           64   73    23                 mask  J
           66   73    25                value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      b             
      method        
      args          
      bitfieldInfo  
      accessorInfo  

  private static org.graalvm.compiler.nodes.ValueNode readPrimitive(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.core.common.type.Stamp, com.oracle.svm.hosted.c.info.AccessorInfo);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 2 // org.graalvm.word.LocationIdentity locationIdentity
        start local 3 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         0: .line 347
            aload 0 /* b */
            new com.oracle.svm.core.graal.nodes.CInterfaceReadNode
            dup
            aload 1 /* address */
            aload 2 /* locationIdentity */
            aload 3 /* stamp */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            aload 4 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.accessName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Ljava/lang/String;
            invokespecial com.oracle.svm.core.graal.nodes.CInterfaceReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Ljava/lang/String;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast com.oracle.svm.core.graal.nodes.CInterfaceReadNode
            astore 5 /* read */
        start local 5 // com.oracle.svm.core.graal.nodes.CInterfaceReadNode read
         1: .line 352
            aload 5 /* read */
            iconst_1
            invokevirtual com.oracle.svm.core.graal.nodes.CInterfaceReadNode.setForceFixed:(Z)V
         2: .line 353
            aload 5 /* read */
            areturn
        end local 5 // com.oracle.svm.core.graal.nodes.CInterfaceReadNode read
        end local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 3 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 2 // org.graalvm.word.LocationIdentity locationIdentity
        end local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0                 b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    3     1           address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    3     2  locationIdentity  Lorg/graalvm/word/LocationIdentity;
            0    3     3             stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    3     4      accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            1    3     5              read  Lcom/oracle/svm/core/graal/nodes/CInterfaceReadNode;
    MethodParameters:
                  Name  Flags
      b                 
      address           
      locationIdentity  
      stamp             
      accessorInfo      

  private static void writePrimitive(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.ValueNode, com.oracle.svm.hosted.c.info.AccessorInfo);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 2 // org.graalvm.word.LocationIdentity locationIdentity
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
        start local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         0: .line 357
            aload 0 /* b */
            new com.oracle.svm.core.graal.nodes.CInterfaceWriteNode
            dup
            aload 1 /* address */
            aload 2 /* locationIdentity */
            aload 3 /* value */
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            aload 4 /* accessorInfo */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.accessName:(Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Ljava/lang/String;
            invokespecial com.oracle.svm.core.graal.nodes.CInterfaceWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;Ljava/lang/String;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         1: .line 358
            return
        end local 4 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.word.LocationIdentity locationIdentity
        end local 1 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0                 b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    2     1           address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    2     2  locationIdentity  Lorg/graalvm/word/LocationIdentity;
            0    2     3             value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     4      accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
    MethodParameters:
                  Name  Flags
      b                 
      address           
      locationIdentity  
      value             
      accessorInfo      

  private static java.lang.String accessName(com.oracle.svm.hosted.c.info.AccessorInfo);
    descriptor: (Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         0: .line 361
            aload 0 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            instanceof com.oracle.svm.hosted.c.info.StructFieldInfo
            ifeq 2
         1: .line 362
            new java.lang.StringBuilder
            dup
            aload 0 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 364
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            invokevirtual com.oracle.svm.hosted.c.info.ElementInfo.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
    MethodParameters:
              Name  Flags
      accessorInfo  

  private static org.graalvm.compiler.nodes.ValueNode makeOffset(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, int, int);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;II)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 2 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        start local 3 // int displacement
        start local 4 // int indexScaling
         0: .line 369
            invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            iload 3 /* displacement */
            i2l
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 5 /* offset */
        start local 5 // org.graalvm.compiler.nodes.ValueNode offset
         1: .line 371
            aload 2 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.isIndexed:()Z
            ifeq 7
         2: .line 372
            aload 1 /* args */
            aload 2 /* accessorInfo */
            iconst_1
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.indexParameterNumber:(Z)I
            aaload
            astore 6 /* index */
        start local 6 // org.graalvm.compiler.nodes.ValueNode index
         3: .line 373
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 4
            aload 6 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 374
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* graph */
            aload 6 /* index */
            aload 6 /* index */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            iconst_0
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* wordIndex */
        start local 7 // org.graalvm.compiler.nodes.ValueNode wordIndex
         5: .line 375
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.MulNode
            dup
            aload 7 /* wordIndex */
            invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            iload 4 /* indexScaling */
            i2l
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.MulNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 8 /* scaledIndex */
        start local 8 // org.graalvm.compiler.nodes.ValueNode scaledIndex
         6: .line 377
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 8 /* scaledIndex */
            aload 5 /* offset */
            invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* offset */
        end local 8 // org.graalvm.compiler.nodes.ValueNode scaledIndex
        end local 7 // org.graalvm.compiler.nodes.ValueNode wordIndex
        end local 6 // org.graalvm.compiler.nodes.ValueNode index
         7: .line 380
      StackMap locals:
      StackMap stack:
            aload 5 /* offset */
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode offset
        end local 4 // int indexScaling
        end local 3 // int displacement
        end local 2 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 1 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    8     1          args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2  accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            0    8     3  displacement  I
            0    8     4  indexScaling  I
            1    8     5        offset  Lorg/graalvm/compiler/nodes/ValueNode;
            3    7     6         index  Lorg/graalvm/compiler/nodes/ValueNode;
            5    7     7     wordIndex  Lorg/graalvm/compiler/nodes/ValueNode;
            6    7     8   scaledIndex  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      graph         
      args          
      accessorInfo  
      displacement  
      indexScaling  

  private static org.graalvm.compiler.nodes.memory.address.AddressNode makeOffsetAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo, org.graalvm.compiler.nodes.ValueNode, int, int);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 2 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        start local 3 // org.graalvm.compiler.nodes.ValueNode base
        start local 4 // int displacement
        start local 5 // int indexScaling
         0: .line 384
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 3 /* base */
            aload 0 /* graph */
            aload 1 /* args */
            aload 2 /* accessorInfo */
            iload 4 /* displacement */
            iload 5 /* indexScaling */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.makeOffset:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;II)Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            areturn
        end local 5 // int indexScaling
        end local 4 // int displacement
        end local 3 // org.graalvm.compiler.nodes.ValueNode base
        end local 2 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 1 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    1     1          args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     2  accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
            0    1     3          base  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     4  displacement  I
            0    1     5  indexScaling  I
    MethodParameters:
              Name  Flags
      graph         
      args          
      accessorInfo  
      base          
      displacement  
      indexScaling  

  private static org.graalvm.word.LocationIdentity makeLocationIdentity(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], com.oracle.svm.hosted.c.info.AccessorInfo);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/svm/hosted/c/info/AccessorInfo;)Lorg/graalvm/word/LocationIdentity;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 3 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
         0: .line 389
            aload 3 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasLocationIdentityParameter:()Z
            ifeq 11
         1: .line 390
            aload 2 /* args */
            aload 3 /* accessorInfo */
            iconst_1
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.locationIdentityParameterNumber:(Z)I
            aaload
            astore 5 /* locationIdentityNode */
        start local 5 // org.graalvm.compiler.nodes.ValueNode locationIdentityNode
         2: .line 391
            aload 5 /* locationIdentityNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 9
         3: .line 392
            new com.oracle.svm.hosted.c.CInterfaceError
            dup
         4: .line 393
            new java.lang.StringBuilder
            dup
            ldc "locationIdentity is not a compile time constant for call to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 394
            aload 1 /* method */
         6: .line 392
            aastore
            invokespecial com.oracle.svm.hosted.c.CInterfaceError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 394
            invokevirtual com.oracle.svm.hosted.c.CInterfaceError.getMessage:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
         8: .line 392
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
         9: .line 396
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo top org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* locationIdentityNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
            checkcast org.graalvm.word.LocationIdentity
            astore 4 /* locationIdentity */
        end local 5 // org.graalvm.compiler.nodes.ValueNode locationIdentityNode
        start local 4 // org.graalvm.word.LocationIdentity locationIdentity
        10: .line 397
            goto 17
        end local 4 // org.graalvm.word.LocationIdentity locationIdentity
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo
      StackMap stack:
        11: aload 3 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.hasUniqueLocationIdentity:()Z
            ifeq 16
        12: .line 398
            aload 3 /* accessorInfo */
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo.getParent:()Lcom/oracle/svm/hosted/c/info/ElementInfo;
            checkcast com.oracle.svm.hosted.c.info.StructFieldInfo
            astore 5 /* fieldInfo */
        start local 5 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        13: .line 399
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 14
            aload 5 /* fieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            ifnonnull 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 400
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo top com.oracle.svm.hosted.c.info.StructFieldInfo
      StackMap stack:
            aload 5 /* fieldInfo */
            invokevirtual com.oracle.svm.hosted.c.info.StructFieldInfo.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            astore 4 /* locationIdentity */
        end local 5 // com.oracle.svm.hosted.c.info.StructFieldInfo fieldInfo
        start local 4 // org.graalvm.word.LocationIdentity locationIdentity
        15: .line 401
            goto 17
        end local 4 // org.graalvm.word.LocationIdentity locationIdentity
        16: .line 402
      StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] com.oracle.svm.hosted.c.info.AccessorInfo
      StackMap stack:
            getstatic com.oracle.svm.core.c.struct.CInterfaceLocationIdentity.DEFAULT_LOCATION_IDENTITY:Lorg/graalvm/word/LocationIdentity;
            astore 4 /* locationIdentity */
        start local 4 // org.graalvm.word.LocationIdentity locationIdentity
        17: .line 404
      StackMap locals: org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 4 /* locationIdentity */
            areturn
        end local 4 // org.graalvm.word.LocationIdentity locationIdentity
        end local 3 // com.oracle.svm.hosted.c.info.AccessorInfo accessorInfo
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                     b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   18     1                method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   18     2                  args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   18     3          accessorInfo  Lcom/oracle/svm/hosted/c/info/AccessorInfo;
           10   11     4      locationIdentity  Lorg/graalvm/word/LocationIdentity;
           15   16     4      locationIdentity  Lorg/graalvm/word/LocationIdentity;
           17   18     4      locationIdentity  Lorg/graalvm/word/LocationIdentity;
            2   10     5  locationIdentityNode  Lorg/graalvm/compiler/nodes/ValueNode;
           13   15     5             fieldInfo  Lcom/oracle/svm/hosted/c/info/StructFieldInfo;
    MethodParameters:
              Name  Flags
      b             
      method        
      args          
      accessorInfo  

  public static org.graalvm.compiler.nodes.ValueNode adaptPrimitiveType(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // org.graalvm.compiler.nodes.ValueNode value
        start local 2 // jdk.vm.ci.meta.JavaKind fromKind
        start local 3 // jdk.vm.ci.meta.JavaKind toKind
        start local 4 // boolean isUnsigned
         0: .line 408
            aload 2 /* fromKind */
            aload 3 /* toKind */
            if_acmpne 2
         1: .line 409
            aload 1 /* value */
            areturn
         2: .line 411
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 3
            aload 2 /* fromKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
            aload 3 /* toKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 413
      StackMap locals:
      StackMap stack:
            aload 2 /* fromKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            istore 5 /* fromBits */
        start local 5 // int fromBits
         4: .line 414
            aload 3 /* toKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            istore 6 /* toBits */
        start local 6 // int toBits
         5: .line 416
            iload 5 /* fromBits */
            iload 6 /* toBits */
            if_icmpne 7
         6: .line 417
            aload 1 /* value */
            areturn
         7: .line 418
      StackMap locals: int int
      StackMap stack:
            aload 2 /* fromKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
            ifeq 16
         8: .line 420
            aload 2 /* fromKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 11
            aload 3 /* toKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 11
         9: .line 421
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.core.common.calc.FloatConvert op
        10: .line 422
            goto 15
        end local 7 // org.graalvm.compiler.core.common.calc.FloatConvert op
      StackMap locals:
      StackMap stack:
        11: aload 2 /* fromKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 14
            aload 3 /* toKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 14
        12: .line 423
            getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.core.common.calc.FloatConvert op
        13: .line 424
            goto 15
        end local 7 // org.graalvm.compiler.core.common.calc.FloatConvert op
        14: .line 425
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 7 // org.graalvm.compiler.core.common.calc.FloatConvert op
        15: .line 427
      StackMap locals: org.graalvm.compiler.core.common.calc.FloatConvert
      StackMap stack:
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.FloatConvertNode
            dup
            aload 7 /* op */
            aload 1 /* value */
            invokespecial org.graalvm.compiler.nodes.calc.FloatConvertNode.<init>:(Lorg/graalvm/compiler/core/common/calc/FloatConvert;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 7 // org.graalvm.compiler.core.common.calc.FloatConvert op
        16: .line 428
      StackMap locals:
      StackMap stack:
            aload 3 /* toKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 22
        17: .line 429
            aload 2 /* fromKind */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 18
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            goto 19
      StackMap locals:
      StackMap stack:
        18: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
        19: astore 7 /* computeKind */
        start local 7 // jdk.vm.ci.meta.JavaKind computeKind
        20: .line 430
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            dup
            aload 0 /* graph */
            aload 1 /* value */
            aload 2 /* fromKind */
            aload 7 /* computeKind */
            iconst_1
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.adaptPrimitiveType:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 7 /* computeKind */
            lconst_0
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 8 /* comparison */
        start local 8 // org.graalvm.compiler.nodes.LogicNode comparison
        21: .line 431
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.ConditionalNode
            dup
            aload 8 /* comparison */
            iconst_0
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            iconst_1
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 8 // org.graalvm.compiler.nodes.LogicNode comparison
        end local 7 // jdk.vm.ci.meta.JavaKind computeKind
        22: .line 432
      StackMap locals:
      StackMap stack:
            iload 5 /* fromBits */
            iload 6 /* toBits */
            if_icmple 24
        23: .line 433
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.NarrowNode
            dup
            aload 1 /* value */
            iload 6 /* toBits */
            invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        24: .line 434
      StackMap locals:
      StackMap stack:
            iload 4 /* isUnsigned */
            ifeq 26
        25: .line 435
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.ZeroExtendNode
            dup
            aload 1 /* value */
            iload 6 /* toBits */
            invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        26: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.SignExtendNode
            dup
            aload 1 /* value */
            iload 6 /* toBits */
            invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            areturn
        end local 6 // int toBits
        end local 5 // int fromBits
        end local 4 // boolean isUnsigned
        end local 3 // jdk.vm.ci.meta.JavaKind toKind
        end local 2 // jdk.vm.ci.meta.JavaKind fromKind
        end local 1 // org.graalvm.compiler.nodes.ValueNode value
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   27     1        value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   27     2     fromKind  Ljdk/vm/ci/meta/JavaKind;
            0   27     3       toKind  Ljdk/vm/ci/meta/JavaKind;
            0   27     4   isUnsigned  Z
            4   27     5     fromBits  I
            5   27     6       toBits  I
           10   11     7           op  Lorg/graalvm/compiler/core/common/calc/FloatConvert;
           13   14     7           op  Lorg/graalvm/compiler/core/common/calc/FloatConvert;
           15   16     7           op  Lorg/graalvm/compiler/core/common/calc/FloatConvert;
           20   22     7  computeKind  Ljdk/vm/ci/meta/JavaKind;
           21   22     8   comparison  Lorg/graalvm/compiler/nodes/LogicNode;
    MethodParameters:
            Name  Flags
      graph       
      value       
      fromKind    
      toKind      
      isUnsigned  

  private static jdk.vm.ci.meta.JavaKind kindFromSize(int, jdk.vm.ci.meta.JavaKind);
    descriptor: (ILjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int sizeInBytes
        start local 1 // jdk.vm.ci.meta.JavaKind matchingKind
         0: .line 442
            aload 1 /* matchingKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 1
            iload 0 /* sizeInBytes */
            bipush 8
            imul
            aload 1 /* matchingKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            if_icmpne 2
         1: .line 444
      StackMap locals:
      StackMap stack:
            aload 1 /* matchingKind */
            areturn
         2: .line 447
      StackMap locals:
      StackMap stack:
            aload 1 /* matchingKind */
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 3
            aload 1 /* matchingKind */
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 7
         3: .line 448
      StackMap locals:
      StackMap stack:
            iload 0 /* sizeInBytes */
            tableswitch { // 4 - 8
                    4: 4
                    5: 6
                    6: 6
                    7: 6
                    8: 5
              default: 6
          }
         4: .line 450
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            areturn
         5: .line 452
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            areturn
         6: .line 454
      StackMap locals:
      StackMap stack:
            goto 12
         7: .line 455
      StackMap locals:
      StackMap stack:
            iload 0 /* sizeInBytes */
            tableswitch { // 1 - 8
                    1: 8
                    2: 9
                    3: 12
                    4: 10
                    5: 12
                    6: 12
                    7: 12
                    8: 11
              default: 12
          }
         8: .line 457
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            areturn
         9: .line 459
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            areturn
        10: .line 461
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
        11: .line 463
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
        12: .line 466
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unsupported size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* sizeInBytes */
            invokevirtual java.lang.StringBuilder.append:(I)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
        end local 1 // jdk.vm.ci.meta.JavaKind matchingKind
        end local 0 // int sizeInBytes
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0   sizeInBytes  I
            0   13     1  matchingKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
              Name  Flags
      sizeInBytes   
      matchingKind  

  private boolean replaceConstant(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, com.oracle.svm.hosted.c.info.ConstantInfo);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lcom/oracle/svm/hosted/c/info/ConstantInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // com.oracle.svm.hosted.c.info.ConstantInfo constantInfo
         0: .line 470
            aload 3 /* constantInfo */
            invokevirtual com.oracle.svm.hosted.c.info.ConstantInfo.getValueInfo:()Lcom/oracle/svm/hosted/c/info/PropertyInfo;
            invokevirtual com.oracle.svm.hosted.c.info.PropertyInfo.getProperty:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         1: .line 471
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* kind */
        start local 5 // jdk.vm.ci.meta.JavaKind kind
         2: .line 474
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:()[I
            aload 3 /* constantInfo */
            invokevirtual com.oracle.svm.hosted.c.info.ConstantInfo.getKind:()Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 3
                    2: 3
                    3: 10
                    4: 12
                    5: 12
              default: 14
          }
         3: .line 477
      StackMap locals: java.lang.Object jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 8
         4: .line 478
            aload 4 /* value */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifeq 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 6 /* valueNode */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
         7: .line 479
            goto 15
        end local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
         8: .line 480
      StackMap locals:
      StackMap stack:
            aload 5 /* kind */
            aload 4 /* value */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 6 /* valueNode */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
         9: .line 482
            goto 15
        end local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        10: .line 484
      StackMap locals:
      StackMap stack:
            aload 5 /* kind */
            aload 4 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forFloatingKind:(Ljdk/vm/ci/meta/JavaKind;DLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 6 /* valueNode */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        11: .line 485
            goto 15
        end local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        12: .line 488
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 6 /* valueNode */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        13: .line 489
            goto 15
        end local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        14: .line 491
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected constant kind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* constantInfo */
            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
        start local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        15: .line 493
      StackMap locals: org.graalvm.compiler.nodes.ConstantNode
      StackMap stack:
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.pushKind:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
            aload 6 /* valueNode */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        16: .line 494
            iconst_1
            ireturn
        end local 6 // org.graalvm.compiler.nodes.ConstantNode valueNode
        end local 5 // jdk.vm.ci.meta.JavaKind kind
        end local 4 // java.lang.Object value
        end local 3 // com.oracle.svm.hosted.c.info.ConstantInfo constantInfo
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0   17     1             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   17     2        method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   17     3  constantInfo  Lcom/oracle/svm/hosted/c/info/ConstantInfo;
            1   17     4         value  Ljava/lang/Object;
            2   17     5          kind  Ljdk/vm/ci/meta/JavaKind;
            7    8     6     valueNode  Lorg/graalvm/compiler/nodes/ConstantNode;
            9   10     6     valueNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           11   12     6     valueNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           13   14     6     valueNode  Lorg/graalvm/compiler/nodes/ConstantNode;
           15   17     6     valueNode  Lorg/graalvm/compiler/nodes/ConstantNode;
    MethodParameters:
              Name  Flags
      b             
      method        
      constantInfo  

  private boolean replaceCFunctionPointerInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 498
            aload 2 /* method */
            instanceof com.oracle.svm.hosted.meta.HostedMethod
            istore 4 /* hosted */
        start local 4 // boolean hosted
         1: .line 499
            iload 4 /* hosted */
            ifeq 2
            aload 2 /* method */
            checkcast com.oracle.svm.hosted.meta.HostedMethod
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 2 /* method */
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.ResolvedJavaMethod
         3: checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
            astore 5 /* aMethod */
        start local 5 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
         4: .line 500
            invokestatic com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CFunctionPointerCallStubSupport;
            aload 5 /* aMethod */
            invokevirtual com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.isStub:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Z
            ifeq 6
         5: .line 501
            iconst_0
            ireturn
         6: .line 503
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.functionPointerType:Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 12
         7: .line 504
            new com.oracle.svm.hosted.c.CInterfaceError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Function pointer invocation method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 505
            ldc " must be in a type that extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
         9: .line 504
            aastore
            invokespecial com.oracle.svm.hosted.c.CInterfaceError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 505
            invokevirtual com.oracle.svm.hosted.c.CInterfaceError.getMessage:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
        11: .line 504
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        12: .line 507
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 13
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Interface:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 508
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CFunctionPointerCallStubSupport;
            aload 5 /* aMethod */
            invokevirtual com.oracle.svm.hosted.code.CFunctionPointerCallStubSupport.getOrCreateStubForMethod:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 6 /* stub */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod stub
        14: .line 509
            iload 4 /* hosted */
            ifeq 16
        15: .line 510
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            checkcast com.oracle.svm.hosted.meta.HostedMetaAccess
            invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.getUniverse:()Lcom/oracle/graal/pointsto/infrastructure/Universe;
            aload 6 /* stub */
            invokeinterface com.oracle.graal.pointsto.infrastructure.Universe.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 6 /* stub */
        16: .line 512
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 1 /* b */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            aload 6 /* stub */
            aload 3 /* args */
            iconst_0
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
            pop
        17: .line 513
            iconst_1
            ireturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod stub
        end local 5 // com.oracle.graal.pointsto.meta.AnalysisMethod aMethod
        end local 4 // boolean hosted
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0   18     1        b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   18     2   method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   18     3     args  [Lorg/graalvm/compiler/nodes/ValueNode;
            1   18     4   hosted  Z
            4   18     5  aMethod  Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
           14   18     6     stub  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      b       
      method  
      args    

  private boolean replaceJavaFunctionPointerInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=9, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 517
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.functionPointerType:Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 6
         1: .line 518
            new com.oracle.svm.hosted.c.CInterfaceError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Function pointer invocation method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* method */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 519
            ldc " must be in a type that extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/graalvm/nativeimage/c/function/CFunctionPointer;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* method */
         3: .line 518
            aastore
            invokespecial com.oracle.svm.hosted.c.CInterfaceError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 519
            invokevirtual com.oracle.svm.hosted.c.CInterfaceError.getMessage:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
         5: .line 518
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
         6: .line 521
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 7
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Interface:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            if_acmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 523
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.toParameterTypes:(Ljdk/vm/ci/meta/JavaType;)[Ljdk/vm/ci/meta/JavaType;
            astore 4 /* parameterTypes */
        start local 4 // jdk.vm.ci.meta.JavaType[] parameterTypes
         8: .line 525
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 9
            aload 3 /* args */
            arraylength
            iconst_1
            if_icmpge 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 526
      StackMap locals: jdk.vm.ci.meta.JavaType[]
      StackMap stack:
            aload 3 /* args */
            iconst_0
            aaload
            astore 5 /* methodAddress */
        start local 5 // org.graalvm.compiler.nodes.ValueNode methodAddress
        10: .line 527
            aload 3 /* args */
            iconst_1
            aload 3 /* args */
            arraylength
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            astore 6 /* argsWithoutReceiver */
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] argsWithoutReceiver
        11: .line 528
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$assertionsDisabled:Z
            ifne 12
            aload 6 /* argsWithoutReceiver */
            arraylength
            aload 4 /* parameterTypes */
            arraylength
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 531
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifeq 15
        13: .line 532
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* returnStamp */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp returnStamp
        14: .line 533
            goto 16
        end local 7 // org.graalvm.compiler.core.common.type.Stamp returnStamp
        15: .line 534
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnStamp:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/core/common/type/StampPair;
            invokevirtual org.graalvm.compiler.core.common.type.StampPair.getTrustedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* returnStamp */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp returnStamp
        16: .line 536
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 1 /* b */
            new org.graalvm.compiler.nodes.IndirectCallTargetNode
            dup
            aload 5 /* methodAddress */
            aload 6 /* argsWithoutReceiver */
        17: .line 537
            aload 7 /* returnStamp */
            invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
            aload 4 /* parameterTypes */
            aconst_null
            getstatic com.oracle.svm.core.graal.code.SubstrateCallingConventionType.JavaCall:Lcom/oracle/svm/core/graal/code/SubstrateCallingConventionType;
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            invokespecial org.graalvm.compiler.nodes.IndirectCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
        18: .line 536
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.CallTargetNode
            astore 8 /* indirectCallTargetNode */
        start local 8 // org.graalvm.compiler.nodes.CallTargetNode indirectCallTargetNode
        19: .line 539
            aload 1 /* b */
            aload 8 /* indirectCallTargetNode */
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnType:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.handleReplacedInvoke:(Lorg/graalvm/compiler/nodes/CallTargetNode;Ljdk/vm/ci/meta/JavaKind;)V
        20: .line 540
            iconst_1
            ireturn
        end local 8 // org.graalvm.compiler.nodes.CallTargetNode indirectCallTargetNode
        end local 7 // org.graalvm.compiler.core.common.type.Stamp returnStamp
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] argsWithoutReceiver
        end local 5 // org.graalvm.compiler.nodes.ValueNode methodAddress
        end local 4 // jdk.vm.ci.meta.JavaType[] parameterTypes
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Lcom/oracle/svm/hosted/phases/CInterfaceInvocationPlugin;
            0   21     1                       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   21     2                  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   21     3                    args  [Lorg/graalvm/compiler/nodes/ValueNode;
            8   21     4          parameterTypes  [Ljdk/vm/ci/meta/JavaType;
           10   21     5           methodAddress  Lorg/graalvm/compiler/nodes/ValueNode;
           11   21     6     argsWithoutReceiver  [Lorg/graalvm/compiler/nodes/ValueNode;
           14   15     7             returnStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           16   21     7             returnStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           19   21     8  indirectCallTargetNode  Lorg/graalvm/compiler/nodes/CallTargetNode;
    MethodParameters:
        Name  Flags
      b       
      method  
      args    

  public static jdk.vm.ci.meta.JavaKind pushKind(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 544
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  static int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 99
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.values:()[Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ADDRESS:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.GETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.OFFSET:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.SETTER:Lcom/oracle/svm/hosted/c/info/AccessorInfo$AccessorKind;
            invokevirtual com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$AccessorInfo$AccessorKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 99
            getstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.values:()[Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.BYTEARRAY:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            iconst_5
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.FLOAT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.INTEGER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.OBJECT:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.POINTER:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.STRING:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.UNKNOWN:Lcom/oracle/svm/hosted/c/info/SizableInfo$ElementKind;
            invokevirtual com.oracle.svm.hosted.c.info.SizableInfo$ElementKind.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            dup
            putstatic com.oracle.svm.hosted.phases.CInterfaceInvocationPlugin.$SWITCH_TABLE$com$oracle$svm$hosted$c$info$SizableInfo$ElementKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
}
SourceFile: "CInterfaceInvocationPlugin.java"
InnerClasses:
  public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
  public final AccessorKind = com.oracle.svm.hosted.c.info.AccessorInfo$AccessorKind of com.oracle.svm.hosted.c.info.AccessorInfo
  public final ElementKind = com.oracle.svm.hosted.c.info.SizableInfo$ElementKind of com.oracle.svm.hosted.c.info.SizableInfo
  public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess