public class org.graalvm.compiler.replacements.WordOperationPlugin implements org.graalvm.compiler.nodes.graphbuilderconf.NodePlugin, org.graalvm.compiler.nodes.graphbuilderconf.TypePlugin, org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.WordOperationPlugin
  super_class: java.lang.Object
{
  protected final org.graalvm.compiler.word.WordTypes wordTypes;
    descriptor: Lorg/graalvm/compiler/word/WordTypes;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.vm.ci.meta.JavaKind wordKind;
    descriptor: Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
    descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$word$Word$Opcode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 84
            ldc Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.word.WordTypes);
    descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/word/WordTypes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        start local 2 // org.graalvm.compiler.word.WordTypes wordTypes
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 90
            aload 0 /* this */
            aload 1 /* snippetReflection */
            putfield org.graalvm.compiler.replacements.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
         2: .line 91
            aload 0 /* this */
            aload 2 /* wordTypes */
            putfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         3: .line 92
            aload 0 /* this */
            aload 2 /* wordTypes */
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            putfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
         4: .line 93
            return
        end local 2 // org.graalvm.compiler.word.WordTypes wordTypes
        end local 1 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    5     1  snippetReflection  Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            0    5     2          wordTypes  Lorg/graalvm/compiler/word/WordTypes;
    MethodParameters:
                   Name  Flags
      snippetReflection  
      wordTypes          

  public boolean canChangeStackKind(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
         0: .line 97
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1     b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
    MethodParameters:
      Name  Flags
      b     

  public boolean handleInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin 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 109
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 2 /* method */
            invokevirtual org.graalvm.compiler.word.WordTypes.isWordOperation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
            ifne 2
         1: .line 110
            iconst_0
            ireturn
         2: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 3 /* args */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 2 /* method */
            aload 1 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordOperation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.processWordOperation:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
         3: .line 113
            iconst_1
            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 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    4     1       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    4     2  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     3    args  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      b       
      method  
      args    

  public org.graalvm.compiler.core.common.type.StampPair interceptType(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderTool, jdk.vm.ci.meta.JavaType, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderTool b
        start local 2 // jdk.vm.ci.meta.JavaType declaredType
        start local 3 // boolean nonNull
         0: .line 118
            aconst_null
            astore 4 /* wordStamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp wordStamp
         1: .line 119
            aload 2 /* declaredType */
            instanceof jdk.vm.ci.meta.ResolvedJavaType
            ifeq 9
         2: .line 120
            aload 2 /* declaredType */
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 5 /* resolved */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType resolved
         3: .line 121
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 5 /* resolved */
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifeq 6
         4: .line 122
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 5 /* resolved */
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 4 /* wordStamp */
         5: .line 123
            goto 9
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
         6: aload 5 /* resolved */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 9
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 5 /* resolved */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifeq 9
         7: .line 124
            aload 5 /* resolved */
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrustedWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 6 /* trusted */
        start local 6 // org.graalvm.compiler.core.common.type.TypeReference trusted
         8: .line 125
            aload 6 /* trusted */
            iload 3 /* nonNull */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;Z)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
            astore 4 /* wordStamp */
        end local 6 // org.graalvm.compiler.core.common.type.TypeReference trusted
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType resolved
         9: .line 128
      StackMap locals:
      StackMap stack:
            aload 4 /* wordStamp */
            ifnull 11
        10: .line 129
            aload 4 /* wordStamp */
            invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
            areturn
        11: .line 131
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.graalvm.compiler.core.common.type.Stamp wordStamp
        end local 3 // boolean nonNull
        end local 2 // jdk.vm.ci.meta.JavaType declaredType
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderTool b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   12     1             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool;
            0   12     2  declaredType  Ljdk/vm/ci/meta/JavaType;
            0   12     3       nonNull  Z
            1   12     4     wordStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            3    9     5      resolved  Ljdk/vm/ci/meta/ResolvedJavaType;
            8    9     6       trusted  Lorg/graalvm/compiler/core/common/type/TypeReference;
    MethodParameters:
              Name  Flags
      b             
      declaredType  
      nonNull       

  public void notifyNotInlined(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.Invoke);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/Invoke;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin 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.Invoke invoke
         0: .line 137
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 2
         1: .line 138
            aload 3 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordStamp:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.FixedNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
         2: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.Invoke invoke
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    3     1       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    3     2  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     3  invoke  Lorg/graalvm/compiler/nodes/Invoke;
    MethodParameters:
        Name  Flags
      b       
      method  
      invoke  

  public boolean handleLoadField(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode receiver
        start local 3 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 144
            aload 0 /* this */
            aload 1 /* b */
            aload 3 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.interceptType:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
            astore 4 /* wordStamp */
        start local 4 // org.graalvm.compiler.core.common.type.StampPair wordStamp
         1: .line 145
            aload 4 /* wordStamp */
            ifnull 5
         2: .line 146
            aload 4 /* wordStamp */
            aload 2 /* receiver */
            aload 3 /* field */
            invokestatic org.graalvm.compiler.nodes.java.LoadFieldNode.createOverrideStamp:(Lorg/graalvm/compiler/core/common/type/StampPair;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
            astore 5 /* loadFieldNode */
        start local 5 // org.graalvm.compiler.nodes.java.LoadFieldNode loadFieldNode
         3: .line 147
            aload 1 /* b */
            aload 3 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 5 /* loadFieldNode */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         4: .line 148
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.nodes.java.LoadFieldNode loadFieldNode
         5: .line 150
      StackMap locals: org.graalvm.compiler.core.common.type.StampPair
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.core.common.type.StampPair wordStamp
        end local 3 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 2 // org.graalvm.compiler.nodes.ValueNode receiver
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    6     1              b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    6     2       receiver  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     3          field  Ljdk/vm/ci/meta/ResolvedJavaField;
            1    6     4      wordStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            3    5     5  loadFieldNode  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
    MethodParameters:
          Name  Flags
      b         
      receiver  
      field     

  public boolean handleLoadStaticField(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaField;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaField staticField
         0: .line 155
            aload 0 /* this */
            aload 1 /* b */
            aconst_null
            aload 2 /* staticField */
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.handleLoadField:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Z
            ireturn
        end local 2 // jdk.vm.ci.meta.ResolvedJavaField staticField
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1            b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     2  staticField  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
             Name  Flags
      b            
      staticField  

  public boolean handleLoadIndexed(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // org.graalvm.compiler.nodes.ValueNode index
        start local 4 // jdk.vm.ci.meta.JavaKind elementKind
         0: .line 160
            aload 2 /* array */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 5 /* arrayType */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType arrayType
         1: .line 165
            aload 5 /* arrayType */
            ifnull 5
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 5 /* arrayType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifeq 5
         2: .line 166
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 3
            aload 4 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 167
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 1 /* b */
            aload 4 /* elementKind */
            aload 0 /* this */
            aload 2 /* array */
            aload 3 /* index */
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.createLoadIndexedNode:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         4: .line 168
            iconst_1
            ireturn
         5: .line 170
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType arrayType
        end local 4 // jdk.vm.ci.meta.JavaKind elementKind
        end local 3 // org.graalvm.compiler.nodes.ValueNode index
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    6     1            b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    6     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     3        index  Lorg/graalvm/compiler/nodes/ValueNode;
            0    6     4  elementKind  Ljdk/vm/ci/meta/JavaKind;
            1    6     5    arrayType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
             Name  Flags
      b            
      array        
      index        
      elementKind  

  protected org.graalvm.compiler.nodes.java.LoadIndexedNode createLoadIndexedNode(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.ValueNode array
        start local 2 // org.graalvm.compiler.nodes.ValueNode index
         0: .line 174
            new org.graalvm.compiler.nodes.java.LoadIndexedNode
            dup
            aconst_null
            aload 1 /* array */
            aload 2 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            invokespecial org.graalvm.compiler.nodes.java.LoadIndexedNode.<init>:(Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)V
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode index
        end local 1 // org.graalvm.compiler.nodes.ValueNode array
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1  array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     2  index  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      array  
      index  

  public boolean handleStoreField(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaField, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // jdk.vm.ci.meta.ResolvedJavaField field
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 179
            aload 3 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 9
         1: .line 180
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            istore 5 /* isWordField */
        start local 5 // boolean isWordField
         2: .line 181
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 3
            iconst_1
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* isWordValue */
        start local 6 // boolean isWordValue
         5: .line 183
            iload 5 /* isWordField */
            ifeq 7
            iload 6 /* isWordValue */
            ifne 7
         6: .line 184
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot store a non-word value into a word field: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* field */
            ldc "%H.%n"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         7: .line 185
      StackMap locals: int
      StackMap stack:
            iload 5 /* isWordField */
            ifne 9
            iload 6 /* isWordValue */
            ifeq 9
         8: .line 186
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot store a word value into a non-word field: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* field */
            ldc "%H.%n"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
        end local 6 // boolean isWordValue
        end local 5 // boolean isWordField
         9: .line 191
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.nodes.ValueNode value
        end local 3 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   10     1            b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   10     2       object  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     3        field  Ljdk/vm/ci/meta/ResolvedJavaField;
            0   10     4        value  Lorg/graalvm/compiler/nodes/ValueNode;
            2    9     5  isWordField  Z
            5    9     6  isWordValue  Z
    MethodParameters:
        Name  Flags
      b       
      object  
      field   
      value   

  public boolean handleStoreStaticField(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaField, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaField field
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 196
            aload 0 /* this */
            aload 1 /* b */
            aconst_null
            aload 2 /* field */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.handleStoreField:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1      b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     2  field  Ljdk/vm/ci/meta/ResolvedJavaField;
            0    1     3  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      b      
      field  
      value  

  public boolean handleStoreIndexed(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode array
        start local 3 // org.graalvm.compiler.nodes.ValueNode index
        start local 4 // jdk.vm.ci.meta.JavaKind elementKind
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 201
            aload 2 /* array */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* arrayType */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType arrayType
         1: .line 202
            aload 6 /* arrayType */
            ifnull 7
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 6 /* arrayType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifeq 7
         2: .line 203
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 3
            aload 4 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 204
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 5 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 5
         4: .line 205
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot store a non-word value into a word array: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* arrayType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         5: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 0 /* this */
            aload 2 /* array */
            aload 3 /* index */
            aload 5 /* value */
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.createStoreIndexedNode:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         6: .line 208
            iconst_1
            ireturn
         7: .line 210
      StackMap locals:
      StackMap stack:
            aload 4 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 9
            aload 5 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 9
         8: .line 211
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot store a word value into a non-word array: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* arrayType */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         9: .line 213
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType arrayType
        end local 5 // org.graalvm.compiler.nodes.ValueNode value
        end local 4 // jdk.vm.ci.meta.JavaKind elementKind
        end local 3 // org.graalvm.compiler.nodes.ValueNode index
        end local 2 // org.graalvm.compiler.nodes.ValueNode array
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   10     1            b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   10     2        array  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     3        index  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     4  elementKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     5        value  Lorg/graalvm/compiler/nodes/ValueNode;
            1   10     6    arrayType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
             Name  Flags
      b            
      array        
      index        
      elementKind  
      value        

  protected org.graalvm.compiler.nodes.java.StoreIndexedNode createStoreIndexedNode(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.ValueNode array
        start local 2 // org.graalvm.compiler.nodes.ValueNode index
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 217
            new org.graalvm.compiler.nodes.java.StoreIndexedNode
            dup
            aload 1 /* array */
            aload 2 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 3 /* value */
            invokespecial org.graalvm.compiler.nodes.java.StoreIndexedNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.ValueNode index
        end local 1 // org.graalvm.compiler.nodes.ValueNode array
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1  array  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     2  index  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      array  
      index  
      value  

  public boolean handleCheckCast(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.JavaTypeProfile);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/JavaTypeProfile;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType type
        start local 4 // jdk.vm.ci.meta.JavaTypeProfile profile
         0: .line 222
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* type */
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifne 4
         1: .line 223
            aload 2 /* object */
            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_acmpeq 3
         2: .line 224
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot cast a word value to a non-word type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         3: .line 226
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 229
      StackMap locals:
      StackMap stack:
            aload 2 /* object */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 6
         5: .line 230
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot cast a non-word value to a word type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         6: .line 232
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* object */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
         7: .line 233
            iconst_1
            ireturn
        end local 4 // jdk.vm.ci.meta.JavaTypeProfile profile
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    8     1        b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    8     2   object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     3     type  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    8     4  profile  Ljdk/vm/ci/meta/JavaTypeProfile;
    MethodParameters:
         Name  Flags
      b        
      object   
      type     
      profile  

  public boolean handleInstanceOf(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.JavaTypeProfile);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/JavaTypeProfile;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType type
        start local 4 // jdk.vm.ci.meta.JavaTypeProfile profile
         0: .line 238
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* type */
            invokevirtual org.graalvm.compiler.word.WordTypes.isWord:(Ljdk/vm/ci/meta/JavaType;)Z
            ifeq 2
         1: .line 239
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot use instanceof for word a type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         2: .line 240
      StackMap locals:
      StackMap stack:
            aload 2 /* object */
            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_acmpeq 4
         3: .line 241
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot use instanceof on a word value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* type */
            iconst_1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         4: .line 243
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // jdk.vm.ci.meta.JavaTypeProfile profile
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    5     1        b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    5     2   object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     3     type  Ljdk/vm/ci/meta/ResolvedJavaType;
            0    5     4  profile  Ljdk/vm/ci/meta/JavaTypeProfile;
    MethodParameters:
         Name  Flags
      b        
      object   
      type     
      profile  

  protected void processWordOperation(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode[], jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=12, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod wordMethod
         0: .line 247
            ldc Lorg/graalvm/compiler/word/Word$Operation;
            aload 3 /* wordMethod */
            invokestatic org.graalvm.compiler.bytecode.BridgeMethodUtils.getAnnotation:(Ljava/lang/Class;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/annotation/Annotation;
            checkcast org.graalvm.compiler.word.Word$Operation
            astore 4 /* operation */
        start local 4 // org.graalvm.compiler.word.Word$Operation operation
         1: .line 248
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* returnKind */
        start local 5 // jdk.vm.ci.meta.JavaKind returnKind
         2: .line 249
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$compiler$word$Word$Opcode:()[I
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.opcode:()Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iaload
            tableswitch { // 1 - 19
                    1: 3
                    2: 10
                    3: 13
                    4: 16
                    5: 16
                    6: 16
                    7: 26
                    8: 32
                    9: 32
                   10: 32
                   11: 32
                   12: 44
                   13: 47
                   14: 50
                   15: 64
                   16: 56
                   17: 60
                   18: 68
                   19: 53
              default: 72
          }
         3: .line 251
      StackMap locals: org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 4
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 252
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            astore 6 /* left */
        start local 6 // org.graalvm.compiler.nodes.ValueNode left
         5: .line 253
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.rightOperandIsInt:()Z
            ifeq 6
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_1
            aaload
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.toUnsigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            goto 7
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
         6: aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.fromSigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         7: astore 7 /* right */
        start local 7 // org.graalvm.compiler.nodes.ValueNode right
         8: .line 255
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.node:()Ljava/lang/Class;
            aload 6 /* left */
            aload 7 /* right */
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.createBinaryNodeInstance:(Ljava/lang/Class;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         9: .line 256
            goto 73
        end local 7 // org.graalvm.compiler.nodes.ValueNode right
        end local 6 // org.graalvm.compiler.nodes.ValueNode left
        10: .line 259
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 11
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 260
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.condition:()Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.fromSigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.comparisonOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        12: .line 261
            goto 73
        13: .line 264
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 14
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 265
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            new org.graalvm.compiler.nodes.calc.XorNode
            dup
            aload 2 /* args */
            iconst_0
            aaload
            aload 1 /* b */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            ldc -1
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;J)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.calc.XorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        15: .line 266
            goto 73
        16: .line 271
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 17
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 17
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* readKind */
        start local 8 // jdk.vm.ci.meta.JavaKind readKind
        18: .line 273
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.makeAddress:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 9 /* address */
        start local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        19: .line 275
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpne 22
        20: .line 276
            invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            astore 10 /* location */
        start local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        21: .line 277
            goto 24
        end local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        22: .line 278
      StackMap locals: org.graalvm.compiler.replacements.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind top top jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 23
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/compiler/core/common/LocationIdentity;
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.LocationIdentity
            astore 10 /* location */
        start local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        24: .line 281
      StackMap locals: org.graalvm.compiler.core.common.LocationIdentity
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 8 /* readKind */
            aload 9 /* address */
            aload 10 /* location */
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.opcode:()Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.readOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/word/Word$Opcode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        25: .line 282
            goto 73
        end local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        end local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 8 // jdk.vm.ci.meta.JavaKind readKind
        26: .line 285
      StackMap locals: org.graalvm.compiler.replacements.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 27
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* readKind */
        start local 8 // jdk.vm.ci.meta.JavaKind readKind
        28: .line 287
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.makeAddress:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 9 /* address */
        start local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        29: .line 288
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
            astore 10 /* barrierType */
        start local 10 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        30: .line 289
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 1 /* b */
            aload 8 /* readKind */
            aload 9 /* address */
            invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            aload 10 /* barrierType */
            iconst_1
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.readOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        31: .line 290
            goto 73
        end local 10 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 8 // jdk.vm.ci.meta.JavaKind readKind
        32: .line 296
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 33
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpeq 33
            aload 2 /* args */
            arraylength
            iconst_4
            if_icmpeq 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifeq 34
            iconst_2
            goto 35
      StackMap locals: org.graalvm.compiler.replacements.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind
      StackMap stack: org.graalvm.compiler.word.WordTypes jdk.vm.ci.meta.Signature
        34: iconst_1
      StackMap locals: org.graalvm.compiler.replacements.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind
      StackMap stack: org.graalvm.compiler.word.WordTypes jdk.vm.ci.meta.Signature int
        35: aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            astore 8 /* writeKind */
        start local 8 // jdk.vm.ci.meta.JavaKind writeKind
        36: .line 298
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.makeAddress:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 9 /* address */
        start local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        37: .line 300
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpne 40
        38: .line 301
            invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            astore 10 /* location */
        start local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        39: .line 302
            goto 42
        end local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        40: .line 303
      StackMap locals: org.graalvm.compiler.replacements.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind top top jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 41
            aload 2 /* args */
            iconst_3
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/compiler/core/common/LocationIdentity;
            aload 2 /* args */
            iconst_3
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.LocationIdentity
            astore 10 /* location */
        start local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        42: .line 306
      StackMap locals: org.graalvm.compiler.core.common.LocationIdentity
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 8 /* writeKind */
            aload 9 /* address */
            aload 10 /* location */
            aload 2 /* args */
            iconst_2
            aaload
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.opcode:()Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.writeOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/word/Word$Opcode;)V
        43: .line 307
            goto 73
        end local 10 // org.graalvm.compiler.core.common.LocationIdentity location
        end local 9 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 8 // jdk.vm.ci.meta.JavaKind writeKind
        44: .line 310
      StackMap locals: org.graalvm.compiler.replacements.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.word.Word$Operation jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 45
            aload 2 /* args */
            arraylength
            ifeq 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 311
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            lconst_0
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;J)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        46: .line 312
            goto 73
        47: .line 315
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 48
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 316
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.fromUnsigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        49: .line 317
            goto 73
        50: .line 320
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 51
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 51
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        51: .line 321
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.fromSigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        52: .line 322
            goto 73
        53: .line 325
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 54
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 54
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        54: .line 326
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.toUnsigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        55: .line 327
            goto 73
        56: .line 330
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 57
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 57
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        57: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.nodes.WordCastNode.objectToTrackedPointer:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/nodes/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.nodes.WordCastNode
            astore 8 /* objectToTracked */
        start local 8 // org.graalvm.compiler.word.nodes.WordCastNode objectToTracked
        58: .line 332
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 8 /* objectToTracked */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        59: .line 333
            goto 73
        end local 8 // org.graalvm.compiler.word.nodes.WordCastNode objectToTracked
        60: .line 336
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 61
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 61
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        61: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.nodes.WordCastNode.objectToUntrackedPointer:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/nodes/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.nodes.WordCastNode
            astore 9 /* objectToUntracked */
        start local 9 // org.graalvm.compiler.word.nodes.WordCastNode objectToUntracked
        62: .line 338
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 9 /* objectToUntracked */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        63: .line 339
            goto 73
        end local 9 // org.graalvm.compiler.word.nodes.WordCastNode objectToUntracked
        64: .line 342
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 65
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 65
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        65: .line 343
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.nodes.WordCastNode.addressToWord:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/nodes/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.nodes.WordCastNode
            astore 10 /* addressToWord */
        start local 10 // org.graalvm.compiler.word.nodes.WordCastNode addressToWord
        66: .line 344
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 10 /* addressToWord */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        67: .line 345
            goto 73
        end local 10 // org.graalvm.compiler.word.nodes.WordCastNode addressToWord
        68: .line 348
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 69
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 69
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        69: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.nodes.WordCastNode.wordToObject:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/nodes/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.nodes.WordCastNode
            astore 11 /* wordToObject */
        start local 11 // org.graalvm.compiler.word.nodes.WordCastNode wordToObject
        70: .line 350
            aload 1 /* b */
            aload 5 /* returnKind */
            aload 11 /* wordToObject */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        71: .line 351
            goto 73
        end local 11 // org.graalvm.compiler.word.nodes.WordCastNode wordToObject
        72: .line 354
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Unknown opcode: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.opcode:()Lorg/graalvm/compiler/word/Word$Opcode;
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        73: .line 356
      StackMap locals:
      StackMap stack:
            return
        end local 5 // jdk.vm.ci.meta.JavaKind returnKind
        end local 4 // org.graalvm.compiler.word.Word$Operation operation
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod wordMethod
        end local 2 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   74     0               this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   74     1                  b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   74     2               args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   74     3         wordMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1   74     4          operation  Lorg/graalvm/compiler/word/Word$Operation;
            2   74     5         returnKind  Ljdk/vm/ci/meta/JavaKind;
            5   10     6               left  Lorg/graalvm/compiler/nodes/ValueNode;
            8   10     7              right  Lorg/graalvm/compiler/nodes/ValueNode;
           18   26     8           readKind  Ljdk/vm/ci/meta/JavaKind;
           19   26     9            address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           21   22    10           location  Lorg/graalvm/compiler/core/common/LocationIdentity;
           24   26    10           location  Lorg/graalvm/compiler/core/common/LocationIdentity;
           28   32     8           readKind  Ljdk/vm/ci/meta/JavaKind;
           29   32     9            address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           30   32    10        barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           36   44     8          writeKind  Ljdk/vm/ci/meta/JavaKind;
           37   44     9            address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           39   40    10           location  Lorg/graalvm/compiler/core/common/LocationIdentity;
           42   44    10           location  Lorg/graalvm/compiler/core/common/LocationIdentity;
           58   60     8    objectToTracked  Lorg/graalvm/compiler/word/nodes/WordCastNode;
           62   64     9  objectToUntracked  Lorg/graalvm/compiler/word/nodes/WordCastNode;
           66   68    10      addressToWord  Lorg/graalvm/compiler/word/nodes/WordCastNode;
           70   72    11       wordToObject  Lorg/graalvm/compiler/word/nodes/WordCastNode;
    Exceptions:
      throws org.graalvm.compiler.debug.GraalError
    MethodParameters:
            Name  Flags
      b           
      args        
      wordMethod  

  private static org.graalvm.compiler.nodes.ValueNode createBinaryNodeInstance(java.lang.Class<? extends org.graalvm.compiler.nodes.ValueNode>, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljava/lang/Class;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Class nodeClass
        start local 1 // org.graalvm.compiler.nodes.ValueNode left
        start local 2 // org.graalvm.compiler.nodes.ValueNode right
         0: .line 365
            aload 0 /* nodeClass */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/nodes/ValueNode;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/nodes/ValueNode;
            aastore
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 3 /* cons */
        start local 3 // java.lang.reflect.Constructor cons
         1: .line 366
            aload 3 /* cons */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* left */
            aastore
            dup
            iconst_1
            aload 2 /* right */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
         2: areturn
        end local 3 // java.lang.reflect.Constructor cons
         3: .line 367
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
         4: .line 368
            new org.graalvm.compiler.debug.GraalError
            dup
            aload 3 /* ex */
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
            aload 0 /* nodeClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.GraalError.addContext:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/GraalError;
            athrow
        end local 3 // java.lang.Throwable ex
        end local 2 // org.graalvm.compiler.nodes.ValueNode right
        end local 1 // org.graalvm.compiler.nodes.ValueNode left
        end local 0 // java.lang.Class nodeClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  nodeClass  Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/ValueNode;>;
            0    5     1       left  Lorg/graalvm/compiler/nodes/ValueNode;
            0    5     2      right  Lorg/graalvm/compiler/nodes/ValueNode;
            1    3     3       cons  Ljava/lang/reflect/Constructor<*>;
            4    5     3         ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/ValueNode;>;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
           Name  Flags
      nodeClass  
      left       
      right      

  private org.graalvm.compiler.nodes.ValueNode comparisonOp(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext graph
        start local 2 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 3 // org.graalvm.compiler.nodes.ValueNode left
        start local 4 // org.graalvm.compiler.nodes.ValueNode right
         0: .line 373
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 2
            aload 3 /* left */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            aload 4 /* right */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 376
      StackMap locals:
      StackMap stack:
            aload 2 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.canonicalMirror:()Z
            istore 5 /* mirror */
        start local 5 // boolean mirror
         3: .line 378
            iload 5 /* mirror */
            ifeq 4
            aload 4 /* right */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 3 /* left */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         5: astore 6 /* a */
        start local 6 // org.graalvm.compiler.nodes.ValueNode a
         6: .line 379
            iload 5 /* mirror */
            ifeq 7
            aload 3 /* left */
            goto 8
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
         7: aload 4 /* right */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValueNode
         8: astore 7 /* b */
        start local 7 // org.graalvm.compiler.nodes.ValueNode b
         9: .line 382
            aload 2 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpeq 10
            aload 2 /* condition */
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            if_acmpne 12
        10: .line 383
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            dup
            aload 6 /* a */
            aload 7 /* b */
            invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 8 /* comparison */
        start local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
        11: .line 384
            goto 16
        end local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
      StackMap locals:
      StackMap stack:
        12: aload 2 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.isUnsigned:()Z
            ifeq 15
        13: .line 385
            new org.graalvm.compiler.nodes.calc.IntegerBelowNode
            dup
            aload 6 /* a */
            aload 7 /* b */
            invokespecial org.graalvm.compiler.nodes.calc.IntegerBelowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 8 /* comparison */
        start local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
        14: .line 386
            goto 16
        end local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
        15: .line 387
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.calc.IntegerLessThanNode
            dup
            aload 6 /* a */
            aload 7 /* b */
            invokespecial org.graalvm.compiler.nodes.calc.IntegerLessThanNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 8 /* comparison */
        start local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
        16: .line 390
      StackMap locals: org.graalvm.compiler.nodes.calc.CompareNode
      StackMap stack:
            aload 1 /* graph */
            iconst_1
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.ConstantNode
            astore 9 /* trueValue */
        start local 9 // org.graalvm.compiler.nodes.ConstantNode trueValue
        17: .line 391
            aload 1 /* graph */
            iconst_0
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.ConstantNode
            astore 10 /* falseValue */
        start local 10 // org.graalvm.compiler.nodes.ConstantNode falseValue
        18: .line 393
            aload 2 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.canonicalNegate:()Z
            ifeq 22
        19: .line 394
            aload 9 /* trueValue */
            astore 11 /* temp */
        start local 11 // org.graalvm.compiler.nodes.ConstantNode temp
        20: .line 395
            aload 10 /* falseValue */
            astore 9 /* trueValue */
        21: .line 396
            aload 11 /* temp */
            astore 10 /* falseValue */
        end local 11 // org.graalvm.compiler.nodes.ConstantNode temp
        22: .line 398
      StackMap locals: org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode
      StackMap stack:
            aload 1 /* graph */
            new org.graalvm.compiler.nodes.calc.ConditionalNode
            dup
            aload 1 /* graph */
            aload 8 /* comparison */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.LogicNode
            aload 9 /* trueValue */
            aload 10 /* falseValue */
            invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
            astore 11 /* materialize */
        start local 11 // org.graalvm.compiler.nodes.calc.ConditionalNode materialize
        23: .line 399
            aload 11 /* materialize */
            areturn
        end local 11 // org.graalvm.compiler.nodes.calc.ConditionalNode materialize
        end local 10 // org.graalvm.compiler.nodes.ConstantNode falseValue
        end local 9 // org.graalvm.compiler.nodes.ConstantNode trueValue
        end local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
        end local 7 // org.graalvm.compiler.nodes.ValueNode b
        end local 6 // org.graalvm.compiler.nodes.ValueNode a
        end local 5 // boolean mirror
        end local 4 // org.graalvm.compiler.nodes.ValueNode right
        end local 3 // org.graalvm.compiler.nodes.ValueNode left
        end local 2 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext graph
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   24     1        graph  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   24     2    condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   24     3         left  Lorg/graalvm/compiler/nodes/ValueNode;
            0   24     4        right  Lorg/graalvm/compiler/nodes/ValueNode;
            3   24     5       mirror  Z
            6   24     6            a  Lorg/graalvm/compiler/nodes/ValueNode;
            9   24     7            b  Lorg/graalvm/compiler/nodes/ValueNode;
           11   12     8   comparison  Lorg/graalvm/compiler/nodes/calc/CompareNode;
           14   15     8   comparison  Lorg/graalvm/compiler/nodes/calc/CompareNode;
           16   24     8   comparison  Lorg/graalvm/compiler/nodes/calc/CompareNode;
           17   24     9    trueValue  Lorg/graalvm/compiler/nodes/ConstantNode;
           18   24    10   falseValue  Lorg/graalvm/compiler/nodes/ConstantNode;
           20   22    11         temp  Lorg/graalvm/compiler/nodes/ConstantNode;
           23   24    11  materialize  Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
    MethodParameters:
           Name  Flags
      graph      
      condition  
      left       
      right      

  protected org.graalvm.compiler.nodes.ValueNode readOp(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.compiler.core.common.LocationIdentity, org.graalvm.compiler.word.Word$Opcode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/word/Word$Opcode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.JavaKind readKind
        start local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 4 // org.graalvm.compiler.core.common.LocationIdentity location
        start local 5 // org.graalvm.compiler.word.Word$Opcode op
         0: .line 403
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 1
            aload 5 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_POINTER:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            aload 5 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            aload 5 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 404
      StackMap locals:
      StackMap stack:
            aload 5 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpne 2
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         3: astore 6 /* barrier */
        start local 6 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrier
         4: .line 405
            aload 5 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 5
            aload 5 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 5
            iconst_0
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* compressible */
        start local 7 // boolean compressible
         7: .line 407
            aload 1 /* b */
            aload 2 /* readKind */
            aload 3 /* address */
            aload 4 /* location */
            aload 6 /* barrier */
            iload 7 /* compressible */
            invokestatic org.graalvm.compiler.replacements.WordOperationPlugin.readOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 7 // boolean compressible
        end local 6 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrier
        end local 5 // org.graalvm.compiler.word.Word$Opcode op
        end local 4 // org.graalvm.compiler.core.common.LocationIdentity location
        end local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 2 // jdk.vm.ci.meta.JavaKind readKind
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    8     1             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    8     2      readKind  Ljdk/vm/ci/meta/JavaKind;
            0    8     3       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    8     4      location  Lorg/graalvm/compiler/core/common/LocationIdentity;
            0    8     5            op  Lorg/graalvm/compiler/word/Word$Opcode;
            4    8     6       barrier  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            7    8     7  compressible  Z
    MethodParameters:
          Name  Flags
      b         
      readKind  
      address   
      location  
      op        

  public static org.graalvm.compiler.nodes.ValueNode readOp(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.compiler.core.common.LocationIdentity, org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // jdk.vm.ci.meta.JavaKind readKind
        start local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 3 // org.graalvm.compiler.core.common.LocationIdentity location
        start local 4 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        start local 5 // boolean compressible
         0: .line 416
            aload 0 /* b */
            new org.graalvm.compiler.nodes.extended.JavaReadNode
            dup
            aload 1 /* readKind */
            aload 2 /* address */
            aload 3 /* location */
            aload 4 /* barrierType */
            iload 5 /* compressible */
            invokespecial org.graalvm.compiler.nodes.extended.JavaReadNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.extended.JavaReadNode
            astore 6 /* read */
        start local 6 // org.graalvm.compiler.nodes.extended.JavaReadNode read
         1: .line 417
            aload 6 /* read */
            areturn
        end local 6 // org.graalvm.compiler.nodes.extended.JavaReadNode read
        end local 5 // boolean compressible
        end local 4 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 3 // org.graalvm.compiler.core.common.LocationIdentity location
        end local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 1 // jdk.vm.ci.meta.JavaKind readKind
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    2     1      readKind  Ljdk/vm/ci/meta/JavaKind;
            0    2     2       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    2     3      location  Lorg/graalvm/compiler/core/common/LocationIdentity;
            0    2     4   barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            0    2     5  compressible  Z
            1    2     6          read  Lorg/graalvm/compiler/nodes/extended/JavaReadNode;
    MethodParameters:
              Name  Flags
      b             
      readKind      
      address       
      location      
      barrierType   
      compressible  

  protected void writeOp(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.compiler.core.common.LocationIdentity, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.word.Word$Opcode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/word/Word$Opcode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=10, args_size=7
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.JavaKind writeKind
        start local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 4 // org.graalvm.compiler.core.common.LocationIdentity location
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
        start local 6 // org.graalvm.compiler.word.Word$Opcode op
         0: .line 421
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 1
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_POINTER:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.INITIALIZE:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 422
      StackMap locals:
      StackMap stack:
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpne 2
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
         3: astore 7 /* barrier */
        start local 7 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrier
         4: .line 423
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 5
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpeq 5
            iconst_0
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* compressible */
        start local 8 // boolean compressible
         7: .line 424
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.INITIALIZE:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpne 8
            iconst_1
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 9 /* initialize */
        start local 9 // boolean initialize
        10: .line 425
            aload 1 /* b */
            new org.graalvm.compiler.nodes.extended.JavaWriteNode
            dup
            aload 2 /* writeKind */
            aload 3 /* address */
            aload 4 /* location */
            aload 5 /* value */
            aload 7 /* barrier */
            iload 8 /* compressible */
            iload 9 /* initialize */
            invokespecial org.graalvm.compiler.nodes.extended.JavaWriteNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;ZZ)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        11: .line 426
            return
        end local 9 // boolean initialize
        end local 8 // boolean compressible
        end local 7 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrier
        end local 6 // org.graalvm.compiler.word.Word$Opcode op
        end local 5 // org.graalvm.compiler.nodes.ValueNode value
        end local 4 // org.graalvm.compiler.core.common.LocationIdentity location
        end local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 2 // jdk.vm.ci.meta.JavaKind writeKind
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   12     1             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   12     2     writeKind  Ljdk/vm/ci/meta/JavaKind;
            0   12     3       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0   12     4      location  Lorg/graalvm/compiler/core/common/LocationIdentity;
            0   12     5         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   12     6            op  Lorg/graalvm/compiler/word/Word$Opcode;
            4   12     7       barrier  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            7   12     8  compressible  Z
           10   12     9    initialize  Z
    MethodParameters:
           Name  Flags
      b          
      writeKind  
      address    
      location   
      value      
      op         

  public org.graalvm.compiler.nodes.memory.address.AddressNode makeAddress(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode base
        start local 3 // org.graalvm.compiler.nodes.ValueNode offset
         0: .line 429
            aload 1 /* b */
            new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            dup
            aload 2 /* base */
            aload 0 /* this */
            aload 1 /* b */
            aload 3 /* offset */
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.fromSigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode offset
        end local 2 // org.graalvm.compiler.nodes.ValueNode base
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     2    base  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3  offset  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      b       
      base    
      offset  

  public org.graalvm.compiler.nodes.ValueNode fromUnsigned(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 433
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.convert:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1      b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      b      
      value  

  public org.graalvm.compiler.nodes.ValueNode fromSigned(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 437
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.convert:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1      b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     2  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      b      
      value  

  public org.graalvm.compiler.nodes.ValueNode toUnsigned(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
        start local 3 // jdk.vm.ci.meta.JavaKind toKind
         0: .line 441
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* value */
            aload 3 /* toKind */
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.WordOperationPlugin.convert:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // jdk.vm.ci.meta.JavaKind toKind
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0    1     1       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     2   value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     3  toKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
        Name  Flags
      b       
      value   
      toKind  

  public org.graalvm.compiler.nodes.ValueNode convert(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
        start local 3 // jdk.vm.ci.meta.JavaKind toKind
        start local 4 // boolean unsigned
         0: .line 445
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 3 /* toKind */
            if_acmpne 2
         1: .line 446
            aload 2 /* value */
            areturn
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 3 /* toKind */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 5
         3: .line 450
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 4
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 451
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            new org.graalvm.compiler.nodes.calc.NarrowNode
            dup
            aload 2 /* value */
            bipush 32
            invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         5: .line 453
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 6
            aload 3 /* toKind */
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 454
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$assertionsDisabled:Z
            ifne 7
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 455
      StackMap locals:
      StackMap stack:
            iload 4 /* unsigned */
            ifeq 9
         8: .line 456
            aload 1 /* b */
            new org.graalvm.compiler.nodes.calc.ZeroExtendNode
            dup
            aload 2 /* value */
            bipush 64
            invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         9: .line 458
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            new org.graalvm.compiler.nodes.calc.SignExtendNode
            dup
            aload 2 /* value */
            bipush 64
            invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 4 // boolean unsigned
        end local 3 // jdk.vm.ci.meta.JavaKind toKind
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;
            0   10     1         b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   10     2     value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     3    toKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     4  unsigned  Z
    MethodParameters:
          Name  Flags
      b         
      value     
      toKind    
      unsigned  

  public org.graalvm.compiler.word.WordTypes getWordTypes();
    descriptor: ()Lorg/graalvm/compiler/word/WordTypes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
         0: .line 464
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            areturn
        end local 0 // org.graalvm.compiler.replacements.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/WordOperationPlugin;

  private static jdk.vm.ci.code.BailoutException bailout(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // java.lang.String msg
         0: .line 468
            aload 0 /* b */
            new java.lang.StringBuilder
            dup
            aload 1 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\nat "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getCode:()Lorg/graalvm/compiler/bytecode/Bytecode;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bailout:(Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
        end local 1 // java.lang.String msg
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    1     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      b     
      msg   

  static int[] $SWITCH_TABLE$org$graalvm$compiler$word$Word$Opcode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 84
            getstatic org.graalvm.compiler.replacements.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$compiler$word$Word$Opcode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.word.Word$Opcode.values:()[Lorg/graalvm/compiler/word/Word$Opcode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.COMPARISON:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.FROM_ADDRESS:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 15
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.FROM_SIGNED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 14
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.FROM_UNSIGNED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 13
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.INITIALIZE:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 11
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.NODE_CLASS:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.NOT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_3
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.OBJECT_TO_TRACKED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 16
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.OBJECT_TO_UNTRACKED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 17
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 6
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_HEAP:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 7
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_5
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.READ_POINTER:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_4
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.TO_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 18
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.TO_RAW_VALUE:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 19
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 10
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 9
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.WRITE_POINTER:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 8
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic org.graalvm.compiler.word.Word$Opcode.ZERO:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 12
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            dup
            putstatic org.graalvm.compiler.replacements.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$compiler$word$Word$Opcode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
}
SourceFile: "WordOperationPlugin.java"
InnerClasses:
  public final BarrierType = org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess
  public final Opcode = org.graalvm.compiler.word.Word$Opcode of org.graalvm.compiler.word.Word
  public abstract Operation = org.graalvm.compiler.word.Word$Operation of org.graalvm.compiler.word.Word