public class org.graalvm.compiler.hotspot.stubs.ForeignCallStub extends org.graalvm.compiler.hotspot.stubs.Stub
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.stubs.ForeignCallStub
  super_class: org.graalvm.compiler.hotspot.stubs.Stub
{
  private final jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jvmciRuntime;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage target;
    descriptor: Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final boolean prependThread;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(org.graalvm.compiler.options.OptionValues, jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider, org.graalvm.compiler.hotspot.meta.HotSpotProviders, long, org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, boolean, org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition, boolean, org.graalvm.word.LocationIdentity[]);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;JLorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Z[Lorg/graalvm/word/LocationIdentity;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=16, locals=13, args_size=10
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        start local 3 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        start local 4 // long address
        start local 6 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        start local 7 // boolean prependThread
        start local 8 // org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition transition
        start local 9 // boolean reexecutable
        start local 10 // org.graalvm.word.LocationIdentity[] killedLocations
         0: .line 109
            aload 0 /* this */
            aload 1 /* options */
            aload 3 /* providers */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getWordTypes:()Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
            aload 6 /* descriptor */
            lconst_0
         1: .line 110
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            aload 8 /* transition */
            iload 9 /* reexecutable */
            aload 10 /* killedLocations */
         2: .line 109
            invokestatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.create:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Z[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokespecial org.graalvm.compiler.hotspot.stubs.Stub.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
         3: .line 111
            aload 0 /* this */
            aload 2 /* runtime */
            putfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.jvmciRuntime:Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
         4: .line 112
            aload 0 /* this */
            iload 7 /* prependThread */
            putfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.prependThread:Z
         5: .line 113
            aload 0 /* this */
            aload 6 /* descriptor */
            invokevirtual org.graalvm.compiler.hotspot.stubs.ForeignCallStub.createTargetParameters:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)[Ljava/lang/Class;
            astore 11 /* targetParameterTypes */
        start local 11 // java.lang.Class[] targetParameterTypes
         6: .line 114
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            new java.lang.StringBuilder
            dup
            aload 6 /* descriptor */
            invokevirtual org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.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 ":C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* descriptor */
            invokevirtual org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.getResultType:()Ljava/lang/Class;
            aload 11 /* targetParameterTypes */
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            astore 12 /* targetSig */
        start local 12 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor targetSig
         7: .line 115
            aload 0 /* this */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getWordTypes:()Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
            aload 12 /* targetSig */
            lload 4 /* address */
         8: .line 116
            getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.DESTROYS_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            aload 8 /* transition */
            iload 9 /* reexecutable */
            aload 10 /* killedLocations */
         9: .line 115
            invokestatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.create:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Z[Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            putfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.target:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
        10: .line 117
            return
        end local 12 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor targetSig
        end local 11 // java.lang.Class[] targetParameterTypes
        end local 10 // org.graalvm.word.LocationIdentity[] killedLocations
        end local 9 // boolean reexecutable
        end local 8 // org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition transition
        end local 7 // boolean prependThread
        end local 6 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        end local 4 // long address
        end local 3 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        end local 2 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;
            0   11     1               options  Lorg/graalvm/compiler/options/OptionValues;
            0   11     2               runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
            0   11     3             providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            0   11     4               address  J
            0   11     6            descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            0   11     7         prependThread  Z
            0   11     8            transition  Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
            0   11     9          reexecutable  Z
            0   11    10       killedLocations  [Lorg/graalvm/word/LocationIdentity;
            6   11    11  targetParameterTypes  [Ljava/lang/Class;
            7   11    12             targetSig  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    MethodParameters:
                 Name  Flags
      options          
      runtime          
      providers        
      address          
      descriptor       
      prependThread    
      transition       
      reexecutable     
      killedLocations  

  public org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage getTargetLinkage();
    descriptor: ()Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
         0: .line 123
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.target:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;

  private java.lang.Class<?>[] createTargetParameters(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)[Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
        start local 1 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
         0: .line 127
            aload 1 /* descriptor */
            invokevirtual org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.getArgumentTypes:()[Ljava/lang/Class;
            astore 2 /* parameters */
        start local 2 // java.lang.Class[] parameters
         1: .line 128
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.prependThread:Z
            ifeq 6
         2: .line 129
            aload 2 /* parameters */
            arraylength
            iconst_1
            iadd
            anewarray java.lang.Class
            astore 3 /* newParameters */
        start local 3 // java.lang.Class[] newParameters
         3: .line 130
            aload 2 /* parameters */
            iconst_0
            aload 3 /* newParameters */
            iconst_1
            aload 2 /* parameters */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 131
            aload 3 /* newParameters */
            iconst_0
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
         5: .line 132
            aload 3 /* newParameters */
            areturn
        end local 3 // java.lang.Class[] newParameters
         6: .line 134
      StackMap locals: java.lang.Class[]
      StackMap stack:
            aload 2 /* parameters */
            areturn
        end local 2 // java.lang.Class[] parameters
        end local 1 // org.graalvm.compiler.core.common.spi.ForeignCallDescriptor descriptor
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;
            0    7     1     descriptor  Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            1    7     2     parameters  [Ljava/lang/Class;
            3    6     3  newParameters  [Ljava/lang/Class;
    Signature: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;)[Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      descriptor  

  protected jdk.vm.ci.meta.ResolvedJavaMethod getInstalledCodeOwner();
    descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
         0: .line 139
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;

  protected java.lang.Object debugScopeContext();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
         0: .line 178
            new org.graalvm.compiler.hotspot.stubs.ForeignCallStub$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial org.graalvm.compiler.hotspot.stubs.ForeignCallStub$1.<init>:(Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;)V
            areturn
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;

  protected org.graalvm.compiler.nodes.StructuredGraph getGraph(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.common.CompilationIdentifier);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/common/CompilationIdentifier;)Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
        start local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
         0: .line 228
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getWordTypes:()Lorg/graalvm/compiler/hotspot/word/HotSpotWordTypes;
            astore 3 /* wordTypes */
        start local 3 // org.graalvm.compiler.word.WordTypes wordTypes
         1: .line 229
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.linkage:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getDescriptor:()Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            invokevirtual org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.getArgumentTypes:()[Ljava/lang/Class;
            astore 4 /* args */
        start local 4 // java.lang.Class[] args
         2: .line 230
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.linkage:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getOutgoingCallingConvention:()Ljdk/vm/ci/code/CallingConvention;
            invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.graalvm.compiler.word.WordTypes java.lang.Class[]
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* isObjectResult */
        start local 5 // boolean isObjectResult
         5: .line 231
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.options:Lorg/graalvm/compiler/options/OptionValues;
            aload 1 /* debug */
            invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.stubs.ForeignCallStub.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.name:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            aload 2 /* compilationId */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.compilationId:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         6: .line 232
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableUnsafeAccessTracking:()V
         7: .line 234
            new org.graalvm.compiler.replacements.GraphKit
            dup
            aload 6 /* graph */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            aload 3 /* wordTypes */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            invokespecial org.graalvm.compiler.replacements.GraphKit.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/word/WordTypes;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
            astore 7 /* kit */
        start local 7 // org.graalvm.compiler.replacements.GraphKit kit
         8: .line 235
            aload 0 /* this */
            aload 7 /* kit */
            aload 4 /* args */
            invokevirtual org.graalvm.compiler.hotspot.stubs.ForeignCallStub.createParameters:(Lorg/graalvm/compiler/replacements/GraphKit;[Ljava/lang/Class;)[Lorg/graalvm/compiler/nodes/ParameterNode;
            astore 8 /* params */
        start local 8 // org.graalvm.compiler.nodes.ParameterNode[] params
         9: .line 237
            aload 7 /* kit */
            new org.graalvm.compiler.replacements.nodes.ReadRegisterNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
            invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
            aload 3 /* wordTypes */
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            iconst_1
            iconst_0
            invokespecial org.graalvm.compiler.replacements.nodes.ReadRegisterNode.<init>:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/JavaKind;ZZ)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.replacements.nodes.ReadRegisterNode
            astore 9 /* thread */
        start local 9 // org.graalvm.compiler.replacements.nodes.ReadRegisterNode thread
        10: .line 238
            aload 0 /* this */
            aload 7 /* kit */
            aload 8 /* params */
            aload 9 /* thread */
            invokevirtual org.graalvm.compiler.hotspot.stubs.ForeignCallStub.createTargetCall:(Lorg/graalvm/compiler/replacements/GraphKit;[Lorg/graalvm/compiler/nodes/ParameterNode;Lorg/graalvm/compiler/replacements/nodes/ReadRegisterNode;)Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;
            astore 10 /* result */
        start local 10 // org.graalvm.compiler.nodes.ValueNode result
        11: .line 239
            aload 7 /* kit */
            ldc Lorg/graalvm/compiler/hotspot/stubs/StubUtil;
            ldc "handlePendingException"
            iconst_2
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 9 /* thread */
            aastore
            dup
            iconst_1
            iload 5 /* isObjectResult */
            aload 6 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            aastore
            invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            pop
        12: .line 240
            iload 5 /* isObjectResult */
            ifeq 15
        13: .line 241
            aload 7 /* kit */
            ldc Lorg/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil;
            ldc "getAndClearObjectResult"
            iconst_1
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 9 /* thread */
            aastore
            invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            astore 11 /* object */
        start local 11 // org.graalvm.compiler.nodes.InvokeNode object
        14: .line 242
            aload 7 /* kit */
            ldc Lorg/graalvm/compiler/hotspot/stubs/StubUtil;
            ldc "verifyObject"
            iconst_1
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 11 /* object */
            aastore
            invokevirtual org.graalvm.compiler.replacements.GraphKit.createInvoke:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            astore 10 /* result */
        end local 11 // org.graalvm.compiler.nodes.InvokeNode object
        15: .line 244
      StackMap locals: org.graalvm.compiler.hotspot.stubs.ForeignCallStub org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.word.WordTypes java.lang.Class[] int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.GraphKit org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.replacements.nodes.ReadRegisterNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* kit */
        16: new org.graalvm.compiler.nodes.ReturnNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.linkage:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getDescriptor:()Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            invokevirtual org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.getResultType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 17
            aconst_null
            goto 18
      StackMap locals: org.graalvm.compiler.hotspot.stubs.ForeignCallStub org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.word.WordTypes java.lang.Class[] int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.GraphKit org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.replacements.nodes.ReadRegisterNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack: org.graalvm.compiler.replacements.GraphKit new 16 new 16
        17: aload 10 /* result */
      StackMap locals: org.graalvm.compiler.hotspot.stubs.ForeignCallStub org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.CompilationIdentifier org.graalvm.compiler.word.WordTypes java.lang.Class[] int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.GraphKit org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.replacements.nodes.ReadRegisterNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack: org.graalvm.compiler.replacements.GraphKit new 16 new 16 org.graalvm.compiler.nodes.ValueNode
        18: invokespecial org.graalvm.compiler.nodes.ReturnNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        19: .line 246
            aload 1 /* debug */
            iconst_3
            aload 6 /* graph */
            ldc "Initial stub graph"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        20: .line 248
            aload 7 /* kit */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.inlineInvokes:()V
        21: .line 250
            new org.graalvm.compiler.phases.common.RemoveValueProxyPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.RemoveValueProxyPhase.<init>:()V
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.phases.common.RemoveValueProxyPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        22: .line 252
            aload 1 /* debug */
            iconst_3
            aload 6 /* graph */
            ldc "Stub graph before compilation"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        23: .line 254
            aload 6 /* graph */
            areturn
        end local 10 // org.graalvm.compiler.nodes.ValueNode result
        end local 9 // org.graalvm.compiler.replacements.nodes.ReadRegisterNode thread
        end local 8 // org.graalvm.compiler.nodes.ParameterNode[] params
        end local 7 // org.graalvm.compiler.replacements.GraphKit kit
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 5 // boolean isObjectResult
        end local 4 // java.lang.Class[] args
        end local 3 // org.graalvm.compiler.word.WordTypes wordTypes
        end local 2 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;
            0   24     1           debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   24     2   compilationId  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            1   24     3       wordTypes  Lorg/graalvm/compiler/word/WordTypes;
            2   24     4            args  [Ljava/lang/Class;
            5   24     5  isObjectResult  Z
            6   24     6           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            8   24     7             kit  Lorg/graalvm/compiler/replacements/GraphKit;
            9   24     8          params  [Lorg/graalvm/compiler/nodes/ParameterNode;
           10   24     9          thread  Lorg/graalvm/compiler/replacements/nodes/ReadRegisterNode;
           11   24    10          result  Lorg/graalvm/compiler/nodes/ValueNode;
           14   15    11          object  Lorg/graalvm/compiler/nodes/InvokeNode;
    MethodParameters:
               Name  Flags
      debug          
      compilationId  

  private org.graalvm.compiler.nodes.ParameterNode[] createParameters(org.graalvm.compiler.replacements.GraphKit, java.lang.Class<?>[]);
    descriptor: (Lorg/graalvm/compiler/replacements/GraphKit;[Ljava/lang/Class;)[Lorg/graalvm/compiler/nodes/ParameterNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
        start local 1 // org.graalvm.compiler.replacements.GraphKit kit
        start local 2 // java.lang.Class[] args
         0: .line 258
            aload 2 /* args */
            arraylength
            anewarray org.graalvm.compiler.nodes.ParameterNode
            astore 3 /* params */
        start local 3 // org.graalvm.compiler.nodes.ParameterNode[] params
         1: .line 259
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* accessingClass */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType accessingClass
         2: .line 260
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 9
         4: .line 261
      StackMap locals: org.graalvm.compiler.nodes.ParameterNode[] jdk.vm.ci.meta.ResolvedJavaType int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 2 /* args */
            iload 5 /* i */
            aaload
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 4 /* accessingClass */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* type */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         5: .line 262
            aload 1 /* kit */
            invokevirtual org.graalvm.compiler.replacements.GraphKit.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 6 /* type */
            iconst_0
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forDeclaredType:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
            astore 7 /* stamp */
        start local 7 // org.graalvm.compiler.core.common.type.StampPair stamp
         6: .line 263
            aload 1 /* kit */
            new org.graalvm.compiler.nodes.ParameterNode
            dup
            iload 5 /* i */
            aload 7 /* stamp */
            invokespecial org.graalvm.compiler.nodes.ParameterNode.<init>:(ILorg/graalvm/compiler/core/common/type/StampPair;)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.unique:(Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 8 /* param */
        start local 8 // org.graalvm.compiler.nodes.ParameterNode param
         7: .line 264
            aload 3 /* params */
            iload 5 /* i */
            aload 8 /* param */
            aastore
        end local 8 // org.graalvm.compiler.nodes.ParameterNode param
        end local 7 // org.graalvm.compiler.core.common.type.StampPair stamp
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType type
         8: .line 260
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 4
        end local 5 // int i
        10: .line 266
            aload 3 /* params */
            areturn
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType accessingClass
        end local 3 // org.graalvm.compiler.nodes.ParameterNode[] params
        end local 2 // java.lang.Class[] args
        end local 1 // org.graalvm.compiler.replacements.GraphKit kit
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;
            0   11     1             kit  Lorg/graalvm/compiler/replacements/GraphKit;
            0   11     2            args  [Ljava/lang/Class;
            1   11     3          params  [Lorg/graalvm/compiler/nodes/ParameterNode;
            2   11     4  accessingClass  Ljdk/vm/ci/meta/ResolvedJavaType;
            3   10     5               i  I
            5    8     6            type  Ljdk/vm/ci/meta/ResolvedJavaType;
            6    8     7           stamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            7    8     8           param  Lorg/graalvm/compiler/nodes/ParameterNode;
    Signature: (Lorg/graalvm/compiler/replacements/GraphKit;[Ljava/lang/Class<*>;)[Lorg/graalvm/compiler/nodes/ParameterNode;
    MethodParameters:
      Name  Flags
      kit   
      args  

  private org.graalvm.compiler.hotspot.nodes.StubForeignCallNode createTargetCall(org.graalvm.compiler.replacements.GraphKit, org.graalvm.compiler.nodes.ParameterNode[], org.graalvm.compiler.replacements.nodes.ReadRegisterNode);
    descriptor: (Lorg/graalvm/compiler/replacements/GraphKit;[Lorg/graalvm/compiler/nodes/ParameterNode;Lorg/graalvm/compiler/replacements/nodes/ReadRegisterNode;)Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
        start local 1 // org.graalvm.compiler.replacements.GraphKit kit
        start local 2 // org.graalvm.compiler.nodes.ParameterNode[] params
        start local 3 // org.graalvm.compiler.replacements.nodes.ReadRegisterNode thread
         0: .line 270
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.target:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getDescriptor:()Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            invokevirtual org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.getResultType:()Ljava/lang/Class;
            invokestatic jdk.vm.ci.meta.JavaKind.fromJavaClass:(Ljava/lang/Class;)Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 4 /* stamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
         1: .line 271
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.prependThread:Z
            ifeq 6
         2: .line 272
            iconst_1
            aload 2 /* params */
            arraylength
            iadd
            anewarray org.graalvm.compiler.nodes.ValueNode
            astore 5 /* targetArguments */
        start local 5 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
         3: .line 273
            aload 5 /* targetArguments */
            iconst_0
            aload 3 /* thread */
            aastore
         4: .line 274
            aload 2 /* params */
            iconst_0
            aload 5 /* targetArguments */
            iconst_1
            aload 2 /* params */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 275
            aload 1 /* kit */
            new org.graalvm.compiler.hotspot.nodes.StubForeignCallNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
            aload 4 /* stamp */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.target:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getDescriptor:()Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 5 /* targetArguments */
            invokespecial org.graalvm.compiler.hotspot.nodes.StubForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.hotspot.nodes.StubForeignCallNode
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
         6: .line 277
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 1 /* kit */
            new org.graalvm.compiler.hotspot.nodes.StubForeignCallNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
            aload 4 /* stamp */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.stubs.ForeignCallStub.target:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getDescriptor:()Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 2 /* params */
            invokespecial org.graalvm.compiler.hotspot.nodes.StubForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.replacements.GraphKit.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.hotspot.nodes.StubForeignCallNode
            areturn
        end local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 3 // org.graalvm.compiler.replacements.nodes.ReadRegisterNode thread
        end local 2 // org.graalvm.compiler.nodes.ParameterNode[] params
        end local 1 // org.graalvm.compiler.replacements.GraphKit kit
        end local 0 // org.graalvm.compiler.hotspot.stubs.ForeignCallStub this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/graalvm/compiler/hotspot/stubs/ForeignCallStub;
            0    7     1              kit  Lorg/graalvm/compiler/replacements/GraphKit;
            0    7     2           params  [Lorg/graalvm/compiler/nodes/ParameterNode;
            0    7     3           thread  Lorg/graalvm/compiler/replacements/nodes/ReadRegisterNode;
            1    7     4            stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            3    6     5  targetArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      kit     
      params  
      thread  
}
SourceFile: "ForeignCallStub.java"
NestMembers:
  org.graalvm.compiler.hotspot.stubs.ForeignCallStub$1  org.graalvm.compiler.hotspot.stubs.ForeignCallStub$DebugScopeContext
InnerClasses:
  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 RegisterEffect = org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect of org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage
  public final Transition = org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition of org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage
  org.graalvm.compiler.hotspot.stubs.ForeignCallStub$1
  private DebugScopeContext = org.graalvm.compiler.hotspot.stubs.ForeignCallStub$DebugScopeContext of org.graalvm.compiler.hotspot.stubs.ForeignCallStub
  public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration