public class org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets implements org.graalvm.compiler.replacements.Snippets
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets
  super_class: java.lang.Object
{
  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.UnsafeLoadSnippets this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets;

  public static java.lang.Object lowerUnsafeLoad(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Object object
        start local 1 // long offset
         0: .line 46
            aload 0 /* object */
            invokestatic org.graalvm.compiler.nodes.extended.FixedValueAnchorNode.getObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* fixedObject */
        start local 3 // java.lang.Object fixedObject
         1: .line 47
            aload 0 /* object */
            instanceof java.lang.ref.Reference
            ifeq 3
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.referentOffset:()J
            lload 1 /* offset */
            lcmp
            ifne 3
         2: .line 48
            aload 3 /* fixedObject */
            invokestatic org.graalvm.compiler.word.Word.objectToTrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Pointer;
            lload 1 /* offset */
            l2i
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokeinterface org.graalvm.compiler.word.Pointer.readObject:(ILorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)Ljava/lang/Object;
            areturn
         3: .line 50
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* fixedObject */
            invokestatic org.graalvm.compiler.word.Word.objectToTrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Pointer;
            lload 1 /* offset */
            l2i
            getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
            invokeinterface org.graalvm.compiler.word.Pointer.readObject:(ILorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object fixedObject
        end local 1 // long offset
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       object  Ljava/lang/Object;
            0    4     1       offset  J
            1    4     3  fixedObject  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    MethodParameters:
        Name  Flags
      object  
      offset  
}
SourceFile: "UnsafeLoadSnippets.java"
NestMembers:
  org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates
InnerClasses:
  public Templates = org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets$Templates of org.graalvm.compiler.hotspot.replacements.UnsafeLoadSnippets
  public final BarrierType = org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess