public class org.graalvm.compiler.word.WordOperationPlugin extends org.graalvm.word.WordFactory 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.word.WordOperationPlugin
  super_class: org.graalvm.word.WordFactory
{
  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$word$WordFactory$FactoryOpcode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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 86
            ldc Lorg/graalvm/compiler/word/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.word.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.word.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection
        start local 2 // org.graalvm.compiler.word.WordTypes wordTypes
         0: .line 91
            aload 0 /* this */
            invokespecial org.graalvm.word.WordFactory.<init>:()V
         1: .line 92
            aload 0 /* this */
            aload 1 /* snippetReflection */
            putfield org.graalvm.compiler.word.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
         2: .line 93
            aload 0 /* this */
            aload 2 /* wordTypes */
            putfield org.graalvm.compiler.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
         3: .line 94
            aload 0 /* this */
            aload 2 /* wordTypes */
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            putfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
         4: .line 95
            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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/compiler/word/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.word.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
         0: .line 99
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/word/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.word.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 111
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 112
            iconst_0
            ireturn
         2: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 3 /* args */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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.word.WordOperationPlugin.processWordOperation:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
         3: .line 115
            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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/word/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.word.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 120
            aconst_null
            astore 4 /* wordStamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp wordStamp
         1: .line 121
            aload 2 /* declaredType */
            instanceof jdk.vm.ci.meta.ResolvedJavaType
            ifeq 9
         2: .line 122
            aload 2 /* declaredType */
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            astore 5 /* resolved */
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType resolved
         3: .line 123
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 124
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 125
            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.word.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 126
            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 127
            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 130
      StackMap locals:
      StackMap stack:
            aload 4 /* wordStamp */
            ifnull 11
        10: .line 131
            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 133
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/graalvm/compiler/word/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.word.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 139
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 140
            aload 3 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 142
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/word/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.word.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 146
            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.word.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 147
            aload 4 /* wordStamp */
            ifnull 5
         2: .line 148
            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 149
            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 150
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.nodes.java.LoadFieldNode loadFieldNode
         5: .line 152
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/graalvm/compiler/word/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.word.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaField staticField
         0: .line 157
            aload 0 /* this */
            aload 1 /* b */
            aconst_null
            aload 2 /* staticField */
            invokevirtual org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/graalvm/compiler/word/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.word.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 162
            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 167
            aload 5 /* arrayType */
            ifnull 5
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 168
            getstatic org.graalvm.compiler.word.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 169
      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.word.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 170
            iconst_1
            ireturn
         5: .line 172
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/graalvm/compiler/word/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.word.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.ValueNode array
        start local 2 // org.graalvm.compiler.nodes.ValueNode index
         0: .line 176
            new org.graalvm.compiler.nodes.java.LoadIndexedNode
            dup
            aconst_null
            aload 1 /* array */
            aload 2 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/word/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.word.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 181
            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 182
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 183
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 185
            iload 5 /* isWordField */
            ifeq 7
            iload 6 /* isWordValue */
            ifne 7
         6: .line 186
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         7: .line 187
      StackMap locals: int
      StackMap stack:
            iload 5 /* isWordField */
            ifne 9
            iload 6 /* isWordValue */
            ifeq 9
         8: .line 188
            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.word.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 193
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/graalvm/compiler/word/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.word.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 198
            aload 0 /* this */
            aload 1 /* b */
            aconst_null
            aload 2 /* field */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/word/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.word.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 203
            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 204
            aload 6 /* arrayType */
            ifnull 7
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 205
            getstatic org.graalvm.compiler.word.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 206
      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.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 5
         4: .line 207
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         5: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 0 /* this */
            aload 2 /* array */
            aload 3 /* index */
            aload 5 /* value */
            invokevirtual org.graalvm.compiler.word.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 210
            iconst_1
            ireturn
         7: .line 212
      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.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 9
         8: .line 213
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         9: .line 215
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/graalvm/compiler/word/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.word.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 219
            new org.graalvm.compiler.nodes.java.StoreIndexedNode
            dup
            aload 1 /* array */
            aload 2 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/word/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.word.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 224
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 225
            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 226
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         3: .line 228
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 231
      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.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            invokevirtual org.graalvm.compiler.word.WordTypes.getWordKind:()Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 6
         5: .line 232
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         6: .line 234
      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 235
            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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/graalvm/compiler/word/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.word.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 240
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 241
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         2: .line 242
      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 243
            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.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
         4: .line 245
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/word/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=18, args_size=4
        start local 0 // org.graalvm.compiler.word.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 249
            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 4 /* returnKind */
        start local 4 // jdk.vm.ci.meta.JavaKind returnKind
         1: .line 250
            ldc Lorg/graalvm/word/WordFactory$FactoryOperation;
            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.word.WordFactory$FactoryOperation
            astore 5 /* factoryOperation */
        start local 5 // org.graalvm.word.WordFactory$FactoryOperation factoryOperation
         2: .line 251
            aload 5 /* factoryOperation */
            ifnull 13
         3: .line 252
            invokestatic org.graalvm.compiler.word.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$word$WordFactory$FactoryOpcode:()[I
            aload 5 /* factoryOperation */
            invokeinterface org.graalvm.word.WordFactory$FactoryOperation.opcode:()Lorg/graalvm/word/WordFactory$FactoryOpcode;
            invokevirtual org.graalvm.word.WordFactory$FactoryOpcode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 4
                    2: 7
                    3: 10
              default: 13
          }
         4: .line 254
      StackMap locals: jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 5
            aload 2 /* args */
            arraylength
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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
         6: .line 256
            return
         7: .line 259
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 8
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 260
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.word.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
         9: .line 261
            return
        10: .line 264
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 11
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 265
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.word.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
        12: .line 266
            return
        13: .line 270
      StackMap locals:
      StackMap stack:
            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 6 /* operation */
        start local 6 // org.graalvm.compiler.word.Word$Operation operation
        14: .line 271
            aload 6 /* operation */
            ifnonnull 16
        15: .line 272
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            ldc "Cannot call method on a word value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* wordMethod */
            ldc "%H.%n(%p)"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.word.WordOperationPlugin.bailout:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
            athrow
        16: .line 274
      StackMap locals: org.graalvm.compiler.word.Word$Operation
      StackMap stack:
            invokestatic org.graalvm.compiler.word.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$compiler$word$Word$Opcode:()[I
            aload 6 /* 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 - 20
                    1: 17
                    2: 24
                    3: 27
                    4: 30
                    5: 33
                    6: 36
                    7: 36
                    8: 36
                    9: 46
                   10: 52
                   11: 52
                   12: 52
                   13: 87
                   14: 52
                   15: 75
                   16: 67
                   17: 71
                   18: 79
                   19: 83
                   20: 64
              default: 96
          }
        17: .line 276
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 18
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            aaload
            astore 7 /* left */
        start local 7 // org.graalvm.compiler.nodes.ValueNode left
        19: .line 278
            aload 6 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.rightOperandIsInt:()Z
            ifeq 20
            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.word.WordOperationPlugin.toUnsigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
            goto 21
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        20: aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.word.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
        21: astore 8 /* right */
        start local 8 // org.graalvm.compiler.nodes.ValueNode right
        22: .line 280
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 6 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.node:()Ljava/lang/Class;
            aload 7 /* left */
            aload 8 /* right */
            invokestatic org.graalvm.compiler.word.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
        23: .line 281
            goto 97
        end local 8 // org.graalvm.compiler.nodes.ValueNode right
        end local 7 // org.graalvm.compiler.nodes.ValueNode left
        24: .line 284
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 25
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 285
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 6 /* 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.word.WordOperationPlugin.fromSigned:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.word.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
        26: .line 286
            goto 97
        27: .line 289
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 28
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 290
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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;
            invokevirtual org.graalvm.compiler.word.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
        29: .line 291
            goto 97
        30: .line 294
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 31
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 31
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        31: .line 295
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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;
            invokevirtual org.graalvm.compiler.word.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
        32: .line 296
            goto 97
        33: .line 299
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 34
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 34
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 300
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* 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.word.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
        35: .line 301
            goto 97
        36: .line 306
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 37
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpeq 37
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpeq 37
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 9 /* readKind */
        start local 9 // jdk.vm.ci.meta.JavaKind readKind
        38: .line 308
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.word.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 10 /* address */
        start local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        39: .line 310
            aload 2 /* args */
            arraylength
            iconst_2
            if_icmpne 42
        40: .line 311
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            astore 11 /* location */
        start local 11 // org.graalvm.word.LocationIdentity location
        41: .line 312
            goto 44
        end local 11 // org.graalvm.word.LocationIdentity location
        42: .line 313
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation top top jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 43
            aload 2 /* args */
            iconst_2
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/word/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.word.LocationIdentity
            astore 11 /* location */
        start local 11 // org.graalvm.word.LocationIdentity location
        44: .line 316
      StackMap locals: org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 1 /* b */
            aload 9 /* readKind */
            aload 10 /* address */
            aload 11 /* location */
            aload 6 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.opcode:()Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.WordOperationPlugin.readOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/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
        45: .line 317
            goto 97
        end local 11 // org.graalvm.word.LocationIdentity location
        end local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 9 // jdk.vm.ci.meta.JavaKind readKind
        46: .line 320
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 47
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpeq 47
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        47: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 9 /* readKind */
        start local 9 // jdk.vm.ci.meta.JavaKind readKind
        48: .line 322
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.word.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 10 /* address */
        start local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        49: .line 323
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 11 /* barrierType */
        start local 11 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        50: .line 324
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 1 /* b */
            aload 9 /* readKind */
            aload 10 /* address */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            aload 11 /* barrierType */
            iconst_1
            invokestatic org.graalvm.compiler.word.WordOperationPlugin.readOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/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
        51: .line 325
            goto 97
        end local 11 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        end local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 9 // jdk.vm.ci.meta.JavaKind readKind
        52: .line 331
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 53
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpeq 53
            aload 2 /* args */
            arraylength
            iconst_4
            if_icmpeq 53
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        53: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.word.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 54
            iconst_2
            goto 55
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation
      StackMap stack: org.graalvm.compiler.word.WordTypes jdk.vm.ci.meta.Signature
        54: iconst_1
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation
      StackMap stack: org.graalvm.compiler.word.WordTypes jdk.vm.ci.meta.Signature int
        55: 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 9 /* writeKind */
        start local 9 // jdk.vm.ci.meta.JavaKind writeKind
        56: .line 333
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.word.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 10 /* address */
        start local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        57: .line 335
            aload 2 /* args */
            arraylength
            iconst_3
            if_icmpne 60
        58: .line 336
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            astore 11 /* location */
        start local 11 // org.graalvm.word.LocationIdentity location
        59: .line 337
            goto 62
        end local 11 // org.graalvm.word.LocationIdentity location
        60: .line 338
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation top top jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.memory.address.AddressNode
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 61
            aload 2 /* args */
            iconst_3
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 61
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        61: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/word/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.word.LocationIdentity
            astore 11 /* location */
        start local 11 // org.graalvm.word.LocationIdentity location
        62: .line 341
      StackMap locals: org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 9 /* writeKind */
            aload 10 /* address */
            aload 11 /* location */
            aload 2 /* args */
            iconst_2
            aaload
            aload 6 /* operation */
            invokeinterface org.graalvm.compiler.word.Word$Operation.opcode:()Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.WordOperationPlugin.writeOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/word/Word$Opcode;)V
        63: .line 342
            goto 97
        end local 11 // org.graalvm.word.LocationIdentity location
        end local 10 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 9 // jdk.vm.ci.meta.JavaKind writeKind
        64: .line 346
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation
      StackMap stack:
            getstatic org.graalvm.compiler.word.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 347
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* 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.word.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
        66: .line 348
            goto 97
        67: .line 351
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 68
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 68
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        68: .line 352
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.WordCastNode.objectToTrackedPointer:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.WordCastNode
            astore 9 /* objectToTracked */
        start local 9 // org.graalvm.compiler.word.WordCastNode objectToTracked
        69: .line 353
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 9 /* objectToTracked */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        70: .line 354
            goto 97
        end local 9 // org.graalvm.compiler.word.WordCastNode objectToTracked
        71: .line 357
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 72
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 72
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        72: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.WordCastNode.objectToUntrackedPointer:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.WordCastNode
            astore 10 /* objectToUntracked */
        start local 10 // org.graalvm.compiler.word.WordCastNode objectToUntracked
        73: .line 359
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 10 /* objectToUntracked */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        74: .line 360
            goto 97
        end local 10 // org.graalvm.compiler.word.WordCastNode objectToUntracked
        75: .line 363
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 76
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 76
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        76: .line 364
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.WordCastNode.addressToWord:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.WordCastNode
            astore 11 /* addressToWord */
        start local 11 // org.graalvm.compiler.word.WordCastNode addressToWord
        77: .line 365
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 11 /* addressToWord */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        78: .line 366
            goto 97
        end local 11 // org.graalvm.compiler.word.WordCastNode addressToWord
        79: .line 369
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 80
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 80
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        80: .line 370
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.WordCastNode.wordToObject:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.WordCastNode
            astore 12 /* wordToObject */
        start local 12 // org.graalvm.compiler.word.WordCastNode wordToObject
        81: .line 371
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 12 /* wordToObject */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        82: .line 372
            goto 97
        end local 12 // org.graalvm.compiler.word.WordCastNode wordToObject
        83: .line 375
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 84
            aload 2 /* args */
            arraylength
            iconst_1
            if_icmpeq 84
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        84: .line 376
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.word.WordCastNode.wordToObjectNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/word/WordCastNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.word.WordCastNode
            astore 13 /* wordToObjectNonNull */
        start local 13 // org.graalvm.compiler.word.WordCastNode wordToObjectNonNull
        85: .line 377
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 13 /* wordToObjectNonNull */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
        86: .line 378
            goto 97
        end local 13 // org.graalvm.compiler.word.WordCastNode wordToObjectNonNull
        87: .line 381
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 88
            aload 2 /* args */
            arraylength
            iconst_5
            if_icmpeq 88
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        88: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            invokevirtual org.graalvm.compiler.word.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 14 /* address */
        start local 14 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        89: .line 383
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            iconst_1
            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 15 /* valueKind */
        start local 15 // jdk.vm.ci.meta.JavaKind valueKind
        90: .line 384
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 91
            aload 15 /* valueKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            iconst_2
            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;
            invokevirtual jdk.vm.ci.meta.JavaKind.equals:(Ljava/lang/Object;)Z
            ifne 91
            new java.lang.AssertionError
            dup
            aload 3 /* wordMethod */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        91: .line 385
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation top top top top top top top org.graalvm.compiler.nodes.memory.address.AddressNode jdk.vm.ci.meta.JavaKind
      StackMap stack:
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 92
            aload 2 /* args */
            iconst_4
            aaload
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 92
            new java.lang.AssertionError
            dup
            aload 2 /* args */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        92: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            ldc Lorg/graalvm/word/LocationIdentity;
            aload 2 /* args */
            iconst_4
            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.word.LocationIdentity
            astore 16 /* location */
        start local 16 // org.graalvm.word.LocationIdentity location
        93: .line 387
            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;
            astore 17 /* returnType */
        start local 17 // jdk.vm.ci.meta.JavaType returnType
        94: .line 388
            aload 1 /* b */
            aload 4 /* returnKind */
            aload 0 /* this */
            aload 15 /* valueKind */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            aload 17 /* returnType */
            invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
            aload 14 /* address */
            aload 16 /* location */
            aload 2 /* args */
            iconst_2
            aaload
            aload 2 /* args */
            iconst_3
            aaload
            invokevirtual org.graalvm.compiler.word.WordOperationPlugin.casOp:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        95: .line 389
            goto 97
        end local 17 // jdk.vm.ci.meta.JavaType returnType
        end local 16 // org.graalvm.word.LocationIdentity location
        end local 15 // jdk.vm.ci.meta.JavaKind valueKind
        end local 14 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        96: .line 391
      StackMap locals: org.graalvm.compiler.word.WordOperationPlugin org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaKind org.graalvm.word.WordFactory$FactoryOperation org.graalvm.compiler.word.Word$Operation
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Unknown opcode: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* 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
        97: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.word.Word$Operation operation
        end local 5 // org.graalvm.word.WordFactory$FactoryOperation factoryOperation
        end local 4 // jdk.vm.ci.meta.JavaKind returnKind
        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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   98     0                 this  Lorg/graalvm/compiler/word/WordOperationPlugin;
            0   98     1                    b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   98     2                 args  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   98     3           wordMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            1   98     4           returnKind  Ljdk/vm/ci/meta/JavaKind;
            2   98     5     factoryOperation  Lorg/graalvm/word/WordFactory$FactoryOperation;
           14   98     6            operation  Lorg/graalvm/compiler/word/Word$Operation;
           19   24     7                 left  Lorg/graalvm/compiler/nodes/ValueNode;
           22   24     8                right  Lorg/graalvm/compiler/nodes/ValueNode;
           38   46     9             readKind  Ljdk/vm/ci/meta/JavaKind;
           39   46    10              address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           41   42    11             location  Lorg/graalvm/word/LocationIdentity;
           44   46    11             location  Lorg/graalvm/word/LocationIdentity;
           48   52     9             readKind  Ljdk/vm/ci/meta/JavaKind;
           49   52    10              address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           50   52    11          barrierType  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
           56   64     9            writeKind  Ljdk/vm/ci/meta/JavaKind;
           57   64    10              address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           59   60    11             location  Lorg/graalvm/word/LocationIdentity;
           62   64    11             location  Lorg/graalvm/word/LocationIdentity;
           69   71     9      objectToTracked  Lorg/graalvm/compiler/word/WordCastNode;
           73   75    10    objectToUntracked  Lorg/graalvm/compiler/word/WordCastNode;
           77   79    11        addressToWord  Lorg/graalvm/compiler/word/WordCastNode;
           81   83    12         wordToObject  Lorg/graalvm/compiler/word/WordCastNode;
           85   87    13  wordToObjectNonNull  Lorg/graalvm/compiler/word/WordCastNode;
           89   96    14              address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
           90   96    15            valueKind  Ljdk/vm/ci/meta/JavaKind;
           93   96    16             location  Lorg/graalvm/word/LocationIdentity;
           94   96    17           returnType  Ljdk/vm/ci/meta/JavaType;
    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 402
            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 403
            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 404
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
         4: .line 405
            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.word.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 410
            getstatic org.graalvm.compiler.word.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.word.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.word.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 413
      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 415
            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 416
            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 419
            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 420
      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 421
            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 422
            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 423
            goto 16
        end local 8 // org.graalvm.compiler.nodes.calc.CompareNode comparison
        15: .line 424
      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 427
      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 428
            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 430
            aload 2 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.canonicalNegate:()Z
            ifeq 22
        19: .line 431
            aload 9 /* trueValue */
            astore 11 /* temp */
        start local 11 // org.graalvm.compiler.nodes.ConstantNode temp
        20: .line 432
            aload 10 /* falseValue */
            astore 9 /* trueValue */
        21: .line 433
            aload 11 /* temp */
            astore 10 /* falseValue */
        end local 11 // org.graalvm.compiler.nodes.ConstantNode temp
        22: .line 435
      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 436
            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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/graalvm/compiler/word/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.word.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/word/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.word.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.word.LocationIdentity location
        start local 5 // org.graalvm.compiler.word.Word$Opcode op
         0: .line 440
            getstatic org.graalvm.compiler.word.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 441
      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 442
            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 444
            aload 1 /* b */
            aload 2 /* readKind */
            aload 3 /* address */
            aload 4 /* location */
            aload 6 /* barrier */
            iload 7 /* compressible */
            invokestatic org.graalvm.compiler.word.WordOperationPlugin.readOp:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/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.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/graalvm/compiler/word/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/word/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.word.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/word/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.word.LocationIdentity location
        start local 4 // org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType barrierType
        start local 5 // boolean compressible
         0: .line 453
            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/word/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 454
            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.word.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/word/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.word.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/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/word/Word$Opcode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // org.graalvm.compiler.word.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.word.LocationIdentity location
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
        start local 6 // org.graalvm.compiler.word.Word$Opcode op
         0: .line 458
            getstatic org.graalvm.compiler.word.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 459
      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 460
            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 461
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 8
            aload 6 /* op */
            getstatic org.graalvm.compiler.word.Word$Opcode.INITIALIZE:Lorg/graalvm/compiler/word/Word$Opcode;
            if_acmpne 8
            aload 4 /* location */
            invokevirtual org.graalvm.word.LocationIdentity.isInit:()Z
            ifne 8
            new java.lang.AssertionError
            dup
            ldc "must use init location for initializing"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 462
      StackMap locals: int
      StackMap stack:
            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 */
            invokespecial org.graalvm.compiler.nodes.extended.JavaWriteNode.<init>:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
         9: .line 463
            return
        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.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/graalvm/compiler/word/WordOperationPlugin;
            0   10     1             b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0   10     2     writeKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     3       address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0   10     4      location  Lorg/graalvm/word/LocationIdentity;
            0   10     5         value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     6            op  Lorg/graalvm/compiler/word/Word$Opcode;
            4   10     7       barrier  Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            7   10     8  compressible  Z
    MethodParameters:
           Name  Flags
      b          
      writeKind  
      address    
      location   
      value      
      op         

  protected org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode casOp(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.memory.address.AddressNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.graalvm.compiler.word.WordOperationPlugin this
        start local 1 // jdk.vm.ci.meta.JavaKind writeKind
        start local 2 // jdk.vm.ci.meta.JavaKind returnKind
        start local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        start local 4 // org.graalvm.word.LocationIdentity location
        start local 5 // org.graalvm.compiler.nodes.ValueNode expectedValue
        start local 6 // org.graalvm.compiler.nodes.ValueNode newValue
         0: .line 466
            aload 2 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* isLogic */
        start local 7 // boolean isLogic
         3: .line 467
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$assertionsDisabled:Z
            ifne 4
            iload 7 /* isLogic */
            ifne 4
            aload 1 /* writeKind */
            aload 2 /* returnKind */
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* writeKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " != "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* returnKind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 469
      StackMap locals: int
      StackMap stack:
            iload 7 /* isLogic */
            ifeq 7
         5: .line 470
            new org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode
            dup
            aload 3 /* address */
            aload 5 /* expectedValue */
            aload 6 /* newValue */
            aload 4 /* location */
            invokespecial org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/word/LocationIdentity;)V
            astore 8 /* cas */
        start local 8 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cas
         6: .line 471
            goto 8
        end local 8 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cas
         7: .line 472
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode
            dup
            aload 3 /* address */
            aload 5 /* expectedValue */
            aload 6 /* newValue */
            aload 4 /* location */
            invokespecial org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/word/LocationIdentity;)V
            astore 8 /* cas */
        start local 8 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cas
         8: .line 474
      StackMap locals: org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode
      StackMap stack:
            aload 8 /* cas */
            areturn
        end local 8 // org.graalvm.compiler.nodes.java.AbstractCompareAndSwapNode cas
        end local 7 // boolean isLogic
        end local 6 // org.graalvm.compiler.nodes.ValueNode newValue
        end local 5 // org.graalvm.compiler.nodes.ValueNode expectedValue
        end local 4 // org.graalvm.word.LocationIdentity location
        end local 3 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 2 // jdk.vm.ci.meta.JavaKind returnKind
        end local 1 // jdk.vm.ci.meta.JavaKind writeKind
        end local 0 // org.graalvm.compiler.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/graalvm/compiler/word/WordOperationPlugin;
            0    9     1      writeKind  Ljdk/vm/ci/meta/JavaKind;
            0    9     2     returnKind  Ljdk/vm/ci/meta/JavaKind;
            0    9     3        address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            0    9     4       location  Lorg/graalvm/word/LocationIdentity;
            0    9     5  expectedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            0    9     6       newValue  Lorg/graalvm/compiler/nodes/ValueNode;
            3    9     7        isLogic  Z
            6    7     8            cas  Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
            8    9     8            cas  Lorg/graalvm/compiler/nodes/java/AbstractCompareAndSwapNode;
    MethodParameters:
               Name  Flags
      writeKind      
      returnKind     
      address        
      location       
      expectedValue  
      newValue       

  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.word.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 478
            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.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/word/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.word.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 482
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            iconst_1
            invokevirtual org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/word/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.word.WordOperationPlugin this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 486
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* value */
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordKind:Ljdk/vm/ci/meta/JavaKind;
            iconst_0
            invokevirtual org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/word/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.word.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 490
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* value */
            aload 3 /* toKind */
            iconst_1
            invokevirtual org.graalvm.compiler.word.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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/word/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.word.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 494
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 3 /* toKind */
            if_acmpne 2
         1: .line 495
            aload 2 /* value */
            areturn
         2: .line 498
      StackMap locals:
      StackMap stack:
            aload 3 /* toKind */
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 5
         3: .line 499
            getstatic org.graalvm.compiler.word.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 500
      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 502
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.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 503
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.word.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 504
      StackMap locals:
      StackMap stack:
            iload 4 /* unsigned */
            ifeq 9
         8: .line 505
            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 507
      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.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/graalvm/compiler/word/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.word.WordOperationPlugin this
         0: .line 513
            aload 0 /* this */
            getfield org.graalvm.compiler.word.WordOperationPlugin.wordTypes:Lorg/graalvm/compiler/word/WordTypes;
            areturn
        end local 0 // org.graalvm.compiler.word.WordOperationPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/word/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 517
            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$word$WordFactory$FactoryOpcode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 86
            getstatic org.graalvm.compiler.word.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$word$WordFactory$FactoryOpcode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.word.WordFactory$FactoryOpcode.values:()[Lorg/graalvm/word/WordFactory$FactoryOpcode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.word.WordFactory$FactoryOpcode.FROM_SIGNED:Lorg/graalvm/word/WordFactory$FactoryOpcode;
            invokevirtual org.graalvm.word.WordFactory$FactoryOpcode.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.word.WordFactory$FactoryOpcode.FROM_UNSIGNED:Lorg/graalvm/word/WordFactory$FactoryOpcode;
            invokevirtual org.graalvm.word.WordFactory$FactoryOpcode.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.word.WordFactory$FactoryOpcode.ZERO:Lorg/graalvm/word/WordFactory$FactoryOpcode;
            invokevirtual org.graalvm.word.WordFactory$FactoryOpcode.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.graalvm.compiler.word.WordOperationPlugin.$SWITCH_TABLE$org$graalvm$word$WordFactory$FactoryOpcode:[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

  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 86
            getstatic org.graalvm.compiler.word.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.CAS_POINTER:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 13
            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.COMPARISON:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_2
            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_ADDRESS:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 15
            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.INITIALIZE:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 14
            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.IS_NON_NULL:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_4
            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.IS_NULL:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_3
            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.NODE_CLASS:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_1
            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.NOT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            iconst_5
            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_TRACKED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 16
            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.OBJECT_TO_UNTRACKED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 17
            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_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 8
            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_HEAP:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 9
            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_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 7
            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.READ_POINTER:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 6
            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_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 18
            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.TO_OBJECT_NON_NULL:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 19
            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.TO_RAW_VALUE:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 20
            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_BARRIERED:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 12
            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.WRITE_OBJECT:Lorg/graalvm/compiler/word/Word$Opcode;
            invokevirtual org.graalvm.compiler.word.Word$Opcode.ordinal:()I
            bipush 11
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: 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 10
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            dup
            putstatic org.graalvm.compiler.word.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
          59    60      61  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
  protected final FactoryOpcode = org.graalvm.word.WordFactory$FactoryOpcode of org.graalvm.word.WordFactory
  protected abstract FactoryOperation = org.graalvm.word.WordFactory$FactoryOperation of org.graalvm.word.WordFactory