public class org.graalvm.compiler.hotspot.replacements.SHA2Substitutions
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.replacements.SHA2Substitutions
  super_class: java.lang.Object
{
  public static final java.lang.String implCompressName;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            getstatic org.graalvm.compiler.serviceprovider.GraalServices.Java8OrEarlier:Z
            ifeq 1
            ldc "implCompress"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "implCompress0"
      StackMap locals:
      StackMap stack: java.lang.String
         2: putstatic org.graalvm.compiler.hotspot.replacements.SHA2Substitutions.implCompressName:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.replacements.SHA2Substitutions this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.replacements.SHA2Substitutions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/SHA2Substitutions;

  static void implCompress0(java.lang.Object, byte[], int);
    descriptor: (Ljava/lang/Object;[BI)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.lang.Object receiver
        start local 1 // byte[] buf
        start local 2 // int ofs
         0: .line 53
            aload 0 /* receiver */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_INTRINSIC_CONTEXT:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.methodHolderClass:(Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokestatic org.graalvm.compiler.nodes.PiNode.piCastNonNull:(Ljava/lang/Object;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Object;
            astore 3 /* realReceiver */
        start local 3 // java.lang.Object realReceiver
         1: .line 54
            aload 3 /* realReceiver */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_INTRINSIC_CONTEXT:Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
            invokestatic org.graalvm.compiler.hotspot.replacements.SHA2Substitutions.stateOffset:(Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)J
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokestatic org.graalvm.compiler.nodes.extended.RawLoadNode.load:(Ljava/lang/Object;JLjdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)Ljava/lang/Object;
            astore 4 /* state */
        start local 4 // java.lang.Object state
         2: .line 55
            aload 1 /* buf */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_METAACCESS:Ljdk/vm/ci/meta/MetaAccessProvider;
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.replacements.ReplacementsUtil.getArrayBaseOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/JavaKind;)I
            iload 2 /* ofs */
            iadd
            i2l
            invokestatic org.graalvm.compiler.nodes.ComputeObjectAddressNode.get:(Ljava/lang/Object;J)J
            invokestatic jdk.internal.vm.compiler.word.WordFactory.unsigned:(J)Ljdk/internal/vm/compiler/word/UnsignedWord;
            checkcast org.graalvm.compiler.word.Word
            astore 5 /* bufAddr */
        start local 5 // org.graalvm.compiler.word.Word bufAddr
         3: .line 56
            aload 4 /* state */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_METAACCESS:Ljdk/vm/ci/meta/MetaAccessProvider;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.replacements.ReplacementsUtil.getArrayBaseOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/JavaKind;)I
            i2l
            invokestatic org.graalvm.compiler.nodes.ComputeObjectAddressNode.get:(Ljava/lang/Object;J)J
            invokestatic jdk.internal.vm.compiler.word.WordFactory.unsigned:(J)Ljdk/internal/vm/compiler/word/UnsignedWord;
            checkcast org.graalvm.compiler.word.Word
            astore 6 /* stateAddr */
        start local 6 // org.graalvm.compiler.word.Word stateAddr
         4: .line 57
            aload 5 /* bufAddr */
            aload 6 /* stateAddr */
            invokestatic org.graalvm.compiler.hotspot.HotSpotBackend.sha2ImplCompressStub:(Lorg/graalvm/compiler/word/Word;Ljava/lang/Object;)V
         5: .line 58
            return
        end local 6 // org.graalvm.compiler.word.Word stateAddr
        end local 5 // org.graalvm.compiler.word.Word bufAddr
        end local 4 // java.lang.Object state
        end local 3 // java.lang.Object realReceiver
        end local 2 // int ofs
        end local 1 // byte[] buf
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0      receiver  Ljava/lang/Object;
            0    6     1           buf  [B
            0    6     2           ofs  I
            1    6     3  realReceiver  Ljava/lang/Object;
            2    6     4         state  Ljava/lang/Object;
            3    6     5       bufAddr  Lorg/graalvm/compiler/word/Word;
            4    6     6     stateAddr  Lorg/graalvm/compiler/word/Word;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.MethodSubstitution(isStatic = false)
    MethodParameters:
          Name  Flags
      receiver  
      buf       
      ofs       

  static long stateOffset(org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext context
         0: .line 62
            aload 0 /* context */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.methodHolderClass:(Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ldc "state"
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
            i2l
            lreturn
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "SHA2Substitutions.java"
InnerClasses:
  public abstract InjectedParameter = org.graalvm.compiler.api.replacements.Fold$InjectedParameter of org.graalvm.compiler.api.replacements.Fold
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.ClassSubstitution(className = {"sun.security.provider.SHA2"}, optional = true)