public class org.graalvm.compiler.hotspot.replacements.MonitorSnippets 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.MonitorSnippets
  super_class: java.lang.Object
{
  private static final boolean PROFILE_CONTEXT;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final boolean ENABLE_BREAKPOINT;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final org.graalvm.compiler.core.common.LocationIdentity MONITOR_COUNTER_LOCATION;
    descriptor: Lorg/graalvm/compiler/core/common/LocationIdentity;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean VERIFY_BALANCED_MONITORS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor MONITORENTER;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor MONITOREXIT;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter$Group lockCounters;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockBiasExisting;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockBiasAcquired;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockBiasTransfer;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockCas;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockCasRecursive;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockStubEpochExpired;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockStubRevoke;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter lockStubFailedCas;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter unbiasable;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter revokeBias;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter$Group unlockCounters;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter unlockBias;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter unlockCas;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter unlockCasRecursive;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.replacements.SnippetCounter unlockStub;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetCounter;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 494
            ldc "MonitorCounter"
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.mutable:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/NamedLocationIdentity;
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
         1: .line 499
            getstatic org.graalvm.compiler.hotspot.replacements.HotspotSnippetsOptions.VerifyBalancedMonitors:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.VERIFY_BALANCED_MONITORS:Z
         2: .line 662
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "monitorenter"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITORENTER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         3: .line 663
            new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
            dup
            ldc "monitorexit"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word;
            aastore
            invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOREXIT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
         4: .line 675
            getstatic org.graalvm.compiler.core.common.GraalOptions.SnippetCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 5
            new org.graalvm.compiler.replacements.SnippetCounter$Group
            dup
            ldc "MonitorEnters"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter$Group.<init>:(Ljava/lang/String;)V
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.replacements.SnippetCounter$Group
         6: putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
         7: .line 676
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{bias:existing}"
            ldc "bias-locked previously biased object"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockBiasExisting:Lorg/graalvm/compiler/replacements/SnippetCounter;
         8: .line 677
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{bias:acquired}"
            ldc "bias-locked newly biased object"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockBiasAcquired:Lorg/graalvm/compiler/replacements/SnippetCounter;
         9: .line 678
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{bias:transfer}"
            ldc "bias-locked, biased transferred"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockBiasTransfer:Lorg/graalvm/compiler/replacements/SnippetCounter;
        10: .line 679
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{cas}"
            ldc "cas-locked an object"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCas:Lorg/graalvm/compiler/replacements/SnippetCounter;
        11: .line 680
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{cas:recursive}"
            ldc "cas-locked, recursive"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCasRecursive:Lorg/graalvm/compiler/replacements/SnippetCounter;
        12: .line 681
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{stub:epoch-expired}"
            ldc "stub-locked, epoch expired"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockStubEpochExpired:Lorg/graalvm/compiler/replacements/SnippetCounter;
        13: .line 682
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{stub:revoke}"
            ldc "stub-locked, biased revoked"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockStubRevoke:Lorg/graalvm/compiler/replacements/SnippetCounter;
        14: .line 683
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "lock{stub:failed-cas}"
            ldc "stub-locked, failed cas"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockStubFailedCas:Lorg/graalvm/compiler/replacements/SnippetCounter;
        15: .line 685
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "unbiasable"
            ldc "object with unbiasable type"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unbiasable:Lorg/graalvm/compiler/replacements/SnippetCounter;
        16: .line 686
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "revokeBias"
            ldc "object had bias revoked"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.revokeBias:Lorg/graalvm/compiler/replacements/SnippetCounter;
        17: .line 692
            getstatic org.graalvm.compiler.core.common.GraalOptions.SnippetCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 18
            new org.graalvm.compiler.replacements.SnippetCounter$Group
            dup
            ldc "MonitorExits"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter$Group.<init>:(Ljava/lang/String;)V
            goto 19
      StackMap locals:
      StackMap stack:
        18: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.replacements.SnippetCounter$Group
        19: putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
        20: .line 693
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "unlock{bias}"
            ldc "bias-unlocked an object"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockBias:Lorg/graalvm/compiler/replacements/SnippetCounter;
        21: .line 694
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "unlock{cas}"
            ldc "cas-unlocked an object"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCas:Lorg/graalvm/compiler/replacements/SnippetCounter;
        22: .line 695
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "unlock{cas:recursive}"
            ldc "cas-unlocked an object, recursive"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCasRecursive:Lorg/graalvm/compiler/replacements/SnippetCounter;
        23: .line 696
            new org.graalvm.compiler.replacements.SnippetCounter
            dup
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCounters:Lorg/graalvm/compiler/replacements/SnippetCounter$Group;
            ldc "unlock{stub}"
            ldc "stub-unlocked an object"
            invokespecial org.graalvm.compiler.replacements.SnippetCounter.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group;Ljava/lang/String;Ljava/lang/String;)V
            putstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockStub:Lorg/graalvm/compiler/replacements/SnippetCounter;
            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.MonitorSnippets this
         0: .line 199
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.replacements.MonitorSnippets this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/MonitorSnippets;

  static boolean doProfile();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 205
            getstatic org.graalvm.compiler.hotspot.replacements.HotspotSnippetsOptions.ProfileMonitors:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()

  public static void monitorenter(java.lang.Object, org.graalvm.compiler.hotspot.word.KlassPointer, int, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, boolean);
    descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/hotspot/word/KlassPointer;ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=6
        start local 0 // java.lang.Object object
        start local 1 // org.graalvm.compiler.hotspot.word.KlassPointer hub
        start local 2 // int lockDepth
        start local 3 // jdk.vm.ci.code.Register threadRegister
        start local 4 // jdk.vm.ci.code.Register stackPointerRegister
        start local 5 // boolean trace
         0: .line 211
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.verifyOop:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 214
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadWordFromObject:(Ljava/lang/Object;I)Lorg/graalvm/compiler/word/Word;
            astore 6 /* mark */
        start local 6 // org.graalvm.compiler.word.Word mark
         2: .line 216
            iload 2 /* lockDepth */
            invokestatic org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode.beginLockScope:(I)Lorg/graalvm/compiler/word/Word;
            astore 7 /* lock */
        start local 7 // org.graalvm.compiler.word.Word lock
         3: .line 218
            iload 5 /* trace */
            ldc "           object: 0x%016lx\n"
            aload 0 /* object */
            invokestatic org.graalvm.compiler.word.Word.objectToTrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Pointer;
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
         4: .line 219
            iload 5 /* trace */
            ldc "             lock: 0x%016lx\n"
            aload 7 /* lock */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
         5: .line 220
            iload 5 /* trace */
            ldc "             mark: 0x%016lx\n"
            aload 6 /* mark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
         6: .line 222
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.incCounter:()V
         7: .line 224
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.useBiasedLocking:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
            ifeq 54
         8: .line 229
            aload 6 /* mark */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.biasedLockMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokevirtual org.graalvm.compiler.word.Word.and:(I)Lorg/graalvm/compiler/word/Word;
            astore 8 /* biasableLockBits */
        start local 8 // org.graalvm.compiler.word.Word biasableLockBits
         9: .line 233
            aload 1 /* hub */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.prototypeMarkWordOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.PROTOTYPE_MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.readWord:(ILorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 9 /* prototypeMarkWord */
        start local 9 // org.graalvm.compiler.word.Word prototypeMarkWord
        10: .line 234
            aload 3 /* threadRegister */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
            astore 10 /* thread */
        start local 10 // org.graalvm.compiler.word.Word thread
        11: .line 235
            aload 9 /* prototypeMarkWord */
            aload 10 /* thread */
            invokevirtual org.graalvm.compiler.word.Word.or:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
            aload 6 /* mark */
            invokevirtual org.graalvm.compiler.word.Word.xor:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.ageMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            iconst_m1
            ixor
            invokevirtual org.graalvm.compiler.word.Word.and:(I)Lorg/graalvm/compiler/word/Word;
            astore 11 /* tmp */
        start local 11 // org.graalvm.compiler.word.Word tmp
        12: .line 236
            iload 5 /* trace */
            ldc "prototypeMarkWord: 0x%016lx\n"
            aload 9 /* prototypeMarkWord */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        13: .line 237
            iload 5 /* trace */
            ldc "           thread: 0x%016lx\n"
            aload 10 /* thread */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        14: .line 238
            iload 5 /* trace */
            ldc "              tmp: 0x%016lx\n"
            aload 11 /* tmp */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        15: .line 239
            ldc 0.4
            aload 11 /* tmp */
            iconst_0
            invokevirtual org.graalvm.compiler.word.Word.equal:(I)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 20
        16: .line 241
            iload 5 /* trace */
            ldc "+lock{bias:existing}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        17: .line 242
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockBiasExisting:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        18: .line 243
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.nodes.FastAcquireBiasedLockNode.mark:(Ljava/lang/Object;)V
        19: .line 244
            return
        20: .line 248
      StackMap locals: java.lang.Object org.graalvm.compiler.hotspot.word.KlassPointer int jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            ldc 0.99
            aload 8 /* biasableLockBits */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.biasedLockPattern:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokestatic org.graalvm.compiler.word.Word.unsigned:(I)Lorg/graalvm/compiler/word/Word;
            invokevirtual org.graalvm.compiler.word.Word.notEqual:(Lorg/graalvm/compiler/word/Word;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 23
        21: .line 250
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unbiasable:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        22: .line 251
            goto 54
        23: .line 261
      StackMap locals:
      StackMap stack:
            ldc 0.9
            aload 11 /* tmp */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.biasedLockMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokevirtual org.graalvm.compiler.word.Word.and:(I)Lorg/graalvm/compiler/word/Word;
            iconst_0
            invokevirtual org.graalvm.compiler.word.Word.equal:(I)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 52
        24: .line 271
            ldc 0.9
            aload 11 /* tmp */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.epochMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokevirtual org.graalvm.compiler.word.Word.and:(I)Lorg/graalvm/compiler/word/Word;
            iconst_0
            invokevirtual org.graalvm.compiler.word.Word.equal:(I)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 39
        25: .line 278
            aload 6 /* mark */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.biasedLockMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.ageMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            ior
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.epochMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            ior
            invokevirtual org.graalvm.compiler.word.Word.and:(I)Lorg/graalvm/compiler/word/Word;
            astore 12 /* unbiasedMark */
        start local 12 // org.graalvm.compiler.word.Word unbiasedMark
        26: .line 279
            aload 12 /* unbiasedMark */
            aload 10 /* thread */
            invokevirtual org.graalvm.compiler.word.Word.or:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
            astore 13 /* biasedMark */
        start local 13 // org.graalvm.compiler.word.Word biasedMark
        27: .line 280
            iload 5 /* trace */
            ldc "     unbiasedMark: 0x%016lx\n"
            aload 12 /* unbiasedMark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        28: .line 281
            iload 5 /* trace */
            ldc "       biasedMark: 0x%016lx\n"
            aload 13 /* biasedMark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        29: .line 282
            ldc 0.999
        30: .line 283
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            i2l
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.address:(Ljava/lang/Object;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;
            aload 12 /* unbiasedMark */
            aload 13 /* biasedMark */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.hotspot.nodes.DirectCompareAndSwapNode.compareAndSwap:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            aload 12 /* unbiasedMark */
            invokevirtual org.graalvm.compiler.word.Word.equal:(Lorg/graalvm/compiler/word/Word;)Z
        31: .line 282
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
        32: .line 283
            ifeq 36
        33: .line 285
            iload 5 /* trace */
            ldc "+lock{bias:acquired}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        34: .line 286
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockBiasAcquired:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        35: .line 287
            return
        36: .line 292
      StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            iload 5 /* trace */
            ldc "+lock{stub:revoke}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        37: .line 293
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockStubRevoke:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        end local 13 // org.graalvm.compiler.word.Word biasedMark
        end local 12 // org.graalvm.compiler.word.Word unbiasedMark
        38: .line 294
            goto 50
        39: .line 301
      StackMap locals:
      StackMap stack:
            aload 9 /* prototypeMarkWord */
            aload 10 /* thread */
            invokevirtual org.graalvm.compiler.word.Word.or:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
            astore 12 /* biasedMark */
        start local 12 // org.graalvm.compiler.word.Word biasedMark
        40: .line 302
            iload 5 /* trace */
            ldc "       biasedMark: 0x%016lx\n"
            aload 12 /* biasedMark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        41: .line 303
            ldc 0.999
        42: .line 304
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            i2l
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.address:(Ljava/lang/Object;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;
            aload 6 /* mark */
            aload 12 /* biasedMark */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.hotspot.nodes.DirectCompareAndSwapNode.compareAndSwap:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            aload 6 /* mark */
            invokevirtual org.graalvm.compiler.word.Word.equal:(Lorg/graalvm/compiler/word/Word;)Z
        43: .line 303
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
        44: .line 304
            ifeq 48
        45: .line 306
            iload 5 /* trace */
            ldc "+lock{bias:transfer}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        46: .line 307
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockBiasTransfer:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        47: .line 308
            return
        48: .line 313
      StackMap locals: org.graalvm.compiler.word.Word
      StackMap stack:
            iload 5 /* trace */
            ldc "+lock{stub:epoch-expired}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        49: .line 314
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockStubEpochExpired:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        end local 12 // org.graalvm.compiler.word.Word biasedMark
        50: .line 316
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITORENTER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* object */
            aload 7 /* lock */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.monitorenterStubC:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
        51: .line 317
            return
        52: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            i2l
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.address:(Ljava/lang/Object;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;
            aload 6 /* mark */
            aload 9 /* prototypeMarkWord */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.hotspot.nodes.DirectCompareAndSwapNode.compareAndSwap:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 12 /* result */
        start local 12 // org.graalvm.compiler.word.Word result
        53: .line 336
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.revokeBias:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        end local 12 // org.graalvm.compiler.word.Word result
        end local 11 // org.graalvm.compiler.word.Word tmp
        end local 10 // org.graalvm.compiler.word.Word thread
        end local 9 // org.graalvm.compiler.word.Word prototypeMarkWord
        end local 8 // org.graalvm.compiler.word.Word biasableLockBits
        54: .line 342
      StackMap locals: java.lang.Object org.graalvm.compiler.hotspot.word.KlassPointer int jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            aload 6 /* mark */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.unlockedMask:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokevirtual org.graalvm.compiler.word.Word.or:(I)Lorg/graalvm/compiler/word/Word;
            astore 8 /* unlockedMark */
        start local 8 // org.graalvm.compiler.word.Word unlockedMark
        55: .line 343
            iload 5 /* trace */
            ldc "     unlockedMark: 0x%016lx\n"
            aload 8 /* unlockedMark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        56: .line 346
            aload 7 /* lock */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.lockDisplacedMarkOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            aload 8 /* unlockedMark */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.DISPLACED_MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.writeWord:(ILorg/graalvm/compiler/word/WordBase;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        57: .line 350
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            i2l
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.address:(Ljava/lang/Object;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;
            aload 8 /* unlockedMark */
            aload 7 /* lock */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.hotspot.nodes.DirectCompareAndSwapNode.compareAndSwap:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 9 /* currentMark */
        start local 9 // org.graalvm.compiler.word.Word currentMark
        58: .line 351
            ldc 0.010000000000000009
            aload 9 /* currentMark */
            aload 8 /* unlockedMark */
            invokevirtual org.graalvm.compiler.word.Word.notEqual:(Lorg/graalvm/compiler/word/Word;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 71
        59: .line 352
            iload 5 /* trace */
            ldc "      currentMark: 0x%016lx\n"
            aload 9 /* currentMark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        60: .line 368
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.wordSize:()I
            iconst_1
            isub
            invokestatic org.graalvm.compiler.word.Word.unsigned:(I)Lorg/graalvm/compiler/word/Word;
            astore 10 /* alignedMask */
        start local 10 // org.graalvm.compiler.word.Word alignedMask
        61: .line 369
            aload 4 /* stackPointerRegister */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.config:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.stackBias:I
            invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
            astore 11 /* stackPointer */
        start local 11 // org.graalvm.compiler.word.Word stackPointer
        62: .line 370
            ldc 0.0010000000000000009
            aload 9 /* currentMark */
            aload 11 /* stackPointer */
            invokevirtual org.graalvm.compiler.word.Word.subtract:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
            aload 10 /* alignedMask */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.pageSize:()I
            invokevirtual org.graalvm.compiler.word.Word.subtract:(I)Lorg/graalvm/compiler/word/Word;
            invokevirtual org.graalvm.compiler.word.Word.and:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
            iconst_0
            invokevirtual org.graalvm.compiler.word.Word.notEqual:(I)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 67
        63: .line 372
            iload 5 /* trace */
            ldc "+lock{stub:failed-cas}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        64: .line 373
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockStubFailedCas:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        65: .line 374
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITORENTER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* object */
            aload 7 /* lock */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.monitorenterStubC:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
        66: .line 375
            return
        67: .line 378
      StackMap locals: java.lang.Object org.graalvm.compiler.hotspot.word.KlassPointer int jdk.vm.ci.code.Register jdk.vm.ci.code.Register int org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            aload 7 /* lock */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.lockDisplacedMarkOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokestatic org.graalvm.compiler.word.Word.zero:()Lorg/graalvm/compiler/word/Word;
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.DISPLACED_MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.writeWord:(ILorg/graalvm/compiler/word/WordBase;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        68: .line 379
            iload 5 /* trace */
            ldc "+lock{cas:recursive}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        69: .line 380
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCasRecursive:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        end local 11 // org.graalvm.compiler.word.Word stackPointer
        end local 10 // org.graalvm.compiler.word.Word alignedMask
        70: .line 382
            goto 74
        71: .line 383
      StackMap locals:
      StackMap stack:
            iload 5 /* trace */
            ldc "+lock{cas}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        72: .line 384
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.lockCas:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        73: .line 385
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.nodes.AcquiredCASLockNode.mark:(Ljava/lang/Object;)V
        74: .line 387
      StackMap locals:
      StackMap stack:
            return
        end local 9 // org.graalvm.compiler.word.Word currentMark
        end local 8 // org.graalvm.compiler.word.Word unlockedMark
        end local 7 // org.graalvm.compiler.word.Word lock
        end local 6 // org.graalvm.compiler.word.Word mark
        end local 5 // boolean trace
        end local 4 // jdk.vm.ci.code.Register stackPointerRegister
        end local 3 // jdk.vm.ci.code.Register threadRegister
        end local 2 // int lockDepth
        end local 1 // org.graalvm.compiler.hotspot.word.KlassPointer hub
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   75     0                object  Ljava/lang/Object;
            0   75     1                   hub  Lorg/graalvm/compiler/hotspot/word/KlassPointer;
            0   75     2             lockDepth  I
            0   75     3        threadRegister  Ljdk/vm/ci/code/Register;
            0   75     4  stackPointerRegister  Ljdk/vm/ci/code/Register;
            0   75     5                 trace  Z
            2   75     6                  mark  Lorg/graalvm/compiler/word/Word;
            3   75     7                  lock  Lorg/graalvm/compiler/word/Word;
            9   54     8      biasableLockBits  Lorg/graalvm/compiler/word/Word;
           10   54     9     prototypeMarkWord  Lorg/graalvm/compiler/word/Word;
           11   54    10                thread  Lorg/graalvm/compiler/word/Word;
           12   54    11                   tmp  Lorg/graalvm/compiler/word/Word;
           26   38    12          unbiasedMark  Lorg/graalvm/compiler/word/Word;
           27   38    13            biasedMark  Lorg/graalvm/compiler/word/Word;
           40   50    12            biasedMark  Lorg/graalvm/compiler/word/Word;
           53   54    12                result  Lorg/graalvm/compiler/word/Word;
           55   75     8          unlockedMark  Lorg/graalvm/compiler/word/Word;
           58   75     9           currentMark  Lorg/graalvm/compiler/word/Word;
           61   70    10           alignedMask  Lorg/graalvm/compiler/word/Word;
           62   70    11          stackPointer  Lorg/graalvm/compiler/word/Word;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      3:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      4:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      5:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
                      Name  Flags
      object                
      hub                   
      lockDepth             
      threadRegister        
      stackPointerRegister  
      trace                 

  public static void monitorenterStub(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Object object
        start local 1 // int lockDepth
        start local 2 // boolean trace
         0: .line 394
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.verifyOop:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 395
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.incCounter:()V
         2: .line 396
            aload 0 /* object */
            ifnonnull 4
         3: .line 397
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
            getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokestatic org.graalvm.compiler.nodes.DeoptimizeNode.deopt:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
         4: .line 401
      StackMap locals:
      StackMap stack:
            iload 1 /* lockDepth */
            invokestatic org.graalvm.compiler.hotspot.nodes.BeginLockScopeNode.beginLockScope:(I)Lorg/graalvm/compiler/word/Word;
            astore 3 /* lock */
        start local 3 // org.graalvm.compiler.word.Word lock
         5: .line 402
            iload 2 /* trace */
            ldc "+lock{stub}"
            aload 0 /* object */
            iconst_1
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
         6: .line 403
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITORENTER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* object */
            aload 3 /* lock */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.monitorenterStubC:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
         7: .line 404
            return
        end local 3 // org.graalvm.compiler.word.Word lock
        end local 2 // boolean trace
        end local 1 // int lockDepth
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     object  Ljava/lang/Object;
            0    8     1  lockDepth  I
            0    8     2      trace  Z
            5    8     3       lock  Lorg/graalvm/compiler/word/Word;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      2:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
           Name  Flags
      object     
      lockDepth  
      trace      

  public static void monitorexit(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.lang.Object object
        start local 1 // int lockDepth
        start local 2 // boolean trace
         0: .line 408
            iload 2 /* trace */
            ldc "           object: 0x%016lx\n"
            aload 0 /* object */
            invokestatic org.graalvm.compiler.word.Word.objectToTrackedPointer:(Ljava/lang/Object;)Lorg/graalvm/compiler/word/Pointer;
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
         1: .line 409
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.useBiasedLocking:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
            ifeq 10
         2: .line 416
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.loadWordFromObject:(Ljava/lang/Object;I)Lorg/graalvm/compiler/word/Word;
            astore 3 /* mark */
        start local 3 // org.graalvm.compiler.word.Word mark
         3: .line 417
            iload 2 /* trace */
            ldc "             mark: 0x%016lx\n"
            aload 3 /* mark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
         4: .line 418
            ldc 0.4
            aload 3 /* mark */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.biasedLockMaskInPlace:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokevirtual org.graalvm.compiler.word.Word.and:(I)Lorg/graalvm/compiler/word/Word;
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.biasedLockPattern:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            invokestatic org.graalvm.compiler.word.Word.unsigned:(I)Lorg/graalvm/compiler/word/Word;
            invokevirtual org.graalvm.compiler.word.Word.equal:(Lorg/graalvm/compiler/word/Word;)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 10
         5: .line 419
            invokestatic org.graalvm.compiler.hotspot.nodes.EndLockScopeNode.endLockScope:()V
         6: .line 420
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.decCounter:()V
         7: .line 421
            iload 2 /* trace */
            ldc "-lock{bias}"
            aload 0 /* object */
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
         8: .line 422
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockBias:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
         9: .line 423
            return
        end local 3 // org.graalvm.compiler.word.Word mark
        10: .line 427
      StackMap locals:
      StackMap stack:
            iload 1 /* lockDepth */
            invokestatic org.graalvm.compiler.hotspot.nodes.CurrentLockNode.currentLock:(I)Lorg/graalvm/compiler/word/Word;
            astore 3 /* lock */
        start local 3 // org.graalvm.compiler.word.Word lock
        11: .line 430
            aload 3 /* lock */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.lockDisplacedMarkOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.DISPLACED_MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.readWord:(ILorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            astore 4 /* displacedMark */
        start local 4 // org.graalvm.compiler.word.Word displacedMark
        12: .line 431
            iload 2 /* trace */
            ldc "    displacedMark: 0x%016lx\n"
            aload 4 /* displacedMark */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.trace:(ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
        13: .line 433
            ldc 0.4
            aload 4 /* displacedMark */
            iconst_0
            invokevirtual org.graalvm.compiler.word.Word.equal:(I)Z
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
            ifeq 17
        14: .line 435
            iload 2 /* trace */
            ldc "-lock{recursive}"
            aload 0 /* object */
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        15: .line 436
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCasRecursive:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        16: .line 437
            goto 28
        17: .line 438
      StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
      StackMap stack:
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.verifyOop:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 442
            ldc 0.0010000000000000009
        19: .line 443
            aload 0 /* object */
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.markOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
            i2l
            invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.address:(Ljava/lang/Object;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;
            aload 3 /* lock */
            aload 4 /* displacedMark */
            getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.hotspot.nodes.DirectCompareAndSwapNode.compareAndSwap:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode$Address;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
            aload 3 /* lock */
            invokevirtual org.graalvm.compiler.word.Word.notEqual:(Lorg/graalvm/compiler/word/Word;)Z
        20: .line 442
            invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
        21: .line 443
            ifeq 26
        22: .line 446
            iload 2 /* trace */
            ldc "-lock{stub}"
            aload 0 /* object */
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        23: .line 447
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockStub:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        24: .line 448
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOREXIT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* object */
            aload 3 /* lock */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.monitorexitStubC:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
        25: .line 449
            goto 28
        26: .line 450
      StackMap locals:
      StackMap stack:
            iload 2 /* trace */
            ldc "-lock{cas}"
            aload 0 /* object */
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
        27: .line 451
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.unlockCas:Lorg/graalvm/compiler/replacements/SnippetCounter;
            invokevirtual org.graalvm.compiler.replacements.SnippetCounter.inc:()V
        28: .line 454
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.hotspot.nodes.EndLockScopeNode.endLockScope:()V
        29: .line 455
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.decCounter:()V
        30: .line 456
            return
        end local 4 // org.graalvm.compiler.word.Word displacedMark
        end local 3 // org.graalvm.compiler.word.Word lock
        end local 2 // boolean trace
        end local 1 // int lockDepth
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0         object  Ljava/lang/Object;
            0   31     1      lockDepth  I
            0   31     2          trace  Z
            3   10     3           mark  Lorg/graalvm/compiler/word/Word;
           11   31     3           lock  Lorg/graalvm/compiler/word/Word;
           12   31     4  displacedMark  Lorg/graalvm/compiler/word/Word;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      2:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
           Name  Flags
      object     
      lockDepth  
      trace      

  public static void monitorexitStub(java.lang.Object, int, boolean);
    descriptor: (Ljava/lang/Object;IZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Object object
        start local 1 // int lockDepth
        start local 2 // boolean trace
         0: .line 463
            aload 0 /* object */
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.verifyOop:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 464
            iload 2 /* trace */
            ldc "-lock{stub}"
            aload 0 /* object */
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.traceObject:(ZLjava/lang/String;Ljava/lang/Object;Z)V
         2: .line 465
            iload 1 /* lockDepth */
            invokestatic org.graalvm.compiler.hotspot.nodes.CurrentLockNode.currentLock:(I)Lorg/graalvm/compiler/word/Word;
            astore 3 /* lock */
        start local 3 // org.graalvm.compiler.word.Word lock
         3: .line 466
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOREXIT:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
            aload 0 /* object */
            aload 3 /* lock */
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.monitorexitStubC:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
         4: .line 467
            invokestatic org.graalvm.compiler.hotspot.nodes.EndLockScopeNode.endLockScope:()V
         5: .line 468
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.decCounter:()V
         6: .line 469
            return
        end local 3 // org.graalvm.compiler.word.Word lock
        end local 2 // boolean trace
        end local 1 // int lockDepth
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0     object  Ljava/lang/Object;
            0    7     1  lockDepth  I
            0    7     2      trace  Z
            3    7     3       lock  Lorg/graalvm/compiler/word/Word;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
      2:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
           Name  Flags
      object     
      lockDepth  
      trace      

  public static void traceObject(boolean, java.lang.String, java.lang.Object, boolean);
    descriptor: (ZLjava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // boolean enabled
        start local 1 // java.lang.String action
        start local 2 // java.lang.Object object
        start local 3 // boolean enter
         0: .line 472
            invokestatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.doProfile:()Z
            ifeq 4
         1: .line 473
            aload 1 /* action */
            iload 3 /* enter */
            ifeq 2
            ldc "number of monitor enters"
            goto 3
      StackMap locals:
      StackMap stack: java.lang.String
         2: ldc "number of monitor exits"
      StackMap locals: int java.lang.String java.lang.Object int
      StackMap stack: java.lang.String java.lang.String
         3: lconst_1
            iconst_0
            invokestatic org.graalvm.compiler.nodes.debug.DynamicCounterNode.counter:(Ljava/lang/String;Ljava/lang/String;JZ)V
         4: .line 475
      StackMap locals:
      StackMap stack:
            iload 0 /* enabled */
            ifeq 8
         5: .line 476
            aload 1 /* action */
            invokestatic org.graalvm.compiler.replacements.Log.print:(Ljava/lang/String;)V
         6: .line 477
            bipush 32
            invokestatic org.graalvm.compiler.replacements.Log.print:(C)V
         7: .line 478
            aload 2 /* object */
            invokestatic org.graalvm.compiler.replacements.Log.printlnObject:(Ljava/lang/Object;)V
         8: .line 480
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean enter
        end local 2 // java.lang.Object object
        end local 1 // java.lang.String action
        end local 0 // boolean enabled
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  enabled  Z
            0    9     1   action  Ljava/lang/String;
            0    9     2   object  Ljava/lang/Object;
            0    9     3    enter  Z
    MethodParameters:
         Name  Flags
      enabled  
      action   
      object   
      enter    

  public static void trace(boolean, java.lang.String, org.graalvm.compiler.word.WordBase);
    descriptor: (ZLjava/lang/String;Lorg/graalvm/compiler/word/WordBase;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // boolean enabled
        start local 1 // java.lang.String format
        start local 2 // org.graalvm.compiler.word.WordBase value
         0: .line 483
            iload 0 /* enabled */
            ifeq 2
         1: .line 484
            aload 1 /* format */
            aload 2 /* value */
            invokeinterface org.graalvm.compiler.word.WordBase.rawValue:()J
            invokestatic org.graalvm.compiler.replacements.Log.printf:(Ljava/lang/String;J)V
         2: .line 486
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.word.WordBase value
        end local 1 // java.lang.String format
        end local 0 // boolean enabled
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  enabled  Z
            0    3     1   format  Ljava/lang/String;
            0    3     2    value  Lorg/graalvm/compiler/word/WordBase;
    MethodParameters:
         Name  Flags
      enabled  
      format   
      value    

  static native void bkpt(java.lang.Object, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word);
    descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/BreakpointNode;)
    MethodParameters:
        Name  Flags
      object  
      mark    
      tmp     
      value   

  public static void incCounter();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 502
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.VERIFY_BALANCED_MONITORS:Z
            ifeq 4
         1: .line 503
            invokestatic org.graalvm.compiler.hotspot.nodes.MonitorCounterNode.counter:()Lorg/graalvm/compiler/word/Word;
            astore 0 /* counter */
        start local 0 // org.graalvm.compiler.word.Word counter
         2: .line 504
            aload 0 /* counter */
            iconst_0
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/compiler/core/common/LocationIdentity;)I
            istore 1 /* count */
        start local 1 // int count
         3: .line 505
            aload 0 /* counter */
            iconst_0
            iload 1 /* count */
            iconst_1
            iadd
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.writeInt:(IILorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 1 // int count
        end local 0 // org.graalvm.compiler.word.Word counter
         4: .line 507
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            2    4     0  counter  Lorg/graalvm/compiler/word/Word;
            3    4     1    count  I

  public static void decCounter();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 510
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.VERIFY_BALANCED_MONITORS:Z
            ifeq 4
         1: .line 511
            invokestatic org.graalvm.compiler.hotspot.nodes.MonitorCounterNode.counter:()Lorg/graalvm/compiler/word/Word;
            astore 0 /* counter */
        start local 0 // org.graalvm.compiler.word.Word counter
         2: .line 512
            aload 0 /* counter */
            iconst_0
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/compiler/core/common/LocationIdentity;)I
            istore 1 /* count */
        start local 1 // int count
         3: .line 513
            aload 0 /* counter */
            iconst_0
            iload 1 /* count */
            iconst_1
            isub
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.writeInt:(IILorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 1 // int count
        end local 0 // org.graalvm.compiler.word.Word counter
         4: .line 515
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            2    4     0  counter  Lorg/graalvm/compiler/word/Word;
            3    4     1    count  I

  private static void initCounter();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 519
            invokestatic org.graalvm.compiler.hotspot.nodes.MonitorCounterNode.counter:()Lorg/graalvm/compiler/word/Word;
            astore 0 /* counter */
        start local 0 // org.graalvm.compiler.word.Word counter
         1: .line 520
            aload 0 /* counter */
            iconst_0
            iconst_0
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.writeInt:(IILorg/graalvm/compiler/core/common/LocationIdentity;)V
         2: .line 521
            return
        end local 0 // org.graalvm.compiler.word.Word counter
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    3     0  counter  Lorg/graalvm/compiler/word/Word;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()

  private static void checkCounter(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String errMsg
         0: .line 525
            invokestatic org.graalvm.compiler.hotspot.nodes.MonitorCounterNode.counter:()Lorg/graalvm/compiler/word/Word;
            astore 1 /* counter */
        start local 1 // org.graalvm.compiler.word.Word counter
         1: .line 526
            aload 1 /* counter */
            iconst_0
            getstatic org.graalvm.compiler.hotspot.replacements.MonitorSnippets.MONITOR_COUNTER_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/compiler/core/common/LocationIdentity;)I
            istore 2 /* count */
        start local 2 // int count
         2: .line 527
            iload 2 /* count */
            ifeq 4
         3: .line 528
            aload 0 /* errMsg */
            iload 2 /* count */
            i2l
            invokestatic org.graalvm.compiler.hotspot.nodes.VMErrorNode.vmError:(Ljava/lang/String;J)V
         4: .line 530
      StackMap locals: org.graalvm.compiler.word.Word int
      StackMap stack:
            return
        end local 2 // int count
        end local 1 // org.graalvm.compiler.word.Word counter
        end local 0 // java.lang.String errMsg
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   errMsg  Ljava/lang/String;
            1    5     1  counter  Lorg/graalvm/compiler/word/Word;
            2    5     2    count  I
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Snippet()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
    MethodParameters:
        Name  Flags
      errMsg  

  private static native void monitorenterStubC(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, java.lang.Object, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
    MethodParameters:
            Name  Flags
      descriptor  
      object      
      lock        

  public static native void monitorexitStubC(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, java.lang.Object, org.graalvm.compiler.word.Word);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Ljava/lang/Object;Lorg/graalvm/compiler/word/Word;)V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;)
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.graph.Node$ConstantNodeParameter()
      1:
      2:
    MethodParameters:
            Name  Flags
      descriptor  
      object      
      lock        
}
SourceFile: "MonitorSnippets.java"
NestMembers:
  org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates
InnerClasses:
  public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
  public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
  public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
  public Templates = org.graalvm.compiler.hotspot.replacements.MonitorSnippets$Templates of org.graalvm.compiler.hotspot.replacements.MonitorSnippets
  public abstract Address = org.graalvm.compiler.nodes.memory.address.AddressNode$Address of org.graalvm.compiler.nodes.memory.address.AddressNode
  public Group = org.graalvm.compiler.replacements.SnippetCounter$Group of org.graalvm.compiler.replacements.SnippetCounter