public class com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin 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.IntrinsifyMethodHandlesInvocationPlugin
  super_class: java.lang.Object
{
  private final boolean analysis;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.phases.util.Providers parsingProviders;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.phases.util.Providers universeProviders;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final org.graalvm.compiler.nodes.graphbuilderconf.ClassInitializationPlugin classInitializationPlugin;
    descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/ClassInitializationPlugin;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry intrinsificationRegistry;
    descriptor: Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.Set<java.lang.String> methodHandleInvokeMethodNames;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.lang.Class<?> varHandleClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

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

  private final java.lang.reflect.Field varHandleVFormField;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method varFormInitMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.reflect.Method unsupportedFeatureMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.List<org.graalvm.collections.Pair<java.lang.String, java.util.List<java.lang.String>>> IGNORE_FILTER;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Lorg/graalvm/collections/Pair<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 189
            ldc Lcom/oracle/svm/core/util/VMError;
            ldc "unsupportedFeature"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.unsupportedFeatureMethod:Ljava/lang/reflect/Method;
         1: .line 318
            iconst_2
            anewarray org.graalvm.collections.Pair
            dup
            iconst_0
         2: .line 319
            ldc "java.lang.invoke.MethodHandles"
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "dropArguments"
            aastore
            dup
            iconst_1
            ldc "filterReturnValue"
            aastore
            dup
            iconst_2
            ldc "foldArguments"
            aastore
            dup
            iconst_3
            ldc "insertArguments"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            aastore
            dup
            iconst_1
         3: .line 320
            ldc "java.lang.invoke.Invokers"
            ldc "spreadInvoker"
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            aastore
         4: .line 318
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            putstatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.IGNORE_FILTER:Ljava/util/List;
         5: .line 320
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(boolean, org.graalvm.compiler.phases.util.Providers, com.oracle.graal.pointsto.meta.AnalysisUniverse, com.oracle.svm.hosted.meta.HostedUniverse);
    descriptor: (ZLorg/graalvm/compiler/phases/util/Providers;Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;Lcom/oracle/svm/hosted/meta/HostedUniverse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // boolean analysis
        start local 2 // org.graalvm.compiler.phases.util.Providers providers
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse
        start local 4 // com.oracle.svm.hosted.meta.HostedUniverse hUniverse
         0: .line 191
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 192
            aload 0 /* this */
            iload 1 /* analysis */
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.analysis:Z
         2: .line 193
            aload 0 /* this */
            aload 3 /* aUniverse */
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
         3: .line 194
            aload 0 /* this */
            aload 4 /* hUniverse */
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
         4: .line 195
            aload 0 /* this */
            aload 2 /* providers */
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.universeProviders:Lorg/graalvm/compiler/phases/util/Providers;
         5: .line 197
            invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            astore 5 /* originalProviders */
        start local 5 // org.graalvm.compiler.phases.util.Providers originalProviders
         6: .line 198
            aload 0 /* this */
            new org.graalvm.compiler.phases.util.Providers
            dup
            aload 5 /* originalProviders */
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesMetaAccessExtensionProvider
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesMetaAccessExtensionProvider.<init>:(Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;)V
            invokevirtual org.graalvm.compiler.phases.util.Providers.copyWith:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)Lorg/graalvm/compiler/phases/util/Providers;
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.parsingProviders:Lorg/graalvm/compiler/phases/util/Providers;
         7: .line 200
            aload 0 /* this */
            new com.oracle.svm.hosted.phases.SubstrateClassInitializationPlugin
            dup
            aload 3 /* aUniverse */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.hostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
            checkcast com.oracle.svm.hosted.SVMHost
            invokespecial com.oracle.svm.hosted.phases.SubstrateClassInitializationPlugin.<init>:(Lcom/oracle/svm/hosted/SVMHost;)V
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.classInitializationPlugin:Lorg/graalvm/compiler/nodes/graphbuilderconf/ClassInitializationPlugin;
         8: .line 202
            iload 1 /* analysis */
            ifeq 12
         9: .line 203
            aload 0 /* this */
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry
            dup
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry.<init>:()V
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.intrinsificationRegistry:Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
        10: .line 204
            ldc Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.intrinsificationRegistry:Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
            invokestatic org.graalvm.nativeimage.ImageSingletons.add:(Ljava/lang/Class;Ljava/lang/Object;)V
        11: .line 205
            goto 13
        12: .line 206
      StackMap locals: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin int org.graalvm.compiler.phases.util.Providers com.oracle.graal.pointsto.meta.AnalysisUniverse com.oracle.svm.hosted.meta.HostedUniverse org.graalvm.compiler.phases.util.Providers
      StackMap stack:
            aload 0 /* this */
            ldc Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.intrinsificationRegistry:Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
        13: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.universeProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/invoke/MethodHandle;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.methodHandleType:Ljdk/vm/ci/meta/ResolvedJavaType;
        14: .line 210
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.methodHandleInvokeMethodNames:Ljava/util/Set;
        15: .line 211
            invokestatic com.oracle.svm.hosted.NativeImageOptions.areMethodHandlesSupported:()Z
            ifne 17
        16: .line 212
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.methodHandleInvokeMethodNames:Ljava/util/Set;
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc "invokeExact"
            aastore
            dup
            iconst_1
            ldc "invoke"
            aastore
            dup
            iconst_2
            ldc "invokeBasic"
            aastore
            dup
            iconst_3
            ldc "linkToVirtual"
            aastore
            dup
            iconst_4
            ldc "linkToStatic"
            aastore
            dup
            iconst_5
            ldc "linkToSpecial"
            aastore
            dup
            bipush 6
            ldc "linkToInterface"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 215
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 11
            if_icmplt 26
        18: .line 217
            aload 0 /* this */
            ldc "java.lang.invoke.VarHandle"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleClass:Ljava/lang/Class;
        19: .line 218
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.universeProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleClass:Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleType:Ljdk/vm/ci/meta/ResolvedJavaType;
        20: .line 219
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleClass:Ljava/lang/Class;
            ldc "vform"
            invokestatic com.oracle.svm.util.ReflectionUtil.lookupField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleVFormField:Ljava/lang/reflect/Field;
        21: .line 220
            ldc "java.lang.invoke.VarForm"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* varFormClass */
        start local 6 // java.lang.Class varFormClass
        22: .line 221
            aload 0 /* this */
            aload 6 /* varFormClass */
            ldc "getMethodType_V"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic com.oracle.svm.util.ReflectionUtil.lookupMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varFormInitMethod:Ljava/lang/reflect/Method;
        end local 6 // java.lang.Class varFormClass
        23: .line 222
            goto 30
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        24: astore 6 /* ex */
        start local 6 // java.lang.ClassNotFoundException ex
        25: .line 223
            aload 6 /* ex */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.ClassNotFoundException ex
        26: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleClass:Ljava/lang/Class;
        27: .line 227
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleType:Ljdk/vm/ci/meta/ResolvedJavaType;
        28: .line 228
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleVFormField:Ljava/lang/reflect/Field;
        29: .line 229
            aload 0 /* this */
            aconst_null
            putfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varFormInitMethod:Ljava/lang/reflect/Method;
        30: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.phases.util.Providers originalProviders
        end local 4 // com.oracle.svm.hosted.meta.HostedUniverse hUniverse
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisUniverse aUniverse
        end local 2 // org.graalvm.compiler.phases.util.Providers providers
        end local 1 // boolean analysis
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   31     0               this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0   31     1           analysis  Z
            0   31     2          providers  Lorg/graalvm/compiler/phases/util/Providers;
            0   31     3          aUniverse  Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            0   31     4          hUniverse  Lcom/oracle/svm/hosted/meta/HostedUniverse;
            6   31     5  originalProviders  Lorg/graalvm/compiler/phases/util/Providers;
           22   23     6       varFormClass  Ljava/lang/Class<*>;
           25   26     6                 ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          18    23      24  Class java.lang.ClassNotFoundException
    MethodParameters:
           Name  Flags
      analysis   
      providers  
      aUniverse  
      hUniverse  

  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=5, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin 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 239
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isDirect:()Z
            ifeq 5
            aload 3 /* args */
            invokestatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hasMethodHandleArgument:([Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 1
            aload 0 /* this */
            aload 2 /* method */
            aload 3 /* args */
            invokevirtual com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.isVarHandleMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 5
      StackMap locals:
      StackMap stack:
         1: aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.ignoreMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 5
         2: .line 240
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bciCanBeDuplicated:()Z
            ifeq 4
         3: .line 244
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.reportUnsupportedFeature:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ireturn
         4: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.universeProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            aload 2 /* method */
            aload 3 /* args */
            invokevirtual com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.processInvokeWithMethodHandle:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/spi/Replacements;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
         5: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.methodHandleType:Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.methodHandleInvokeMethodNames:Ljava/util/Set;
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 257
            aload 1 /* b */
            aload 2 /* method */
            invokestatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.reportUnsupportedFeature:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ireturn
         7: .line 260
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        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.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    8     1       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    8     2  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    8     3    args  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      b       
      method  
      args    

  private static boolean hasMethodHandleArgument(org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: ([Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 265
            aload 0 /* args */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: org.graalvm.compiler.nodes.ValueNode[] top int int org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* argument */
        start local 1 // org.graalvm.compiler.nodes.ValueNode argument
         2: .line 266
            aload 1 /* argument */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 4
            aload 1 /* argument */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 4
            aload 1 /* argument */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
            instanceof java.lang.invoke.MethodHandle
            ifeq 4
         3: .line 267
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode argument
         4: .line 265
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 270
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode[] args
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      args  [Lorg/graalvm/compiler/nodes/ValueNode;
            2    4     1  argument  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      args  

  private boolean isVarHandleMethod(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 289
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            ldc "java.lang.invoke.VarHandleGuards"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         1: .line 290
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmplt 2
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
            ifeq 2
            aload 0 /* this */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.isVarHandle:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifne 3
         2: .line 291
      StackMap locals:
      StackMap stack:
            new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
            dup
            ldc "VarHandle object must be a compile time constant"
            invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 301
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
            astore 3 /* varHandle */
        start local 3 // java.lang.Object varHandle
         4: .line 302
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleVFormField:Ljava/lang/reflect/Field;
            aload 3 /* varHandle */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* varForm */
        start local 4 // java.lang.Object varForm
         5: .line 303
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varFormInitMethod:Ljava/lang/reflect/Method;
            aload 4 /* varForm */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Object varForm
        end local 3 // java.lang.Object varHandle
         6: .line 304
            goto 9
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         7: astore 3 /* ex */
        start local 3 // java.lang.ReflectiveOperationException ex
         8: .line 305
            aload 3 /* ex */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ReflectiveOperationException ex
         9: .line 308
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        10: .line 310
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0   11     1     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   11     2       args  [Lorg/graalvm/compiler/nodes/ValueNode;
            4    6     3  varHandle  Ljava/lang/Object;
            5    6     4    varForm  Ljava/lang/Object;
            8    9     3         ex  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.ReflectiveOperationException
    MethodParameters:
        Name  Flags
      method  
      args    

  private boolean isVarHandle(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.ValueNode arg
         0: .line 315
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.varHandleType:Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.universeProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* arg */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ireturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode arg
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    1     1   arg  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      arg   

  private static boolean ignoreMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 323
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            astore 1 /* className */
        start local 1 // java.lang.String className
         1: .line 324
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            astore 2 /* methodName */
        start local 2 // java.lang.String methodName
         2: .line 325
            getstatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.IGNORE_FILTER:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String java.lang.String top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.collections.Pair
            astore 3 /* ignored */
        start local 3 // org.graalvm.collections.Pair ignored
         4: .line 326
            aload 3 /* ignored */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* className */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 3 /* ignored */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast java.util.List
            aload 2 /* methodName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 327
            iconst_1
            ireturn
        end local 3 // org.graalvm.collections.Pair ignored
         6: .line 325
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 330
            iconst_0
            ireturn
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String className
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1    8     1   className  Ljava/lang/String;
            2    8     2  methodName  Ljava/lang/String;
            4    6     3     ignored  Lorg/graalvm/collections/Pair<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
        Name  Flags
      method  

  private static void registerInvocationPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, org.graalvm.compiler.nodes.spi.Replacements);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 1 // org.graalvm.compiler.nodes.spi.Replacements replacements
         0: .line 420
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc "java.lang.invoke.DirectMethodHandle"
            aload 1 /* replacements */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
            astore 2 /* r */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
         1: .line 421
            aload 2 /* r */
            ldc "ensureInitialized"
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$1
            dup
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$1.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         2: .line 434
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc "java.lang.invoke.Invokers"
            aload 1 /* replacements */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
            astore 2 /* r */
         3: .line 435
            aload 2 /* r */
            ldc "maybeCustomize"
            ldc Ljava/lang/invoke/MethodHandle;
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$2
            dup
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$2.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerOptional1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         4: .line 447
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 0 /* plugins */
            ldc Ljava/util/Objects;
            aload 1 /* replacements */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
            astore 2 /* r */
         5: .line 448
            aload 2 /* r */
            ldc "requireNonNull"
            ldc Ljava/lang/Object;
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$3
            dup
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$3.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         6: .line 459
            return
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration r
        end local 1 // org.graalvm.compiler.nodes.spi.Replacements replacements
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0       plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    7     1  replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
            1    7     2             r  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
              Name  Flags
      plugins       
      replacements  

  private boolean processInvokeWithMethodHandle(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.spi.Replacements, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/spi/Replacements;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=18, args_size=5
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.spi.Replacements replacements
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod methodHandleMethod
        start local 4 // org.graalvm.compiler.nodes.ValueNode[] methodHandleArguments
         0: .line 468
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.analysis:Z
            ifne 2
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.intrinsificationRegistry:Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getCallingContext:()Ljava/util/List;
            invokevirtual com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry.get:(Ljava/util/List;)Ljava/lang/Object;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpeq 2
         1: .line 469
            aload 1 /* b */
            aload 3 /* methodHandleMethod */
            invokestatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.reportUnsupportedFeature:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ireturn
         2: .line 471
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.parsingProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)V
            astore 5 /* graphBuilderPlugins */
        start local 5 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins
         3: .line 473
            aload 5 /* graphBuilderPlugins */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 2 /* replacements */
            invokestatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.registerInvocationPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
         4: .line 475
            aload 5 /* graphBuilderPlugins */
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesParameterPlugin
            dup
            aload 0 /* this */
            aload 4 /* methodHandleArguments */
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesParameterPlugin.<init>:(Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;[Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.prependParameterPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/ParameterPlugin;)V
         5: .line 476
            aload 5 /* graphBuilderPlugins */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.clearInlineInvokePlugins:()V
         6: .line 477
            aload 5 /* graphBuilderPlugins */
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesInlineInvokePlugin
            dup
            aload 0 /* this */
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesInlineInvokePlugin.<init>:(Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.prependInlineInvokePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;)V
         7: .line 478
            aload 5 /* graphBuilderPlugins */
            new org.graalvm.compiler.replacements.MethodHandlePlugin
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.parsingProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.getMethodHandleAccess:()Ljdk/vm/ci/meta/MethodHandleAccessProvider;
            iconst_0
            invokespecial org.graalvm.compiler.replacements.MethodHandlePlugin.<init>:(Ljdk/vm/ci/meta/MethodHandleAccessProvider;Z)V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.prependNodePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;)V
         8: .line 481
            invokestatic com.oracle.svm.hosted.c.GraalAccess.getOriginalSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            astore 6 /* originalSnippetReflection */
        start local 6 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection
         9: .line 482
            new org.graalvm.compiler.word.WordOperationPlugin
            dup
            aload 6 /* originalSnippetReflection */
            new com.oracle.svm.core.graal.word.SubstrateWordTypes
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.parsingProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokestatic com.oracle.svm.core.FrameAccess.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            invokespecial com.oracle.svm.core.graal.word.SubstrateWordTypes.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/JavaKind;)V
            invokespecial org.graalvm.compiler.word.WordOperationPlugin.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
            astore 7 /* wordOperationPlugin */
        start local 7 // org.graalvm.compiler.word.WordOperationPlugin wordOperationPlugin
        10: .line 483
            aload 5 /* graphBuilderPlugins */
            aload 7 /* wordOperationPlugin */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendInlineInvokePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin;)V
        11: .line 484
            aload 5 /* graphBuilderPlugins */
            aload 7 /* wordOperationPlugin */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendTypePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/TypePlugin;)V
        12: .line 485
            aload 5 /* graphBuilderPlugins */
            new com.oracle.svm.core.graal.phases.TrustedInterfaceTypePlugin
            dup
            invokespecial com.oracle.svm.core.graal.phases.TrustedInterfaceTypePlugin.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendTypePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/TypePlugin;)V
        13: .line 486
            aload 5 /* graphBuilderPlugins */
            aload 7 /* wordOperationPlugin */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.appendNodePlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/NodePlugin;)V
        14: .line 487
            aload 5 /* graphBuilderPlugins */
            new com.oracle.svm.hosted.phases.NoClassInitializationPlugin
            dup
            invokespecial com.oracle.svm.hosted.phases.NoClassInitializationPlugin.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.setClassInitializationPlugin:(Lorg/graalvm/compiler/nodes/graphbuilderconf/ClassInitializationPlugin;)V
        15: .line 489
            aload 5 /* graphBuilderPlugins */
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.getSnippetDefault:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            astore 8 /* graphBuilderConfig */
        start local 8 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        16: .line 490
            new org.graalvm.compiler.java.GraphBuilderPhase$Instance
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.parsingProviders:Lorg/graalvm/compiler/phases/util/Providers;
            aload 8 /* graphBuilderConfig */
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.NONE:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            aconst_null
            invokespecial org.graalvm.compiler.java.GraphBuilderPhase$Instance.<init>:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;Lorg/graalvm/compiler/phases/OptimisticOptimizations;Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)V
            astore 9 /* graphBuilder */
        start local 9 // org.graalvm.compiler.java.GraphBuilderPhase$Instance graphBuilder
        17: .line 492
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 10 /* debug */
        start local 10 // org.graalvm.compiler.debug.DebugContext debug
        18: .line 493
            new org.graalvm.compiler.nodes.StructuredGraph$Builder
            dup
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 10 /* debug */
            invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
            aload 3 /* methodHandleMethod */
            invokestatic com.oracle.svm.hosted.NativeImageUtil.toOriginal:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 11 /* graph */
        start local 11 // org.graalvm.compiler.nodes.StructuredGraph graph
        19: .line 494
            aconst_null
            astore 12
            aconst_null
            astore 13
        20: aload 10 /* debug */
            ldc "IntrinsifyMethodHandles"
            aload 11 /* graph */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 14 /* s */
        start local 14 // org.graalvm.compiler.debug.DebugContext$Scope s
        21: .line 495
            aload 9 /* graphBuilder */
            aload 11 /* graph */
            invokevirtual org.graalvm.compiler.java.GraphBuilderPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        22: .line 500
            invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            aload 11 /* graph */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.parsingProviders:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        23: .line 502
            aload 10 /* debug */
            iconst_3
            aload 11 /* graph */
            ldc "Intrinisfication graph before transplant"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        24: .line 504
            new org.graalvm.compiler.graph.NodeMap
            dup
            aload 11 /* graph */
            invokespecial org.graalvm.compiler.graph.NodeMap.<init>:(Lorg/graalvm/compiler/graph/Graph;)V
            astore 15 /* transplanted */
        start local 15 // org.graalvm.compiler.graph.NodeMap transplanted
        25: .line 505
            aload 11 /* graph */
            getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 17
            goto 28
      StackMap locals: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.spi.Replacements jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.java.GraphBuilderPhase$Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.graph.NodeMap top java.util.Iterator
      StackMap stack:
        26: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ParameterNode
            astore 16 /* oParam */
        start local 16 // org.graalvm.compiler.nodes.ParameterNode oParam
        27: .line 506
            aload 15 /* transplanted */
            aload 16 /* oParam */
            aload 4 /* methodHandleArguments */
            aload 16 /* oParam */
            invokevirtual org.graalvm.compiler.nodes.ParameterNode.index:()I
            aaload
            invokevirtual org.graalvm.compiler.graph.NodeMap.put:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 16 // org.graalvm.compiler.nodes.ParameterNode oParam
        28: .line 505
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        29: .line 509
            new com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter
            dup
            aload 0 /* this */
            aload 1 /* b */
            aload 3 /* methodHandleMethod */
            aload 15 /* transplanted */
            invokespecial com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter.<init>:(Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/graph/NodeMap;)V
            astore 16 /* transplanter */
        start local 16 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter transplanter
        30: .line 511
            aload 16 /* transplanter */
            aload 11 /* graph */
            invokevirtual com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter.graph:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        31: .line 513
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.analysis:Z
            ifeq 33
        32: .line 518
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.intrinsificationRegistry:Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry;
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getCallingContext:()Ljava/util/List;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry.add:(Ljava/util/List;Ljava/lang/Object;)V
        33: .line 531
      StackMap locals: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.spi.Replacements jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.java.GraphBuilderPhase$Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.graph.NodeMap com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter
      StackMap stack:
            aload 14 /* s */
            ifnull 34
            aload 14 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        34: .line 520
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        35: .line 521
      StackMap locals:
      StackMap stack: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException
            astore 17 /* ex */
        start local 17 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException ex
        36: .line 529
            aload 17 /* ex */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException.handled:Z
        37: .line 531
            aload 14 /* s */
            ifnull 38
            aload 14 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        38: .line 529
      StackMap locals: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.spi.Replacements jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.java.GraphBuilderPhase$Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.graph.NodeMap com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException
      StackMap stack: int
            ireturn
        end local 17 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException ex
        end local 16 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter transplanter
        end local 15 // org.graalvm.compiler.graph.NodeMap transplanted
      StackMap locals: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.spi.Replacements jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.java.GraphBuilderPhase$Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        39: astore 12
        40: .line 531
            aload 14 /* s */
            ifnull 41
            aload 14 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 14 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        41: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 13
            aload 12
            ifnonnull 43
            aload 13
            astore 12
            goto 44
      StackMap locals:
      StackMap stack:
        43: aload 12
            aload 13
            if_acmpeq 44
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        44: aload 12
            athrow
      StackMap locals: com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.spi.Replacements jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.java.GraphBuilderPhase$Instance org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: java.lang.Throwable
        45: astore 12 /* ex */
        start local 12 // java.lang.Throwable ex
        46: .line 532
            aload 10 /* debug */
            aload 12 /* ex */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 12 // java.lang.Throwable ex
        end local 11 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 10 // org.graalvm.compiler.debug.DebugContext debug
        end local 9 // org.graalvm.compiler.java.GraphBuilderPhase$Instance graphBuilder
        end local 8 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration graphBuilderConfig
        end local 7 // org.graalvm.compiler.word.WordOperationPlugin wordOperationPlugin
        end local 6 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider originalSnippetReflection
        end local 5 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins graphBuilderPlugins
        end local 4 // org.graalvm.compiler.nodes.ValueNode[] methodHandleArguments
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod methodHandleMethod
        end local 2 // org.graalvm.compiler.nodes.spi.Replacements replacements
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   47     0                       this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0   47     1                          b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   47     2               replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
            0   47     3         methodHandleMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   47     4      methodHandleArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            3   47     5        graphBuilderPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            9   47     6  originalSnippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
           10   47     7        wordOperationPlugin  Lorg/graalvm/compiler/word/WordOperationPlugin;
           16   47     8         graphBuilderConfig  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
           17   47     9               graphBuilder  Lorg/graalvm/compiler/java/GraphBuilderPhase$Instance;
           18   47    10                      debug  Lorg/graalvm/compiler/debug/DebugContext;
           19   47    11                      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           21   41    14                          s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           25   39    15               transplanted  Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/graph/Node;>;
           27   28    16                     oParam  Lorg/graalvm/compiler/nodes/ParameterNode;
           30   39    16               transplanter  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$Transplanter;
           36   39    17                         ex  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException;
           46   47    12                         ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          30    33      35  Class com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException
          21    33      39  any
          35    37      39  any
          20    34      42  any
          35    38      42  any
          39    42      42  any
          19    34      45  Class java.lang.Throwable
          35    38      45  Class java.lang.Throwable
          39    45      45  Class java.lang.Throwable
    MethodParameters:
                       Name  Flags
      b                      
      replacements           
      methodHandleMethod     
      methodHandleArguments  

  private static boolean reportUnsupportedFeature(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod methodHandleMethod
         0: .line 791
            new java.lang.StringBuilder
            dup
            ldc "Invoke with MethodHandle argument could not be reduced to at most a single call or single field access. The method handle must be a compile time constant, e.g., be loaded from a `static final` field. Method that contains the method handle invocation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 793
            aload 1 /* methodHandleMethod */
            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 791
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         3: .line 795
            invokestatic com.oracle.svm.hosted.NativeImageOptions.areMethodHandlesSupported:()Z
            ifeq 5
         4: .line 797
            iconst_0
            ireturn
         5: .line 799
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.oracle.svm.hosted.NativeImageOptions.ReportUnsupportedElementsAtRuntime:Lcom/oracle/svm/core/option/HostedOptionKey;
            invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 12
         6: .line 804
            aload 0 /* b */
            checkcast org.graalvm.compiler.java.BytecodeParser
            invokevirtual org.graalvm.compiler.java.BytecodeParser.getFrameStateBuilder:()Lorg/graalvm/compiler/java/FrameStateBuilder;
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.clearStack:()V
         7: .line 805
            aload 0 /* b */
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            getstatic com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.unsupportedFeatureMethod:Ljava/lang/reflect/Method;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
         8: .line 806
            iconst_1
            anewarray org.graalvm.compiler.nodes.ValueNode
            dup
            iconst_0
            aload 2 /* message */
            invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* 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;
            aastore
            iconst_0
         9: .line 805
            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
        10: .line 808
            aload 0 /* b */
            new com.oracle.svm.core.graal.nodes.DeadEndNode
            dup
            invokespecial com.oracle.svm.core.graal.nodes.DeadEndNode.<init>:()V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        11: .line 809
            iconst_1
            ireturn
        12: .line 812
      StackMap locals:
      StackMap stack:
            new com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 813
            ldc "To enable method handles that do not require LambdaForm interpretation (e.g. because of a call to MethodHandle.bindTo()) or to diagnose the issue, you can add the option "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 814
            getstatic com.oracle.svm.hosted.NativeImageOptions.ReportUnsupportedElementsAtRuntime:Lcom/oracle/svm/core/option/HostedOptionKey;
            ldc "+"
            invokestatic com.oracle.svm.core.option.SubstrateOptionsParser.commandArgument:(Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 815
            ldc ". The error is then reported at run time when the invoke is executed and the method handle has to be interpreted."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 812
            invokespecial com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod methodHandleMethod
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                   b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   17     1  methodHandleMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            3   17     2             message  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      b                   
      methodHandleMethod  

  private void maybeEmitClassInitialization(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, boolean, jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;ZLjdk/vm/ci/meta/ResolvedJavaType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // boolean isStatic
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType declaringClass
         0: .line 820
            iload 2 /* isStatic */
            ifeq 2
         1: .line 826
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.classInitializationPlugin:Lorg/graalvm/compiler/nodes/graphbuilderconf/ClassInitializationPlugin;
            aload 1 /* b */
            aload 3 /* declaringClass */
            aload 1 /* b */
            invokedynamic get(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin.lambda$0(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)Lorg/graalvm/compiler/nodes/FrameState; (6)
                  ()Lorg/graalvm/compiler/nodes/FrameState;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.ClassInitializationPlugin.apply:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/util/function/Supplier;)Z
            pop
         2: .line 828
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType declaringClass
        end local 2 // boolean isStatic
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    3     1               b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    3     2        isStatic  Z
            0    3     3  declaringClass  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
                Name  Flags
      b               
      isStatic        
      declaringClass  

  private jdk.vm.ci.meta.ResolvedJavaMethod lookup(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 831
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* method */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
            astore 2 /* result */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod result
         1: .line 832
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            ifnull 3
         2: .line 833
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 2 /* result */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
            astore 2 /* result */
         3: .line 835
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod result
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    4     1  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1    4     2  result  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  

  private jdk.vm.ci.meta.ResolvedJavaField lookup(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/ResolvedJavaField;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 839
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaType;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsReachable:()V
         1: .line 840
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* field */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaField;)Lcom/oracle/graal/pointsto/meta/AnalysisField;
            astore 2 /* result */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaField result
         2: .line 841
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            ifnull 4
         3: .line 842
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 2 /* result */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaField;)Lcom/oracle/svm/hosted/meta/HostedField;
            astore 2 /* result */
         4: .line 844
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaField
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaField result
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    5     1   field  Ljdk/vm/ci/meta/ResolvedJavaField;
            2    5     2  result  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
       Name  Flags
      field  

  private jdk.vm.ci.meta.ResolvedJavaType lookup(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 848
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaType;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 2 /* result */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType result
         1: .line 849
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            ifnull 3
         2: .line 850
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 2 /* result */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.lookup:(Ljdk/vm/ci/meta/JavaType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 2 /* result */
         3: .line 852
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType result
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    4     1    type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1    4     2  result  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
      Name  Flags
      type  

  private jdk.vm.ci.meta.ResolvedJavaType optionalLookup(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         0: .line 856
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* type */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.optionalLookup:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 2 /* result */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaType result
         1: .line 857
            aload 2 /* result */
            ifnull 3
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            ifnull 3
         2: .line 858
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.hUniverse:Lcom/oracle/svm/hosted/meta/HostedUniverse;
            aload 2 /* result */
            invokevirtual com.oracle.svm.hosted.meta.HostedUniverse.optionalLookup:(Ljdk/vm/ci/meta/JavaType;)Lcom/oracle/svm/hosted/meta/HostedType;
            astore 2 /* result */
         3: .line 860
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaType result
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    4     1    type  Ljdk/vm/ci/meta/ResolvedJavaType;
            1    4     2  result  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
      Name  Flags
      type  

  private jdk.vm.ci.meta.JavaConstant lookup(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 864
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* constant */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    1     1  constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      constant  

  private jdk.vm.ci.meta.JavaConstant toOriginal(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
        start local 1 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 868
            aload 0 /* this */
            getfield com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin.aUniverse:Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
            aload 1 /* constant */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.toHosted:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaConstant constant
        end local 0 // com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/svm/hosted/phases/IntrinsifyMethodHandlesInvocationPlugin;
            0    1     1  constant  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
          Name  Flags
      constant  

  private static org.graalvm.compiler.nodes.FrameState lambda$0(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)Lorg/graalvm/compiler/nodes/FrameState;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=1, args_size=1
         0: .line 826
            aload 0
            checkcast org.graalvm.compiler.java.BytecodeParser
            invokevirtual org.graalvm.compiler.java.BytecodeParser.getFrameStateBuilder:()Lorg/graalvm/compiler/java/FrameStateBuilder;
            aload 0
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
            aload 0
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getNonIntrinsicAncestor:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            checkcast org.graalvm.compiler.java.BytecodeParser
            iconst_0
            aconst_null
            aconst_null
            invokevirtual org.graalvm.compiler.java.FrameStateBuilder.create:(ILorg/graalvm/compiler/java/BytecodeParser;Z[Ljdk/vm/ci/meta/JavaKind;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/FrameState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "IntrinsifyMethodHandlesInvocationPlugin.java"
NestMembers:
  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$1  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$2  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$3  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesInlineInvokePlugin  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesMetaAccessExtensionProvider  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesParameterPlugin  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter
InnerClasses:
  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$1
  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$2
  com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$3
  AbortTransplantException = com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$AbortTransplantException of com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin
  public IntrinsificationRegistry = com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$IntrinsificationRegistry of com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin
  MethodHandlesInlineInvokePlugin = com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesInlineInvokePlugin of com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin
  MethodHandlesMetaAccessExtensionProvider = com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesMetaAccessExtensionProvider of com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin
  MethodHandlesParameterPlugin = com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$MethodHandlesParameterPlugin of com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin
  Transplanter = com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin$Transplanter of com.oracle.svm.hosted.phases.IntrinsifyMethodHandlesInvocationPlugin
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public Instance = org.graalvm.compiler.java.GraphBuilderPhase$Instance of org.graalvm.compiler.java.GraphBuilderPhase
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  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
  public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
  public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins