public abstract class org.graalvm.compiler.truffle.runtime.OptimizedCallTarget implements org.graalvm.compiler.truffle.common.CompilableTruffleAST, com.oracle.truffle.api.RootCallTarget, com.oracle.truffle.api.ReplaceObserver
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
  super_class: java.lang.Object
{
  private static final java.lang.String NODE_REWRITING_ASSUMPTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "nodeRewritingAssumption"

  private static final java.lang.String VALID_ROOT_ASSUMPTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "validRootAssumption"

  static final java.lang.String EXECUTE_ROOT_NODE_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "executeRootNode"

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, jdk.vm.ci.meta.SpeculationLog> SPECULATION_LOG_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Ljdk/vm/ci/meta/SpeculationLog;>;

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, com.oracle.truffle.api.Assumption> NODE_REWRITING_ASSUMPTION_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/Assumption;>;

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, com.oracle.truffle.api.Assumption> VALID_ROOT_ASSUMPTION_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/Assumption;>;

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile> ARGUMENTS_PROFILE_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;>;

  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile> RETURN_PROFILE_UPDATER;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;>;

  private static final java.lang.ref.WeakReference<org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode> NO_CALL;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;

  private static final java.lang.ref.WeakReference<org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode> MULTIPLE_CALLS;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;

  private static final java.lang.String SPLIT_LOG_FORMAT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "[poly-event] %-70s %s"

  private static final int MAX_PROFILED_ARGUMENTS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private final com.oracle.truffle.api.nodes.RootNode rootNode;
    descriptor: Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected volatile boolean initialized;
    descriptor: Z
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private int callCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int callAndLoopCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private volatile org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile;
    descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private volatile org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile;
    descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private java.lang.Class<? extends java.lang.Throwable> profiledExceptionType;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<+Ljava/lang/Throwable;>;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private volatile boolean dequeueInlined;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean compilationFailed;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean callProfiled;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  private volatile long initializedTimestamp;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile org.graalvm.compiler.truffle.runtime.CompilationTask compilationTask;
    descriptor: Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean needsSplit;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public final org.graalvm.compiler.truffle.runtime.EngineData engine;
    descriptor: Lorg/graalvm/compiler/truffle/runtime/EngineData;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private volatile com.oracle.truffle.api.nodes.RootNode uninitializedRootNode;
    descriptor: Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile jdk.vm.ci.meta.SpeculationLog speculationLog;
    descriptor: Ljdk/vm/ci/meta/SpeculationLog;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget;
    descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile com.oracle.truffle.api.Assumption nodeRewritingAssumption;
    descriptor: Lcom/oracle/truffle/api/Assumption;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile com.oracle.truffle.api.Assumption validRootAssumption;
    descriptor: Lcom/oracle/truffle/api/Assumption;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int cachedNonTrivialNodeCount;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int callSitesKnown;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.lang.String nameCache;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final int uninitializedNodeCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile java.lang.ref.WeakReference<org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode> singleCallNode;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;

  volatile java.util.List<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget> blockCompilations;
    descriptor: Ljava/util/List;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/List<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 108
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
         3: .line 113
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
         4: .line 114
            ldc Ljdk/vm/ci/meta/SpeculationLog;
            ldc "speculationLog"
         5: .line 113
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.SPECULATION_LOG_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
         6: .line 115
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
         7: .line 116
            ldc Lcom/oracle/truffle/api/Assumption;
            ldc "nodeRewritingAssumption"
         8: .line 115
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NODE_REWRITING_ASSUMPTION_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
         9: .line 118
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ldc Lcom/oracle/truffle/api/Assumption;
            ldc "validRootAssumption"
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        10: .line 117
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.VALID_ROOT_ASSUMPTION_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        11: .line 120
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            ldc "argumentsProfile"
        12: .line 119
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ARGUMENTS_PROFILE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        13: .line 122
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ldc Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            ldc "returnProfile"
        14: .line 121
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.RETURN_PROFILE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
        15: .line 123
            new java.lang.ref.WeakReference
            dup
            aconst_null
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NO_CALL:Ljava/lang/ref/WeakReference;
        16: .line 124
            aconst_null
            putstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.MULTIPLE_CALLS:Ljava/lang/ref/WeakReference;
        17: .line 126
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/nodes/RootNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget
        start local 2 // com.oracle.truffle.api.nodes.RootNode rootNode
         0: .line 322
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 179
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.dequeueInlined:Z
         2: .line 308
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cachedNonTrivialNodeCount:I
         3: .line 319
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NO_CALL:Ljava/lang/ref/WeakReference;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
         4: .line 323
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 5
            aload 1 /* sourceCallTarget */
            ifnull 5
            aload 1 /* sourceCallTarget */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnull 5
            new java.lang.AssertionError
            dup
            ldc "Cannot create a clone of a cloned CallTarget"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 324
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.RootNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sourceCallTarget */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
         6: .line 325
            aload 0 /* this */
            aload 1 /* sourceCallTarget */
            ifnull 7
            aload 1 /* sourceCallTarget */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            goto 8
      StackMap locals:
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
         7: aconst_null
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.RootNode
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget jdk.vm.ci.meta.SpeculationLog
         8: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.speculationLog:Ljdk/vm/ci/meta/SpeculationLog;
         9: .line 326
            aload 0 /* this */
            aload 2 /* rootNode */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
        10: .line 327
            aload 0 /* this */
            aload 2 /* rootNode */
            invokestatic org.graalvm.compiler.truffle.runtime.GraalTVMCI.getEngineData:(Lcom/oracle/truffle/api/nodes/RootNode;)Lorg/graalvm/compiler/truffle/runtime/EngineData;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
        11: .line 328
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.resetCompilationProfile:()V
        12: .line 330
            aload 0 /* this */
            aload 2 /* rootNode */
            instanceof org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OSRRootNode
            ifne 13
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 2 /* rootNode */
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.adoptChildrenAndCount:(Lcom/oracle/truffle/api/nodes/RootNode;)I
            goto 14
      StackMap locals:
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
        13: iconst_m1
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.RootNode
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
        14: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.uninitializedNodeCount:I
        15: .line 331
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 2 /* rootNode */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.setCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/RootCallTarget;)V
        16: .line 332
            return
        end local 2 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget sourceCallTarget
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   17     1  sourceCallTarget  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   17     2          rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
    MethodParameters:
                  Name  Flags
      sourceCallTarget  
      rootNode          

  final com.oracle.truffle.api.Assumption getNodeRewritingAssumption();
    descriptor: ()Lcom/oracle/truffle/api/Assumption;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 335
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.nodeRewritingAssumption:Lcom/oracle/truffle/api/Assumption;
            astore 1 /* assumption */
        start local 1 // com.oracle.truffle.api.Assumption assumption
         1: .line 336
            aload 1 /* assumption */
            ifnonnull 3
         2: .line 337
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializeNodeRewritingAssumption:()Lcom/oracle/truffle/api/Assumption;
            astore 1 /* assumption */
         3: .line 339
      StackMap locals: com.oracle.truffle.api.Assumption
      StackMap stack:
            aload 1 /* assumption */
            areturn
        end local 1 // com.oracle.truffle.api.Assumption assumption
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    4     1  assumption  Lcom/oracle/truffle/api/Assumption;

  public jdk.vm.ci.meta.JavaConstant getNodeRewritingAssumptionConstant();
    descriptor: ()Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 344
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getNodeRewritingAssumption:()Lcom/oracle/truffle/api/Assumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final com.oracle.truffle.api.Assumption getValidRootAssumption();
    descriptor: ()Lcom/oracle/truffle/api/Assumption;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 348
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.validRootAssumption:Lcom/oracle/truffle/api/Assumption;
            astore 1 /* assumption */
        start local 1 // com.oracle.truffle.api.Assumption assumption
         1: .line 349
            aload 1 /* assumption */
            ifnonnull 3
         2: .line 350
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializeValidRootAssumption:()Lcom/oracle/truffle/api/Assumption;
            astore 1 /* assumption */
         3: .line 352
      StackMap locals: com.oracle.truffle.api.Assumption
      StackMap stack:
            aload 1 /* assumption */
            areturn
        end local 1 // com.oracle.truffle.api.Assumption assumption
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    4     1  assumption  Lcom/oracle/truffle/api/Assumption;

  public jdk.vm.ci.meta.JavaConstant getValidRootAssumptionConstant();
    descriptor: ()Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 357
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getValidRootAssumption:()Lcom/oracle/truffle/api/Assumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public boolean isTrivial();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 362
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.isTrivial:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public void dequeueInlined();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 370
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.dequeueInlined:Z
            ifne 3
         1: .line 371
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.dequeueInlined:Z
         2: .line 372
            aload 0 /* this */
            ldc "Target inlined into only caller"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cancelCompilation:(Ljava/lang/CharSequence;)Z
            pop
         3: .line 374
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private com.oracle.truffle.api.Assumption initializeNodeRewritingAssumption();
    descriptor: ()Lcom/oracle/truffle/api/Assumption;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 380
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NODE_REWRITING_ASSUMPTION_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            ldc "nodeRewritingAssumption"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializeAssumption:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private com.oracle.truffle.api.Assumption initializeAssumption(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, com.oracle.truffle.api.Assumption>, java.lang.String);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.util.concurrent.atomic.AtomicReferenceFieldUpdater updater
        start local 2 // java.lang.String name
         0: .line 384
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.TraceAssumptions:Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 1
            aload 2 /* name */
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime
         1: new java.lang.StringBuilder
            dup
            aload 2 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.util.concurrent.atomic.AtomicReferenceFieldUpdater java.lang.String
      StackMap stack: org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime java.lang.String
         2: invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
            astore 3 /* newAssumption */
        start local 3 // com.oracle.truffle.api.Assumption newAssumption
         3: .line 385
            aload 1 /* updater */
            aload 0 /* this */
            aconst_null
            aload 3 /* newAssumption */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 5
         4: .line 386
            aload 3 /* newAssumption */
            areturn
         5: .line 388
      StackMap locals: com.oracle.truffle.api.Assumption
      StackMap stack:
            aload 1 /* updater */
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.Assumption
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.Assumption
            areturn
        end local 3 // com.oracle.truffle.api.Assumption newAssumption
        end local 2 // java.lang.String name
        end local 1 // java.util.concurrent.atomic.AtomicReferenceFieldUpdater updater
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    6     1        updater  Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/Assumption;>;
            0    6     2           name  Ljava/lang/String;
            3    6     3  newAssumption  Lcom/oracle/truffle/api/Assumption;
    Signature: (Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/Assumption;>;Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
    MethodParameters:
         Name  Flags
      updater  
      name     

  private void invalidateNodeRewritingAssumption();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 394
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NODE_REWRITING_ASSUMPTION_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            ldc ""
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidateAssumption:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/CharSequence;)Z
            pop
         1: .line 395
            return
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private boolean invalidateAssumption(java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, com.oracle.truffle.api.Assumption>, java.lang.CharSequence);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/CharSequence;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.util.concurrent.atomic.AtomicReferenceFieldUpdater updater
        start local 2 // java.lang.CharSequence reason
         0: .line 398
            aload 1 /* updater */
            aload 0 /* this */
            invokedynamic apply()Ljava/util/function/UnaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/graalvm/compiler/truffle/runtime/OptimizedCallTarget.lambda$0(Lcom/oracle/truffle/api/Assumption;)Lcom/oracle/truffle/api/Assumption; (6)
                  (Lcom/oracle/truffle/api/Assumption;)Lcom/oracle/truffle/api/Assumption;
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate:(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.Assumption
            astore 3 /* oldAssumption */
        start local 3 // com.oracle.truffle.api.Assumption oldAssumption
         1: .line 399
            aload 3 /* oldAssumption */
            ifnonnull 3
         2: .line 400
            iconst_0
            ireturn
         3: .line 402
      StackMap locals: com.oracle.truffle.api.Assumption
      StackMap stack:
            aload 3 /* oldAssumption */
            aload 2 /* reason */
            ifnull 4
            aload 2 /* reason */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            goto 5
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.Assumption
         4: ldc ""
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.util.concurrent.atomic.AtomicReferenceFieldUpdater java.lang.CharSequence com.oracle.truffle.api.Assumption
      StackMap stack: com.oracle.truffle.api.Assumption java.lang.String
         5: invokeinterface com.oracle.truffle.api.Assumption.invalidate:(Ljava/lang/String;)V
         6: .line 403
            iconst_1
            ireturn
        end local 3 // com.oracle.truffle.api.Assumption oldAssumption
        end local 2 // java.lang.CharSequence reason
        end local 1 // java.util.concurrent.atomic.AtomicReferenceFieldUpdater updater
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1        updater  Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/Assumption;>;
            0    7     2         reason  Ljava/lang/CharSequence;
            1    7     3  oldAssumption  Lcom/oracle/truffle/api/Assumption;
    Signature: (Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/Assumption;>;Ljava/lang/CharSequence;)Z
    MethodParameters:
         Name  Flags
      updater  
      reason   

  private com.oracle.truffle.api.Assumption initializeValidRootAssumption();
    descriptor: ()Lcom/oracle/truffle/api/Assumption;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 408
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.VALID_ROOT_ASSUMPTION_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            ldc "validRootAssumption"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializeAssumption:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private boolean invalidateValidRootAssumption(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.CharSequence reason
         0: .line 413
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.VALID_ROOT_ASSUMPTION_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 1 /* reason */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidateAssumption:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/CharSequence;)Z
            ireturn
        end local 1 // java.lang.CharSequence reason
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    1     1  reason  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      reason  

  public final com.oracle.truffle.api.nodes.RootNode getRootNode();
    descriptor: ()Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 418
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final void resetCompilationProfile();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 422
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
         1: .line 423
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
         2: .line 424
            return
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final java.lang.Object call(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 430
            invokestatic com.oracle.truffle.api.nodes.EncapsulatingNodeReference.getCurrent:()Lcom/oracle/truffle/api/nodes/EncapsulatingNodeReference;
            astore 2 /* encapsulating */
        start local 2 // com.oracle.truffle.api.nodes.EncapsulatingNodeReference encapsulating
         1: .line 431
            aload 2 /* encapsulating */
            aconst_null
            invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            astore 3 /* prev */
        start local 3 // com.oracle.truffle.api.nodes.Node prev
         2: .line 433
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileArguments:([Ljava/lang/Object;)V
         3: .line 434
            aload 0 /* this */
            aload 3 /* prev */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callIndirect:(Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 6
         4: .line 439
            aload 2 /* encapsulating */
            aload 3 /* prev */
            invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
         5: .line 434
            aload 6
            areturn
         6: .line 435
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.lang.Object[] com.oracle.truffle.api.nodes.EncapsulatingNodeReference com.oracle.truffle.api.nodes.Node
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
         7: .line 436
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aload 3 /* prev */
            aconst_null
            aload 4 /* t */
            aconst_null
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.onThrowable:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/RootCallTarget;Ljava/lang/Throwable;Lcom/oracle/truffle/api/frame/Frame;)V
         8: .line 437
            aload 4 /* t */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.Throwable t
         9: .line 438
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        10: .line 439
            aload 2 /* encapsulating */
            aload 3 /* prev */
            invokevirtual com.oracle.truffle.api.nodes.EncapsulatingNodeReference.set:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
        11: .line 440
            aload 5
            athrow
        end local 3 // com.oracle.truffle.api.nodes.Node prev
        end local 2 // com.oracle.truffle.api.nodes.EncapsulatingNodeReference encapsulating
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   12     1           args  [Ljava/lang/Object;
            1   12     2  encapsulating  Lcom/oracle/truffle/api/nodes/EncapsulatingNodeReference;
            2   12     3           prev  Lcom/oracle/truffle/api/nodes/Node;
            7    9     4              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     4       6  Class java.lang.Throwable
           2     4       9  any
           6     9       9  any
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      args  

  public java.lang.Object callIndirect(com.oracle.truffle.api.nodes.Node, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.nodes.Node location
        start local 2 // java.lang.Object[] args
         0: .line 446
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 4
         1: .line 449
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 2
            aload 1 /* location */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.keepAlive:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 446
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[] top java.lang.Object
      StackMap stack:
            aload 4
            areturn
         3: .line 447
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[]
      StackMap stack: java.lang.Throwable
            astore 3
         4: .line 449
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 5
            aload 1 /* location */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.keepAlive:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 450
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.nodes.Node location
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    6     1  location  Lcom/oracle/truffle/api/nodes/Node;
            0    6     2      args  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       3  any
    MethodParameters:
          Name  Flags
      location  
      args      

  public final java.lang.Object callDirect(com.oracle.truffle.api.nodes.Node, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.nodes.Node location
        start local 2 // java.lang.Object[] args
         0: .line 458
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileArguments:([Ljava/lang/Object;)V
         1: .line 459
            aload 0 /* this */
            aload 2 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         2: .line 460
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 4
         3: .line 461
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.injectReturnValueProfile:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
         4: .line 463
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            astore 5
         5: .line 469
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 6
            aload 1 /* location */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.keepAlive:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 463
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[] java.lang.Object top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.Object result
         7: .line 464
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[]
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         8: .line 465
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileExceptionType:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Throwable t
         9: .line 467
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        10: .line 469
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 11
            aload 1 /* location */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.keepAlive:(Ljava/lang/Object;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 470
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[] top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.nodes.Node location
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   12     1  location  Lcom/oracle/truffle/api/nodes/Node;
            0   12     2      args  [Ljava/lang/Object;
            2    7     3    result  Ljava/lang/Object;
            8    9     3         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       7  Class java.lang.Throwable
           0     5       9  any
           7     9       9  any
    MethodParameters:
          Name  Flags
      location  
      args      

  private static boolean keepAlive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 474
            iconst_1
            ireturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public final java.lang.Object callOSR(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 478
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    1     1  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  public final java.lang.Object callInlined(com.oracle.truffle.api.nodes.Node, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0091) ACC_PUBLIC, ACC_FINAL, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.nodes.Node location
        start local 2 // java.lang.Object[] arguments
         0: .line 484
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ensureInitialized:()V
         1: .line 485
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 2 /* arguments */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.createFrame:(Lcom/oracle/truffle/api/frame/FrameDescriptor;[Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/VirtualFrame;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 4
         2: .line 488
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 3
            aload 1 /* location */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.keepAlive:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 485
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[] top java.lang.Object
      StackMap stack:
            aload 4
            areturn
         4: .line 486
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.Node java.lang.Object[]
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 488
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 6
            aload 1 /* location */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.keepAlive:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 489
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        end local 2 // java.lang.Object[] arguments
        end local 1 // com.oracle.truffle.api.nodes.Node location
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1   location  Lcom/oracle/truffle/api/nodes/Node;
            0    7     2  arguments  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     2       4  any
    MethodParameters:
           Name  Flags
      location   
      arguments  

  protected java.lang.Object doInvoke(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 496
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callBoundary:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    1     1  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      args  

  protected final java.lang.Object callBoundary(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 509
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.interpreterCall:()Z
            ifeq 2
         1: .line 510
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.doInvoke:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    3     1  args  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.truffle.runtime.TruffleCallBoundary()
    MethodParameters:
      Name  Flags
      args  

  private boolean interpreterCall();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 516
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            ifeq 2
         1: .line 518
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.bypassedInstalledCode:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
         2: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ensureInitialized:()V
         3: .line 521
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
            istore 1 /* intCallCount */
        start local 1 // int intCallCount
         4: .line 522
            aload 0 /* this */
            iload 1 /* intCallCount */
            ldc 2147483647
            if_icmpne 5
            iload 1 /* intCallCount */
            goto 6
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
         5: iinc 1 /* intCallCount */ 1
            iload 1 /* intCallCount */
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
         6: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
         7: .line 523
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
            istore 2 /* intLoopCallCount */
        start local 2 // int intLoopCallCount
         8: .line 524
            aload 0 /* this */
            iload 2 /* intLoopCallCount */
            ldc 2147483647
            if_icmpne 9
            iload 2 /* intLoopCallCount */
            goto 10
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
         9: iinc 2 /* intLoopCallCount */ 1
            iload 2 /* intLoopCallCount */
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
        10: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
        11: .line 527
            aload 0 /* this */
            iload 1 /* intCallCount */
            iload 2 /* intLoopCallCount */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.shouldCompileImpl:(II)Z
            ifeq 15
        12: .line 528
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.multiTier:Z
            ifeq 13
            iconst_0
            goto 14
      StackMap locals:
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
        13: iconst_1
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
        14: invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            ireturn
        15: .line 530
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int intLoopCallCount
        end local 1 // int intCallCount
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            4   16     1      intCallCount  I
            8   16     2  intLoopCallCount  I

  private boolean shouldCompileImpl(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int intCallCount
        start local 2 // int intLoopCallCount
         0: .line 534
            iload 1 /* intCallCount */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callThresholdInInterpreter:I
            if_icmplt 6
         1: .line 535
            iload 2 /* intLoopCallCount */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callAndLoopThresholdInInterpreter:I
            if_icmplt 6
         2: .line 536
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationFailed:Z
            ifne 6
         3: .line 537
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isSubmittedForCompilation:()Z
            ifne 6
         4: .line 542
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            instanceof org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OSRRootNode
            ifne 6
         5: .line 534
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // int intLoopCallCount
        end local 1 // int intCallCount
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1      intCallCount  I
            0    7     2  intLoopCallCount  I
    MethodParameters:
                  Name  Flags
      intCallCount      
      intLoopCallCount  

  public final boolean shouldCompile();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 546
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            ifne 1
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.shouldCompileImpl:(II)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final boolean wasExecuted();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 550
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
            ifgt 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
            ifgt 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  protected final java.lang.Object profiledPERoot(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] originalArguments
         0: .line 555
            aload 1 /* originalArguments */
            astore 2 /* args */
        start local 2 // java.lang.Object[] args
         1: .line 556
            invokestatic org.graalvm.compiler.truffle.runtime.GraalCompilerDirectives.inFirstTier:()Z
            ifeq 3
         2: .line 557
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.firstTierCall:()Z
            pop
         3: .line 559
      StackMap locals: java.lang.Object[]
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 5
         4: .line 560
            aload 0 /* this */
            aload 1 /* originalArguments */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.injectArgumentsProfile:([Ljava/lang/Object;)[Ljava/lang/Object;
            astore 2 /* args */
         5: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            aload 2 /* args */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.createFrame:(Lcom/oracle/truffle/api/frame/FrameDescriptor;[Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/VirtualFrame;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.executeRootNode:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         6: .line 563
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileReturnValue:(Ljava/lang/Object;)V
         7: .line 564
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object[] originalArguments
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    8     1  originalArguments  [Ljava/lang/Object;
            1    8     2               args  [Ljava/lang/Object;
            6    8     3             result  Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      originalArguments  

  public final boolean firstTierCall();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 570
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
            istore 1 /* firstTierCallCount */
        start local 1 // int firstTierCallCount
         1: .line 571
            aload 0 /* this */
            iload 1 /* firstTierCallCount */
            ldc 2147483647
            if_icmpne 2
            iload 1 /* firstTierCallCount */
            goto 3
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
         2: iinc 1 /* firstTierCallCount */ 1
            iload 1 /* firstTierCallCount */
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
         3: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
         4: .line 572
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
            istore 2 /* firstTierLoopCallCount */
        start local 2 // int firstTierLoopCallCount
         5: .line 573
            aload 0 /* this */
            iload 2 /* firstTierLoopCallCount */
            ldc 2147483647
            if_icmpne 6
            iload 2 /* firstTierLoopCallCount */
            goto 7
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
         6: iinc 2 /* firstTierLoopCallCount */ 1
            iload 2 /* firstTierLoopCallCount */
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
         7: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
         8: .line 574
            iload 1 /* firstTierCallCount */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callThresholdInFirstTier:I
            if_icmplt 13
         9: .line 575
            iload 2 /* firstTierLoopCallCount */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callAndLoopThresholdInFirstTier:I
            if_icmplt 13
        10: .line 576
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationFailed:Z
            ifne 13
        11: .line 577
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isSubmittedForCompilation:()Z
            ifne 13
        12: .line 578
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.lastTierCompile:()Z
            ireturn
        13: .line 580
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int firstTierLoopCallCount
        end local 1 // int firstTierCallCount
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   14     0                    this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1   14     1      firstTierCallCount  I
            5   14     2  firstTierLoopCallCount  I

  private boolean lastTierCompile();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 585
            aload 0 /* this */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  private java.lang.Object executeRootNode(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 589
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompilationRoot:()Z
            istore 2 /* inCompiled */
        start local 2 // boolean inCompiled
         1: .line 591
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 6
         2: .line 600
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 4
            aload 1 /* frame */
            ifnull 3
            aload 0 /* this */
            ifnonnull 4
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.frame.VirtualFrame int top top top java.lang.Object
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 601
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
            ifeq 6
            iload 2 /* inCompiled */
            ifeq 6
         5: .line 602
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.notifyDeoptimized:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
         6: .line 591
      StackMap locals:
      StackMap stack:
            aload 6
            areturn
         7: .line 592
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.frame.VirtualFrame int
      StackMap stack: com.oracle.truffle.api.nodes.ControlFlowException
            astore 3 /* t */
        start local 3 // com.oracle.truffle.api.nodes.ControlFlowException t
         8: .line 593
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileExceptionType:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // com.oracle.truffle.api.nodes.ControlFlowException t
         9: .line 594
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        10: .line 595
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileExceptionType:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 4 /* profiledT */
        start local 4 // java.lang.Throwable profiledT
        11: .line 596
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.LANGUAGE:Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
            aconst_null
            aload 0 /* this */
            aload 4 /* profiledT */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.onThrowable:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/RootCallTarget;Ljava/lang/Throwable;Lcom/oracle/truffle/api/frame/Frame;)V
        12: .line 597
            aload 4 /* profiledT */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.Throwable profiledT
        end local 3 // java.lang.Throwable t
        13: .line 598
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 600
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 16
            aload 1 /* frame */
            ifnull 15
            aload 0 /* this */
            ifnonnull 16
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.frame.VirtualFrame int top top java.lang.Throwable
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 601
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
            ifeq 18
            iload 2 /* inCompiled */
            ifeq 18
        17: .line 602
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.notifyDeoptimized:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
        18: .line 604
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        end local 2 // boolean inCompiled
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   19     1       frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1   19     2  inCompiled  Z
            8    9     3           t  Lcom/oracle/truffle/api/nodes/ControlFlowException;
           10   13     3           t  Ljava/lang/Throwable;
           11   13     4   profiledT  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       7  Class com.oracle.truffle.api.nodes.ControlFlowException
           1     2       9  Class java.lang.Throwable
           1     2      13  any
           7    13      13  any
    MethodParameters:
       Name  Flags
      frame  

  private void notifyDeoptimized(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 608
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getListener:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;
            aload 0 /* this */
            aload 1 /* frame */
            invokeinterface org.graalvm.compiler.truffle.runtime.GraalTruffleRuntimeListener.onCompilationDeoptimized:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lcom/oracle/truffle/api/frame/Frame;)V
         1: .line 609
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
    MethodParameters:
       Name  Flags
      frame  

  protected static org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime runtime();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 612
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            checkcast org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public final void ensureInitialized();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 617
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialized:Z
            ifne 3
         1: .line 618
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 619
            aload 0 /* this */
            iconst_1
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialize:(Z)V
         3: .line 621
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final boolean isInitialized();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 624
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialized:Z
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private synchronized void initialize(boolean);
    descriptor: (Z)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // boolean validate
         0: .line 628
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialized:Z
            ifne 9
         1: .line 629
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnonnull 3
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.nodes.RootNode.isCloningAllowed:()Z
            ifeq 3
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.isCloneUninitializedSupported:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifne 3
         2: .line 631
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokestatic com.oracle.truffle.api.nodes.NodeUtil.cloneNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.api.nodes.RootNode
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.uninitializedRootNode:Lcom/oracle/truffle/api/nodes/RootNode;
         3: .line 633
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            iload 1 /* validate */
            invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.onFirstExecution:(Lcom/oracle/truffle/api/nodes/RootNode;Z)V
         4: .line 634
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callTargetStatistics:Z
            ifeq 7
         5: .line 635
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializedTimestamp:J
         6: .line 636
            goto 8
         7: .line 637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializedTimestamp:J
         8: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialized:Z
         9: .line 641
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean validate
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   10     1  validate  Z
    MethodParameters:
          Name  Flags
      validate  

  public final org.graalvm.options.OptionValues getOptionValues();
    descriptor: ()Lorg/graalvm/options/OptionValues;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 644
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.engineOptions:Lorg/graalvm/options/OptionValues;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final <T> T getOptionValue(org.graalvm.options.OptionKey<T>);
    descriptor: (Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.options.OptionKey key
         0: .line 648
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValues:()Lorg/graalvm/options/OptionValues;
            aload 1 /* key */
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            areturn
        end local 1 // org.graalvm.options.OptionKey key
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    1     1   key  Lorg/graalvm/options/OptionKey<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/options/OptionKey<TT;>;)TT;
    MethodParameters:
      Name  Flags
      key   

  final boolean acceptForCompilation();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 656
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual org.graalvm.compiler.truffle.runtime.EngineData.acceptForCompilation:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final boolean isCompilationFailed();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 660
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationFailed:Z
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final boolean compile(boolean);
    descriptor: (Z)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // boolean lastTierCompilation
         0: .line 670
            aload 0 /* this */
            iload 1 /* lastTierCompilation */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsCompile:(Z)Z
            ifne 2
         1: .line 671
            iconst_1
            ireturn
         2: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isSubmittedForCompilation:()Z
            ifne 26
         3: .line 674
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual org.graalvm.compiler.truffle.runtime.EngineData.acceptForCompilation:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifne 6
         4: .line 676
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationFailed:Z
         5: .line 677
            iconst_0
            ireturn
         6: .line 680
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* task */
        start local 2 // org.graalvm.compiler.truffle.runtime.CompilationTask task
         7: .line 683
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         8: .line 684
            aload 0 /* this */
            iload 1 /* lastTierCompilation */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsCompile:(Z)Z
            ifne 11
         9: .line 685
            aload 3
            monitorexit
        10: iconst_1
            ireturn
        11: .line 687
      StackMap locals: org.graalvm.compiler.truffle.runtime.CompilationTask org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ensureInitialized:()V
        12: .line 688
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isSubmittedForCompilation:()Z
            ifne 19
        13: .line 690
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            ifnull 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            iload 1 /* lastTierCompilation */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.submitForCompilation:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Z)Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            dup
            astore 2 /* task */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
        15: .line 692
            goto 19
      StackMap locals:
      StackMap stack: java.util.concurrent.RejectedExecutionException
        16: pop
        17: .line 693
            aload 3
            monitorexit
        18: iconst_0
            ireturn
        19: .line 683
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 3
            monitorexit
        22: athrow
        23: .line 697
      StackMap locals:
      StackMap stack:
            aload 2 /* task */
            ifnull 26
        24: .line 698
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getListener:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;
            aload 0 /* this */
            invokeinterface org.graalvm.compiler.truffle.runtime.GraalTruffleRuntimeListener.onCompilationQueued:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
        25: .line 699
            aload 0 /* this */
            aload 2 /* task */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.maybeWaitForTask:(Lorg/graalvm/compiler/truffle/runtime/CompilationTask;)Z
            ireturn
        end local 2 // org.graalvm.compiler.truffle.runtime.CompilationTask task
        26: .line 702
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean lastTierCompilation
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   27     0                 this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   27     1  lastTierCompilation  Z
            7   26     2                 task  Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
      Exception table:
        from    to  target  type
          13    15      16  Class java.util.concurrent.RejectedExecutionException
           8    10      21  any
          11    18      21  any
          19    20      21  any
          21    22      21  any
    MethodParameters:
                     Name  Flags
      lastTierCompilation  

  public final boolean maybeWaitForTask(org.graalvm.compiler.truffle.runtime.CompilationTask);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/CompilationTask;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.compiler.truffle.runtime.CompilationTask task
         0: .line 706
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.backgroundCompilation:Z
            istore 2 /* mayBeAsynchronous */
        start local 2 // boolean mayBeAsynchronous
         1: .line 707
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            aload 1 /* task */
            iload 2 /* mayBeAsynchronous */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.finishCompilation:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/CompilationTask;Z)V
         2: .line 709
            iload 2 /* mayBeAsynchronous */
            ifne 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // boolean mayBeAsynchronous
        end local 1 // org.graalvm.compiler.truffle.runtime.CompilationTask task
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    4     1               task  Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            1    4     2  mayBeAsynchronous  Z
    MethodParameters:
      Name  Flags
      task  

  public final boolean needsCompile(boolean);
    descriptor: (Z)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // boolean isLastTierCompilation
         0: .line 713
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.multiTier:Z
            ifeq 1
            iload 1 /* isLastTierCompilation */
            ifeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValidLastTier:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // boolean isLastTierCompilation
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    3     1  isLastTierCompilation  Z
    MethodParameters:
                       Name  Flags
      isLastTierCompilation  

  public final boolean isSubmittedForCompilation();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 717
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final void waitForCompilation();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 721
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            astore 1 /* task */
        start local 1 // org.graalvm.compiler.truffle.runtime.CompilationTask task
         1: .line 722
            aload 1 /* task */
            ifnull 3
         2: .line 723
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            aload 1 /* task */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.finishCompilation:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Lorg/graalvm/compiler/truffle/runtime/CompilationTask;Z)V
         3: .line 725
      StackMap locals: org.graalvm.compiler.truffle.runtime.CompilationTask
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.truffle.runtime.CompilationTask task
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    4     1  task  Lorg/graalvm/compiler/truffle/runtime/CompilationTask;

  boolean isCompiling();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 728
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCompilationTask:()Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public abstract long getCodeAddress();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isValid();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isValidLastTier();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public final boolean invalidate(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.CharSequence reason
         0: .line 761
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cachedNonTrivialNodeCount:I
         1: .line 762
            aload 0 /* this */
            aload 1 /* reason */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidateValidRootAssumption:(Ljava/lang/CharSequence;)Z
            istore 2 /* invalidated */
        start local 2 // boolean invalidated
         2: .line 763
            aload 0 /* this */
            aload 1 /* reason */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cancelCompilation:(Ljava/lang/CharSequence;)Z
            ifne 3
            iload 2 /* invalidated */
            ifne 3
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // boolean invalidated
        end local 1 // java.lang.CharSequence reason
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    4     1       reason  Ljava/lang/CharSequence;
            2    4     2  invalidated  Z
    MethodParameters:
        Name  Flags
      reason  

  final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget cloneUninitialized();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 767
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ensureInitialized:()V
         2: .line 770
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.isCloneUninitializedSupported:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifeq 6
         3: .line 771
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.uninitializedRootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            ifnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 772
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.cloneUninitialized:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 1 /* clonedRoot */
        start local 1 // com.oracle.truffle.api.nodes.RootNode clonedRoot
         5: .line 773
            goto 7
        end local 1 // com.oracle.truffle.api.nodes.RootNode clonedRoot
         6: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.uninitializedRootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokestatic com.oracle.truffle.api.nodes.NodeUtil.cloneNode:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.api.nodes.RootNode
            astore 1 /* clonedRoot */
        start local 1 // com.oracle.truffle.api.nodes.RootNode clonedRoot
         7: .line 776
      StackMap locals: com.oracle.truffle.api.nodes.RootNode
      StackMap stack:
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 1 /* clonedRoot */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createClonedCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            areturn
        end local 1 // com.oracle.truffle.api.nodes.RootNode clonedRoot
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            5    6     1  clonedRoot  Lcom/oracle/truffle/api/nodes/RootNode;
            7    8     1  clonedRoot  Lcom/oracle/truffle/api/nodes/RootNode;

  public jdk.vm.ci.meta.SpeculationLog getSpeculationLog();
    descriptor: ()Ljdk/vm/ci/meta/SpeculationLog;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 785
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.speculationLog:Ljdk/vm/ci/meta/SpeculationLog;
            ifnonnull 2
         1: .line 786
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.SPECULATION_LOG_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aconst_null
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            checkcast org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         2: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.speculationLog:Ljdk/vm/ci/meta/SpeculationLog;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final void setSpeculationLog(jdk.vm.ci.meta.SpeculationLog);
    descriptor: (Ljdk/vm/ci/meta/SpeculationLog;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // jdk.vm.ci.meta.SpeculationLog speculationLog
         0: .line 792
            aload 0 /* this */
            aload 1 /* speculationLog */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.speculationLog:Ljdk/vm/ci/meta/SpeculationLog;
         1: .line 793
            return
        end local 1 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1  speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
    MethodParameters:
                Name  Flags
      speculationLog  

  public final jdk.vm.ci.meta.JavaConstant asJavaConstant();
    descriptor: ()Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 797
            invokestatic org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  static <E extends java.lang.Throwable> java.lang.RuntimeException rethrow(java.lang.Throwable) throws E;
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 802
            aload 0 /* ex */
            athrow
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ex  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable
    Signature: <E:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;^TE;
    MethodParameters:
      Name  Flags
      ex    

  public final boolean isSameOrSplit(org.graalvm.compiler.truffle.common.CompilableTruffleAST);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST ast
         0: .line 807
            aload 1 /* ast */
            instanceof org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            ifne 2
         1: .line 808
            iconst_0
            ireturn
         2: .line 810
      StackMap locals:
      StackMap stack:
            aload 1 /* ast */
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            astore 2 /* other */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget other
         3: .line 811
            aload 0 /* this */
            aload 2 /* other */
            if_acmpeq 6
            aload 0 /* this */
            aload 2 /* other */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            if_acmpeq 6
            aload 2 /* other */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            if_acmpeq 6
         4: .line 812
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnull 5
            aload 2 /* other */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnull 5
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            aload 2 /* other */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            if_acmpeq 6
         5: .line 811
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget other
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST ast
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1    ast  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            3    7     2  other  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    MethodParameters:
      Name  Flags
      ast   

  public boolean cancelCompilation(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.CharSequence reason
         0: .line 817
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialized:Z
            ifne 2
         1: .line 819
            iconst_0
            ireturn
         2: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cancelAndResetCompilationTask:()Z
            ifeq 5
         3: .line 822
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getListener:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntimeListener;
            aload 0 /* this */
            aconst_null
            aload 1 /* reason */
            invokeinterface org.graalvm.compiler.truffle.runtime.GraalTruffleRuntimeListener.onCompilationDequeued:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Ljava/lang/Object;Ljava/lang/CharSequence;)V
         4: .line 823
            iconst_1
            ireturn
         5: .line 825
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.CharSequence reason
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    6     1  reason  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      reason  

  private boolean cancelAndResetCompilationTask();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 829
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            astore 1 /* task */
        start local 1 // org.graalvm.compiler.truffle.runtime.CompilationTask task
         1: .line 830
            aload 1 /* task */
            ifnull 11
         2: .line 831
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 832
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            astore 1 /* task */
         4: .line 833
            aload 1 /* task */
            ifnull 7
         5: .line 834
            aload 1 /* task */
            invokevirtual org.graalvm.compiler.truffle.runtime.CompilationTask.cancel:()Z
            aload 2
            monitorexit
         6: ireturn
         7: .line 831
      StackMap locals: org.graalvm.compiler.truffle.runtime.CompilationTask org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 838
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.truffle.runtime.CompilationTask task
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1   12     1  task  Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
      Exception table:
        from    to  target  type
           3     6       9  any
           7     8       9  any
           9    10       9  any

  public final boolean computeBlockCompilations();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 846
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.blockCompilations:Ljava/util/List;
            ifnonnull 4
         1: .line 847
            aload 0 /* this */
            aload 0 /* this */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedBlockNode.preparePartialBlockCompilations:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)Ljava/util/List;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.blockCompilations:Ljava/util/List;
         2: .line 848
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.blockCompilations:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
         3: .line 849
            iconst_1
            ireturn
         4: .line 852
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final void onCompilationFailed(java.util.function.Supplier<java.lang.String>, boolean, boolean, boolean, );
    descriptor: (Ljava/util/function/Supplier;ZZZZ)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.util.function.Supplier serializedException
        start local 2 // boolean silent
        start local 3 // boolean bailout
        start local 4 // boolean permanentBailout
        start local 5 // boolean graphTooBig
         0: .line 857
            iload 5 /* graphTooBig */
            ifeq 3
         1: .line 858
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.computeBlockCompilations:()Z
            ifeq 3
         2: .line 860
            return
         3: .line 865
      StackMap locals:
      StackMap stack:
            iload 3 /* bailout */
            ifeq 6
            iload 4 /* permanentBailout */
            ifne 6
         4: .line 872
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.Silent:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
            astore 6 /* action */
        start local 6 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction action
         5: .line 873
            goto 10
        end local 6 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction action
         6: .line 874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationFailed:Z
         7: .line 875
            iload 2 /* silent */
            ifeq 8
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.Silent:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.compilationFailureAction:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction
         9: astore 6 /* action */
        start local 6 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction action
        10: .line 877
      StackMap locals: org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction
      StackMap stack:
            aload 6 /* action */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.Throw:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
            if_acmpne 13
        11: .line 878
            new java.lang.InternalError
            dup
            aload 1 /* serializedException */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            astore 7 /* error */
        start local 7 // java.lang.InternalError error
        12: .line 879
            new com.oracle.truffle.api.OptimizationFailedException
            dup
            aload 7 /* error */
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.OptimizationFailedException.<init>:(Ljava/lang/Throwable;Lcom/oracle/truffle/api/RootCallTarget;)V
            athrow
        end local 7 // java.lang.InternalError error
        13: .line 881
      StackMap locals:
      StackMap stack:
            aload 6 /* action */
            invokevirtual org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.ordinal:()I
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.Print:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
            invokevirtual org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.ordinal:()I
            if_icmplt 28
        14: .line 882
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            astore 7 /* rt */
        start local 7 // org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime rt
        15: .line 883
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 8 /* properties */
        start local 8 // java.util.Map properties
        16: .line 884
            aload 8 /* properties */
            ldc "AST"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getNonTrivialNodeCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 885
            aload 7 /* rt */
            aload 0 /* this */
            iconst_0
            ldc "opt fail"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.toString:()Ljava/lang/String;
            aload 8 /* properties */
            aload 1 /* serializedException */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.logEvent:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;ILjava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V
        18: .line 886
            aload 6 /* action */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.ExitVM:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
            if_acmpne 28
        19: .line 888
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.CompilationFailureAction:Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction.ExitVM:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
            if_acmpne 22
        20: .line 889
            ldc "engine.CompilationFailureAction=ExitVM"
            astore 9 /* reason */
        start local 9 // java.lang.String reason
        21: .line 890
            goto 26
        end local 9 // java.lang.String reason
      StackMap locals: org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime java.util.Map
      StackMap stack:
        22: aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.CompilationExceptionsAreFatal:Lorg/graalvm/options/OptionKey;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValue:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 25
        23: .line 891
            ldc "engine.CompilationExceptionsAreFatal=true"
            astore 9 /* reason */
        start local 9 // java.lang.String reason
        24: .line 892
            goto 26
        end local 9 // java.lang.String reason
        25: .line 893
      StackMap locals:
      StackMap stack:
            ldc "engine.PerformanceWarningsAreFatal=true"
            astore 9 /* reason */
        start local 9 // java.lang.String reason
        26: .line 895
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "Exiting VM due to %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* reason */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.log:(Ljava/lang/String;)V
        27: .line 896
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        end local 9 // java.lang.String reason
        end local 8 // java.util.Map properties
        end local 7 // org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime rt
        28: .line 899
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction action
        end local 5 // boolean graphTooBig
        end local 4 // boolean permanentBailout
        end local 3 // boolean bailout
        end local 2 // boolean silent
        end local 1 // java.util.function.Supplier serializedException
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   29     0                 this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   29     1  serializedException  Ljava/util/function/Supplier<Ljava/lang/String;>;
            0   29     2               silent  Z
            0   29     3              bailout  Z
            0   29     4     permanentBailout  Z
            0   29     5          graphTooBig  Z
            5    6     6               action  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
           10   29     6               action  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$ExceptionAction;
           12   13     7                error  Ljava/lang/InternalError;
           15   28     7                   rt  Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
           16   28     8           properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           21   22     9               reason  Ljava/lang/String;
           24   25     9               reason  Ljava/lang/String;
           26   28     9               reason  Ljava/lang/String;
    Signature: (Ljava/util/function/Supplier<Ljava/lang/String;>;ZZZZ)V
    MethodParameters:
                     Name  Flags
      serializedException  
      silent               
      bailout              
      permanentBailout     
      graphTooBig          

  public final void log(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.String message
         0: .line 902
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* this */
            aload 1 /* message */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.log:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/String;)V
         1: .line 903
            return
        end local 1 // java.lang.String message
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public final int getKnownCallSiteCount();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 907
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget getSourceCallTarget();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 911
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 916
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 917
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.nameCache:Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String result
         2: .line 918
            aload 1 /* result */
            ifnonnull 5
         3: .line 919
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.nodes.RootNode.toString:()Ljava/lang/String;
            astore 1 /* result */
         4: .line 920
            aload 0 /* this */
            aload 1 /* result */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.nameCache:Ljava/lang/String;
         5: .line 922
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            2    6     1  result  Ljava/lang/String;

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 927
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 928
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.nodes.RootNode.toString:()Ljava/lang/String;
            astore 1 /* superString */
        start local 1 // java.lang.String superString
         2: .line 929
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnull 4
         3: .line 930
            new java.lang.StringBuilder
            dup
            aload 1 /* superString */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " <split-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* superString */
         4: .line 932
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* superString */
            areturn
        end local 1 // java.lang.String superString
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            2    5     1  superString  Ljava/lang/String;

  static final java.lang.Object[] castArrayFixedLength(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object[] args
        start local 1 // int length
         0: .line 941
            aload 0 /* args */
            areturn
        end local 1 // int length
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    args  [Ljava/lang/Object;
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      args    
      length  

  static <T> T unsafeCast(, java.lang.Class<T>, boolean, boolean, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;ZZZ)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // java.lang.Object value
        start local 1 // java.lang.Class type
        start local 2 // boolean condition
        start local 3 // boolean nonNull
        start local 4 // boolean exact
         0: .line 954
            aload 0 /* value */
            areturn
        end local 4 // boolean exact
        end local 3 // boolean nonNull
        end local 2 // boolean condition
        end local 1 // java.lang.Class type
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      value  Ljava/lang/Object;
            0    1     1       type  Ljava/lang/Class<TT;>;
            0    1     2  condition  Z
            0    1     3    nonNull  Z
            0    1     4      exact  Z
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;ZZZ)TT;
    MethodParameters:
           Name  Flags
      value      
      type       
      condition  
      nonNull    
      exact      

  public static com.oracle.truffle.api.frame.VirtualFrame createFrame(com.oracle.truffle.api.frame.FrameDescriptor, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;[Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/VirtualFrame;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.frame.FrameDescriptor descriptor
        start local 1 // java.lang.Object[] args
         0: .line 961
            new org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing
            dup
            aload 0 /* descriptor */
            aload 1 /* args */
            invokespecial org.graalvm.compiler.truffle.runtime.FrameWithoutBoxing.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;[Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // com.oracle.truffle.api.frame.FrameDescriptor descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  descriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    1     1        args  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      descriptor  
      args        

  final void onLoopCount(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int count
         0: .line 965
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            iload 1 /* count */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
            istore 2 /* oldLoopCallCount */
        start local 2 // int oldLoopCallCount
         2: .line 967
            iload 2 /* oldLoopCallCount */
            iload 1 /* count */
            iadd
            istore 3 /* newLoopCallCount */
        start local 3 // int newLoopCallCount
         3: .line 968
            aload 0 /* this */
            iload 3 /* newLoopCallCount */
            iload 2 /* oldLoopCallCount */
            if_icmplt 4
            iload 3 /* newLoopCallCount */
            goto 5
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
         4: ldc 2147483647
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int int int
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
         5: putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
         6: .line 969
            return
        end local 3 // int newLoopCallCount
        end local 2 // int oldLoopCallCount
        end local 1 // int count
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1             count  I
            2    7     2  oldLoopCallCount  I
            3    7     3  newLoopCallCount  I
    MethodParameters:
       Name  Flags
      count  

  public final boolean nodeReplaced(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.nodes.Node, java.lang.CharSequence);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/CharSequence;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.nodes.Node oldNode
        start local 2 // com.oracle.truffle.api.nodes.Node newNode
        start local 3 // java.lang.CharSequence reason
         0: .line 973
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 974
            aload 0 /* this */
            aload 3 /* reason */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidate:(Ljava/lang/CharSequence;)Z
            pop
         2: .line 980
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.invalidateNodeRewritingAssumption:()V
         3: .line 981
            iconst_0
            ireturn
        end local 3 // java.lang.CharSequence reason
        end local 2 // com.oracle.truffle.api.nodes.Node newNode
        end local 1 // com.oracle.truffle.api.nodes.Node oldNode
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    4     1  oldNode  Lcom/oracle/truffle/api/nodes/Node;
            0    4     2  newNode  Lcom/oracle/truffle/api/nodes/Node;
            0    4     3   reason  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      oldNode  
      newNode  
      reason   

  public final void accept(com.oracle.truffle.api.nodes.NodeVisitor);
    descriptor: (Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.nodes.NodeVisitor visitor
         0: .line 985
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            aload 1 /* visitor */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.accept:(Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
         1: .line 986
            return
        end local 1 // com.oracle.truffle.api.nodes.NodeVisitor visitor
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1  visitor  Lcom/oracle/truffle/api/nodes/NodeVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public final int getNonTrivialNodeCount();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 990
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cachedNonTrivialNodeCount:I
            iconst_m1
            if_icmpne 2
         1: .line 991
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.calculateNonTrivialNodes:(Lcom/oracle/truffle/api/nodes/Node;)I
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cachedNonTrivialNodeCount:I
         2: .line 993
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cachedNonTrivialNodeCount:I
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final int getCallCount();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 998
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callCount:I
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final int getCallAndLoopCount();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1002
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callAndLoopCount:I
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final long getInitializedTimestamp();
    descriptor: ()J
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1006
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializedTimestamp:J
            lreturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public static int calculateNonTrivialNodes(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.Node node
         0: .line 1010
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor
            dup
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor.<init>:()V
            astore 1 /* visitor */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor visitor
         1: .line 1011
            aload 0 /* node */
            aload 1 /* visitor */
            invokevirtual com.oracle.truffle.api.nodes.Node.accept:(Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
         2: .line 1012
            aload 1 /* visitor */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor.nodeCount:I
            ireturn
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor visitor
        end local 0 // com.oracle.truffle.api.nodes.Node node
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     node  Lcom/oracle/truffle/api/nodes/Node;
            1    3     1  visitor  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$NonTrivialNodeCountVisitor;
    MethodParameters:
      Name  Flags
      node  

  public final java.util.Map<java.lang.String, java.lang.Object> getDebugProperties();
    descriptor: ()Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1016
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* properties */
        start local 1 // java.util.Map properties
         1: .line 1017
            aload 0 /* this */
            aload 1 /* properties */
            invokestatic org.graalvm.compiler.truffle.runtime.GraalTruffleRuntimeListener.addASTSizeProperty:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Ljava/util/Map;)V
         2: .line 1018
            ldc "%7d/%5d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCallCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callThresholdInInterpreter:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* callsThresholdInInterpreter */
        start local 2 // java.lang.String callsThresholdInInterpreter
         3: .line 1019
            ldc "%7d/%5d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCallAndLoopCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callAndLoopThresholdInInterpreter:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* loopsThresholdInInterpreter */
        start local 3 // java.lang.String loopsThresholdInInterpreter
         4: .line 1020
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.multiTier:Z
            ifeq 16
         5: .line 1021
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValidLastTier:()Z
            ifeq 12
         6: .line 1022
            ldc "%7d/%5d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCallCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callThresholdInFirstTier:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* callsThresholdInFirstTier */
        start local 4 // java.lang.String callsThresholdInFirstTier
         7: .line 1023
            ldc "%7d/%5d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCallCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.callAndLoopThresholdInFirstTier:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* loopsThresholdInFirstTier */
        start local 5 // java.lang.String loopsThresholdInFirstTier
         8: .line 1024
            aload 1 /* properties */
            ldc "Tier"
            ldc "Last"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1025
            aload 1 /* properties */
            ldc "Calls/Thres"
            aload 4 /* callsThresholdInFirstTier */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1026
            aload 1 /* properties */
            ldc "CallsAndLoop/Thres"
            aload 5 /* loopsThresholdInFirstTier */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String loopsThresholdInFirstTier
        end local 4 // java.lang.String callsThresholdInFirstTier
        11: .line 1027
            goto 18
        12: .line 1028
      StackMap locals: java.util.Map java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* properties */
            ldc "Tier"
            ldc "First"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 1029
            aload 1 /* properties */
            ldc "Calls/Thres"
            aload 2 /* callsThresholdInInterpreter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1030
            aload 1 /* properties */
            ldc "CallsAndLoop/Thres"
            aload 3 /* loopsThresholdInInterpreter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1032
            goto 18
        16: .line 1033
      StackMap locals:
      StackMap stack:
            aload 1 /* properties */
            ldc "Calls/Thres"
            aload 2 /* callsThresholdInInterpreter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 1034
            aload 1 /* properties */
            ldc "CallsAndLoop/Thres"
            aload 3 /* loopsThresholdInInterpreter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 1036
      StackMap locals:
      StackMap stack:
            aload 1 /* properties */
            areturn
        end local 3 // java.lang.String loopsThresholdInInterpreter
        end local 2 // java.lang.String callsThresholdInInterpreter
        end local 1 // java.util.Map properties
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   19     0                         this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1   19     1                   properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3   19     2  callsThresholdInInterpreter  Ljava/lang/String;
            4   19     3  loopsThresholdInInterpreter  Ljava/lang/String;
            7   11     4    callsThresholdInFirstTier  Ljava/lang/String;
            8   11     5    loopsThresholdInFirstTier  Ljava/lang/String;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public final org.graalvm.compiler.truffle.common.TruffleCallNode[] getCallNodes();
    descriptor: ()[Lorg/graalvm/compiler/truffle/common/TruffleCallNode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1041
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* callNodes */
        start local 1 // java.util.List callNodes
         1: .line 1042
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$1
            dup
            aload 0 /* this */
            aload 1 /* callNodes */
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$1.<init>:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Ljava/util/List;)V
            invokevirtual com.oracle.truffle.api.nodes.RootNode.accept:(Lcom/oracle/truffle/api/nodes/NodeVisitor;)V
         2: .line 1051
            aload 1 /* callNodes */
            iconst_0
            anewarray org.graalvm.compiler.truffle.common.TruffleCallNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.common.TruffleCallNode[]
            areturn
        end local 1 // java.util.List callNodes
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    3     1  callNodes  Ljava/util/List<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;

  public final com.oracle.truffle.api.CompilerOptions getCompilerOptions();
    descriptor: ()Lcom/oracle/truffle/api/CompilerOptions;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1055
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getCompilerOptions:()Lcom/oracle/truffle/api/CompilerOptions;
            astore 1 /* options */
        start local 1 // com.oracle.truffle.api.CompilerOptions options
         1: .line 1056
            aload 1 /* options */
            ifnull 3
         2: .line 1057
            aload 1 /* options */
            areturn
         3: .line 1059
      StackMap locals: com.oracle.truffle.api.CompilerOptions
      StackMap stack:
            getstatic com.oracle.truffle.api.impl.DefaultCompilerOptions.INSTANCE:Lcom/oracle/truffle/api/impl/DefaultCompilerOptions;
            areturn
        end local 1 // com.oracle.truffle.api.CompilerOptions options
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    4     1  options  Lcom/oracle/truffle/api/CompilerOptions;

  final void initializeUnsafeArgumentTypes(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Class[] argumentTypes
         0: .line 1070
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1071
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
            dup
            aload 1 /* argumentTypes */
            ldc "Custom profiled argument types"
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.<init>:([Ljava/lang/Class;Ljava/lang/String;)V
            astore 2 /* newProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
         2: .line 1072
            aload 0 /* this */
            aconst_null
            aload 2 /* newProfile */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.updateArgumentsProfile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)Z
            ifeq 5
         3: .line 1073
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
         4: .line 1074
            goto 7
         5: .line 1075
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.transitionToInvalidArgumentsProfile:()V
         6: .line 1076
            new java.lang.AssertionError
            dup
            ldc "Argument types already initialized. initializeArgumentTypes() must be called before any profile is initialized."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1078
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        end local 1 // java.lang.Class[] argumentTypes
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    8     1  argumentTypes  [Ljava/lang/Class;
            2    8     2     newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
    Signature: ([Ljava/lang/Class<*>;)V
    MethodParameters:
               Name  Flags
      argumentTypes  

  final boolean isValidArgumentProfile(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 1081
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1082
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 2 /* argumentsProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
         2: .line 1083
            aload 2 /* argumentsProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.isValid:()Z
            ifeq 3
            aload 1 /* args */
            aload 2 /* argumentsProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.types:[Ljava/lang/Class;
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.checkProfiledArgumentTypes:([Ljava/lang/Object;[Ljava/lang/Class;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    4     1              args  [Ljava/lang/Object;
            2    4     2  argumentsProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
    MethodParameters:
      Name  Flags
      args  

  private static boolean checkProfiledArgumentTypes([], java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object[] args
        start local 1 // java.lang.Class[] types
         0: .line 1087
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 1 /* types */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1088
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            arraylength
            aload 1 /* types */
            arraylength
            if_icmpeq 3
         2: .line 1089
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 1092
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            iconst_0
            aaload
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 5
         4: .line 1093
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         5: .line 1096
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* j */
        start local 2 // int j
         6: goto 12
         7: .line 1097
      StackMap locals: int
      StackMap stack:
            aload 1 /* types */
            iload 2 /* j */
            aaload
            ifnonnull 9
         8: .line 1098
            goto 11
         9: .line 1100
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            iload 2 /* j */
            aaload
            aload 0 /* args */
            iload 2 /* j */
            aaload
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1101
            aload 0 /* args */
            iload 2 /* j */
            aaload
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1096
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* j */
            aload 1 /* types */
            arraylength
            if_icmplt 7
        end local 2 // int j
        13: .line 1103
            iconst_1
            ireturn
        end local 1 // java.lang.Class[] types
        end local 0 // java.lang.Object[] args
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   args  [Ljava/lang/Object;
            0   14     1  types  [Ljava/lang/Class;
            6   13     2      j  I
    Signature: ([Ljava/lang/Object;[Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      args   
      types  

  public final void stopProfilingArguments();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1109
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 1 /* argumentsProfile */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
         2: .line 1112
            aload 1 /* argumentsProfile */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            if_acmpeq 5
         3: .line 1115
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
         4: .line 1117
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.transitionToInvalidArgumentsProfile:()V
         5: .line 1119
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            2    6     1  argumentsProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;

  private void transitionToInvalidArgumentsProfile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 1 /* oldProfile */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile oldProfile
         1: .line 1124
            aload 1 /* oldProfile */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            if_acmpne 3
         2: .line 1126
            return
         3: .line 1128
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldProfile */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.updateArgumentsProfile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)Z
            ifeq 0
         4: .line 1129
            return
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile oldProfile
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    5     1  oldProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;

  private boolean updateArgumentsProfile(org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile, org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile oldProfile
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
         0: .line 1136
            aload 1 /* oldProfile */
            ifnull 2
         1: .line 1141
            aload 1 /* oldProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.invalidate:()V
         2: .line 1143
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.ARGUMENTS_PROFILE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aload 1 /* oldProfile */
            aload 2 /* newProfile */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile oldProfile
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    3     1  oldProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            0    3     2  newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
    MethodParameters:
            Name  Flags
      oldProfile  
      newProfile  

  public final void profileArguments(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 1149
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 2 /* argumentsProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
         2: .line 1151
            aload 2 /* argumentsProfile */
            ifnonnull 6
         3: .line 1152
            invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
            ifeq 23
         4: .line 1153
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initializeProfiledArgumentTypes:([Ljava/lang/Object;)V
         5: .line 1155
            goto 23
         6: .line 1156
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            aload 2 /* argumentsProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.types:[Ljava/lang/Class;
            astore 3 /* types */
        start local 3 // java.lang.Class[] types
         7: .line 1157
            aload 3 /* types */
            ifnull 23
         8: .line 1158
            aload 3 /* types */
            arraylength
            aload 1 /* args */
            arraylength
            if_icmpeq 12
         9: .line 1159
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
        10: .line 1160
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.transitionToInvalidArgumentsProfile:()V
        11: .line 1161
            goto 23
      StackMap locals: java.lang.Class[]
      StackMap stack:
        12: aload 2 /* argumentsProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.isValid:()Z
            ifeq 23
        13: .line 1162
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        14: goto 22
        15: .line 1163
      StackMap locals: int
      StackMap stack:
            aload 3 /* types */
            iload 4 /* i */
            aaload
            astore 5 /* type */
        start local 5 // java.lang.Class type
        16: .line 1164
            aload 1 /* args */
            iload 4 /* i */
            aaload
            astore 6 /* value */
        start local 6 // java.lang.Object value
        17: .line 1165
            aload 5 /* type */
            ifnull 21
            aload 6 /* value */
            ifnull 18
            aload 6 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 5 /* type */
            if_acmpeq 21
        18: .line 1166
      StackMap locals: java.lang.Class java.lang.Object
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
        19: .line 1167
            aload 0 /* this */
            aload 1 /* args */
            aload 2 /* argumentsProfile */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.updateProfiledArgumentTypes:([Ljava/lang/Object;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)V
        20: .line 1168
            goto 23
        end local 6 // java.lang.Object value
        end local 5 // java.lang.Class type
        21: .line 1162
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* types */
            arraylength
            if_icmplt 15
        end local 4 // int i
        end local 3 // java.lang.Class[] types
        23: .line 1174
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0              this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   24     1              args  [Ljava/lang/Object;
            2   24     2  argumentsProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            7   23     3             types  [Ljava/lang/Class;
           14   23     4                 i  I
           16   21     5              type  Ljava/lang/Class<*>;
           17   21     6             value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
      Name  Flags
      args  

  private void initializeProfiledArgumentTypes(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
         0: .line 1177
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1178
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1180
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            arraylength
            sipush 256
            if_icmpgt 13
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.argumentTypeSpeculation:Z
            ifeq 13
         3: .line 1181
            aload 1 /* args */
            arraylength
            ifne 4
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.EMPTY_ARGUMENT_TYPES:[Ljava/lang/Class;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* args */
            arraylength
            anewarray java.lang.Class
      StackMap locals:
      StackMap stack: java.lang.Class[]
         5: astore 3 /* types */
        start local 3 // java.lang.Class[] types
         6: .line 1182
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 10
         8: .line 1183
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.lang.Object[] top java.lang.Class[] int
      StackMap stack:
            aload 3 /* types */
            iload 4 /* i */
            aload 1 /* args */
            iload 4 /* i */
            aaload
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.classOf:(Ljava/lang/Object;)Ljava/lang/Class;
            aastore
         9: .line 1182
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 8
        end local 4 // int i
        11: .line 1185
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
            dup
            aload 3 /* types */
            ldc "Profiled Argument Types"
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.<init>:([Ljava/lang/Class;Ljava/lang/String;)V
            astore 2 /* newProfile */
        end local 3 // java.lang.Class[] types
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        12: .line 1186
            goto 14
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        13: .line 1187
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.lang.Object[]
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 2 /* newProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        14: .line 1190
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 2 /* newProfile */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.updateArgumentsProfile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)Z
            ifne 16
        15: .line 1192
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileArguments:([Ljava/lang/Object;)V
        16: .line 1194
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   17     1        args  [Ljava/lang/Object;
           12   13     2  newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
           14   17     2  newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            6   12     3       types  [Ljava/lang/Class;
            7   11     4           i  I
    MethodParameters:
      Name  Flags
      args  

  private void updateProfiledArgumentTypes(java.lang.Object[], org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile);
    descriptor: ([Ljava/lang/Object;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] args
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile oldProfile
         0: .line 1197
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 1198
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1199
      StackMap locals:
      StackMap stack:
            aload 2 /* oldProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.types:[Ljava/lang/Class;
            astore 3 /* oldTypes */
        start local 3 // java.lang.Class[] oldTypes
         3: .line 1200
            aload 2 /* oldProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.types:[Ljava/lang/Class;
            arraylength
            anewarray java.lang.Class
            astore 4 /* newTypes */
        start local 4 // java.lang.Class[] newTypes
         4: .line 1201
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         5: goto 8
         6: .line 1202
      StackMap locals: java.lang.Class[] java.lang.Class[] int
      StackMap stack:
            aload 4 /* newTypes */
            iload 5 /* j */
            aload 3 /* oldTypes */
            iload 5 /* j */
            aaload
            aload 1 /* args */
            iload 5 /* j */
            aaload
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.classOf:(Ljava/lang/Object;)Ljava/lang/Class;
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.joinTypes:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            aastore
         7: .line 1201
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* j */
            aload 3 /* oldTypes */
            arraylength
            if_icmplt 6
        end local 5 // int j
         9: .line 1205
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
            dup
            aload 4 /* newTypes */
            ldc "Profiled Argument Types"
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.<init>:([Ljava/lang/Class;Ljava/lang/String;)V
            astore 5 /* newProfile */
        start local 5 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        10: .line 1206
            aload 0 /* this */
            aload 2 /* oldProfile */
            aload 5 /* newProfile */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.updateArgumentsProfile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)Z
            ifne 12
        11: .line 1208
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileArguments:([Ljava/lang/Object;)V
        12: .line 1210
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.lang.Object[] org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile java.lang.Class[] java.lang.Class[] org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        end local 4 // java.lang.Class[] newTypes
        end local 3 // java.lang.Class[] oldTypes
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile oldProfile
        end local 1 // java.lang.Object[] args
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   13     1        args  [Ljava/lang/Object;
            0   13     2  oldProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            3   13     3    oldTypes  [Ljava/lang/Class;
            4   13     4    newTypes  [Ljava/lang/Class;
            5    9     5           j  I
           10   13     5  newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
    MethodParameters:
            Name  Flags
      args        
      oldProfile  

  public final java.lang.Object[] injectArgumentsProfile(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] originalArguments
         0: .line 1214
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 2 /* argumentsProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
         2: .line 1216
            aload 1 /* originalArguments */
            astore 3 /* args */
        start local 3 // java.lang.Object[] args
         3: .line 1217
            aload 2 /* argumentsProfile */
            ifnull 7
            aload 2 /* argumentsProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.isValid:()Z
            ifeq 7
         4: .line 1218
            aload 2 /* argumentsProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.types:[Ljava/lang/Class;
            astore 4 /* types */
        start local 4 // java.lang.Class[] types
         5: .line 1219
            aload 3 /* args */
            aload 4 /* types */
            arraylength
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.castArrayFixedLength:([Ljava/lang/Object;I)[Ljava/lang/Object;
            ldc [Ljava/lang/Object;
            iconst_1
            iconst_1
            iconst_1
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.unsafeCast:(Ljava/lang/Object;Ljava/lang/Class;ZZZ)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 3 /* args */
         6: .line 1220
            aload 0 /* this */
            aload 3 /* args */
            aload 4 /* types */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.castArgumentsImpl:([Ljava/lang/Object;[Ljava/lang/Class;)[Ljava/lang/Object;
            astore 3 /* args */
        end local 4 // java.lang.Class[] types
         7: .line 1222
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile java.lang.Object[]
      StackMap stack:
            aload 3 /* args */
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile argumentsProfile
        end local 1 // java.lang.Object[] originalArguments
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    8     1  originalArguments  [Ljava/lang/Object;
            2    8     2   argumentsProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            3    8     3               args  [Ljava/lang/Object;
            5    7     4              types  [Ljava/lang/Class;
    MethodParameters:
                   Name  Flags
      originalArguments  

  private [] castArgumentsImpl([], java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Class;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object[] originalArguments
        start local 2 // java.lang.Class[] types
         0: .line 1227
            aload 2 /* types */
            arraylength
            anewarray java.lang.Object
            astore 3 /* castArguments */
        start local 3 // java.lang.Object[] castArguments
         1: .line 1228
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            istore 4 /* isCallProfiled */
        start local 4 // boolean isCallProfiled
         2: .line 1229
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 12
         4: .line 1231
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 2 /* types */
            iload 5 /* i */
            aaload
            astore 6 /* targetType */
        start local 6 // java.lang.Class targetType
         5: .line 1232
            iload 4 /* isCallProfiled */
            ifeq 6
            iload 5 /* i */
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: java.lang.Class
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* exact */
        start local 7 // boolean exact
         8: .line 1233
            aload 3 /* castArguments */
            iload 5 /* i */
            aload 6 /* targetType */
            ifnull 9
            aload 1 /* originalArguments */
            iload 5 /* i */
            aaload
            aload 6 /* targetType */
            iconst_1
            iconst_1
            iload 7 /* exact */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.unsafeCast:(Ljava/lang/Object;Ljava/lang/Class;ZZZ)Ljava/lang/Object;
            goto 10
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.lang.Object[] java.lang.Class[] java.lang.Object[] int int java.lang.Class int
      StackMap stack: java.lang.Object[] int
         9: aload 1 /* originalArguments */
            iload 5 /* i */
            aaload
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget java.lang.Object[] java.lang.Class[] java.lang.Object[] int int java.lang.Class int
      StackMap stack: java.lang.Object[] int java.lang.Object
        10: aastore
        end local 7 // boolean exact
        end local 6 // java.lang.Class targetType
        11: .line 1229
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 2 /* types */
            arraylength
            if_icmplt 4
        end local 5 // int i
        13: .line 1235
            aload 3 /* castArguments */
            areturn
        end local 4 // boolean isCallProfiled
        end local 3 // java.lang.Object[] castArguments
        end local 2 // java.lang.Class[] types
        end local 1 // java.lang.Object[] originalArguments
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   14     1  originalArguments  [Ljava/lang/Object;
            0   14     2              types  [Ljava/lang/Class;
            1   14     3      castArguments  [Ljava/lang/Object;
            2   14     4     isCallProfiled  Z
            3   13     5                  i  I
            5   11     6         targetType  Ljava/lang/Class<*>;
            8   11     7              exact  Z
    Signature: ([Ljava/lang/Object;[Ljava/lang/Class<*>;)[Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.ExplodeLoop()
    MethodParameters:
                   Name  Flags
      originalArguments  
      types              

  protected final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile getInitializedArgumentsProfile();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1239
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            ifnonnull 4
         1: .line 1244
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1245
            aload 0 /* this */
            aconst_null
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.updateArgumentsProfile:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;)Z
            pop
         3: .line 1247
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private void profileReturnValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object result
         0: .line 1257
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            astore 2 /* returnProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
         1: .line 1258
            aload 2 /* returnProfile */
            ifnonnull 10
         2: .line 1261
            invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
            ifeq 15
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.returnTypeSpeculation:Z
            ifeq 15
         3: .line 1262
            aload 1 /* result */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.classOf:(Ljava/lang/Object;)Ljava/lang/Class;
            astore 3 /* type */
        start local 3 // java.lang.Class type
         4: .line 1263
            aload 3 /* type */
            ifnonnull 5
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            goto 6
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile java.lang.Class
      StackMap stack:
         5: new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile
            dup
            aload 3 /* type */
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.<init>:(Ljava/lang/Class;)V
      StackMap locals:
      StackMap stack: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile
         6: astore 4 /* newProfile */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile newProfile
         7: .line 1264
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.RETURN_PROFILE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aconst_null
            aload 4 /* newProfile */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 15
         8: .line 1266
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profileReturnValue:(Ljava/lang/Object;)V
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile newProfile
        end local 3 // java.lang.Class type
         9: .line 1269
            goto 15
        10: .line 1270
      StackMap locals:
      StackMap stack:
            aload 2 /* returnProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.isValid:()Z
            ifeq 15
            aload 1 /* result */
            ifnull 11
            aload 2 /* returnProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.type:Ljava/lang/Class;
            aload 1 /* result */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 15
        11: .line 1273
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
        12: .line 1278
            aload 2 /* returnProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.invalidate:()V
        13: .line 1279
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.RETURN_PROFILE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile
            astore 3 /* previous */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile previous
        14: .line 1280
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 15
            aload 3 /* previous */
            aload 2 /* returnProfile */
            if_acmpeq 15
            aload 3 /* previous */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            if_acmpeq 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile previous
        15: .line 1283
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
        end local 1 // java.lang.Object result
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   16     1         result  Ljava/lang/Object;
            1   16     2  returnProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            4    9     3           type  Ljava/lang/Class<*>;
            7    9     4     newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
           14   15     3       previous  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
    MethodParameters:
        Name  Flags
      result  

  private java.lang.Object injectReturnValueProfile(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object result
         0: .line 1286
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            astore 2 /* returnProfile */
        start local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
         1: .line 1287
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 3
            aload 2 /* returnProfile */
            ifnull 3
            aload 2 /* returnProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.assumption:Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.isValid:()Z
            ifeq 3
         2: .line 1288
            aload 1 /* result */
            aload 2 /* returnProfile */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.type:Ljava/lang/Class;
            iconst_1
            iconst_1
            iconst_1
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.unsafeCast:(Ljava/lang/Object;Ljava/lang/Class;ZZZ)Ljava/lang/Object;
            areturn
         3: .line 1290
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 2 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
        end local 1 // java.lang.Object result
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    4     1         result  Ljava/lang/Object;
            1    4     2  returnProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
    MethodParameters:
        Name  Flags
      result  

  protected final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile getInitializedReturnProfile();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1294
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            ifnonnull 4
         1: .line 1299
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1300
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.RETURN_PROFILE_UPDATER:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aconst_null
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         3: .line 1301
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private <T extends java.lang.Throwable> T profileExceptionType();
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Throwable value
         0: .line 1312
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledExceptionType:Ljava/lang/Class;
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
         1: .line 1313
            aload 2 /* clazz */
            ldc Ljava/lang/Throwable;
            if_acmpeq 11
         2: .line 1314
            aload 2 /* clazz */
            ifnull 6
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* clazz */
            if_acmpne 6
         3: .line 1315
            invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
            ifeq 5
         4: .line 1316
            aload 1 /* value */
            areturn
         5: .line 1318
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* value */
            aload 2 /* clazz */
            invokestatic com.oracle.truffle.api.CompilerDirectives.castExact:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.Throwable
            areturn
         6: .line 1321
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         7: .line 1322
            aload 2 /* clazz */
            ifnonnull 10
         8: .line 1323
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledExceptionType:Ljava/lang/Class;
         9: .line 1324
            goto 11
        10: .line 1325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Throwable;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledExceptionType:Ljava/lang/Class;
        11: .line 1329
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.Throwable value
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   12     1  value  TT;
            1   12     2  clazz  Ljava/lang/Class<+Ljava/lang/Throwable;>;
    Signature: <T:Ljava/lang/Throwable;>(TT;)TT;
    MethodParameters:
       Name  Flags
      value  

  private static java.lang.Class<?> classOf();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object arg
         0: .line 1335
            aload 0 /* arg */
            ifnull 1
            aload 0 /* arg */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
         2: areturn
        end local 0 // java.lang.Object arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   arg  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      arg   

  private static java.lang.Class<?> joinTypes(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class class1
        start local 1 // java.lang.Class class2
         0: .line 1341
            aload 0 /* class1 */
            aload 1 /* class2 */
            if_acmpne 2
         1: .line 1342
            aload 0 /* class1 */
            areturn
         2: .line 1344
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Class class2
        end local 0 // java.lang.Class class1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  class1  Ljava/lang/Class<*>;
            0    3     1  class2  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      class1  
      class2  

  private static org.graalvm.compiler.truffle.runtime.OptimizedAssumption createInvalidAssumption(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1349
            aload 0 /* name */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.createValidAssumption:(Ljava/lang/String;)Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
            astore 1 /* result */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedAssumption result
         1: .line 1350
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.invalidate:()V
         2: .line 1351
            aload 1 /* result */
            areturn
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedAssumption result
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    name  Ljava/lang/String;
            1    3     1  result  Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
    MethodParameters:
      Name  Flags
      name  

  private static org.graalvm.compiler.truffle.runtime.OptimizedAssumption createValidAssumption(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 1355
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 0 /* name */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedAssumption
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public final boolean isSplit();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1363
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.sourceCallTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode getCallSiteForSplit();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1367
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isSplit:()Z
            ifeq 4
         1: .line 1368
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getSingleCallNode:()Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            astore 1 /* callNode */
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode callNode
         2: .line 1369
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 3
            aload 1 /* callNode */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1370
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode
      StackMap stack:
            aload 1 /* callNode */
            areturn
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode callNode
         4: .line 1372
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            2    4     1  callNode  Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;

  final int getUninitializedNodeCount();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1377
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.uninitializedNodeCount:I
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.uninitializedNodeCount:I
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  public final boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.lang.Object obj
         0: .line 1395
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public final int hashCode();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1400
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final org.graalvm.compiler.truffle.runtime.CompilationTask getCompilationTask();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1404
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            areturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final synchronized void resetCompilationTask();
    descriptor: ()V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1421
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compilationTask:Lorg/graalvm/compiler/truffle/runtime/CompilationTask;
         2: .line 1423
            return
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final synchronized void addDirectCallNode(org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;)V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode directCallNode
         0: .line 1427
            aload 1 /* directCallNode */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1428
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
            astore 2 /* nodeRef */
        start local 2 // java.lang.ref.WeakReference nodeRef
         2: .line 1429
            aload 2 /* nodeRef */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.MULTIPLE_CALLS:Ljava/lang/ref/WeakReference;
            if_acmpeq 9
         3: .line 1431
            aload 2 /* nodeRef */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NO_CALL:Ljava/lang/ref/WeakReference;
            if_acmpne 6
         4: .line 1432
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* directCallNode */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
         5: .line 1433
            goto 9
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
         6: aload 2 /* nodeRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            aload 1 /* directCallNode */
            if_acmpne 8
         7: .line 1435
            return
         8: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.MULTIPLE_CALLS:Ljava/lang/ref/WeakReference;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
         9: .line 1440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
        10: .line 1441
            return
        end local 2 // java.lang.ref.WeakReference nodeRef
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode directCallNode
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   11     1  directCallNode  Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            2   11     2         nodeRef  Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;
    RuntimeInvisibleAnnotations: 
      org.graalvm.compiler.truffle.runtime.SuppressFBWarnings(value = {"VO_VOLATILE_INCREMENT"}, justification = "All increments and decrements are synchronized.")
    MethodParameters:
                Name  Flags
      directCallNode  

  final synchronized void removeDirectCallNode(org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode);
    descriptor: (Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;)V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode directCallNode
         0: .line 1445
            aload 1 /* directCallNode */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1446
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
            astore 2 /* nodeRef */
        start local 2 // java.lang.ref.WeakReference nodeRef
         2: .line 1447
            aload 2 /* nodeRef */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.MULTIPLE_CALLS:Ljava/lang/ref/WeakReference;
            if_acmpeq 9
         3: .line 1449
            aload 2 /* nodeRef */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NO_CALL:Ljava/lang/ref/WeakReference;
            if_acmpne 5
         4: .line 1451
            return
         5: .line 1452
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
            aload 2 /* nodeRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            aload 1 /* directCallNode */
            if_acmpne 8
         6: .line 1454
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.NO_CALL:Ljava/lang/ref/WeakReference;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
         7: .line 1455
            goto 9
         8: .line 1456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.MULTIPLE_CALLS:Ljava/lang/ref/WeakReference;
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
         9: .line 1459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
            iconst_1
            isub
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
        10: .line 1460
            return
        end local 2 // java.lang.ref.WeakReference nodeRef
        end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode directCallNode
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   11     1  directCallNode  Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            2   11     2         nodeRef  Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;
    RuntimeInvisibleAnnotations: 
      org.graalvm.compiler.truffle.runtime.SuppressFBWarnings(value = {"VO_VOLATILE_INCREMENT"}, justification = "All increments and decrements are synchronized.")
    MethodParameters:
                Name  Flags
      directCallNode  

  public final boolean isSingleCaller();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1463
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
            astore 1 /* nodeRef */
        start local 1 // java.lang.ref.WeakReference nodeRef
         1: .line 1464
            aload 1 /* nodeRef */
            ifnull 4
         2: .line 1465
            aload 1 /* nodeRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            ifnull 3
            iconst_1
            ireturn
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 1467
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.ref.WeakReference nodeRef
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    5     1  nodeRef  Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;

  public final org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode getSingleCallNode();
    descriptor: ()Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1471
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.singleCallNode:Ljava/lang/ref/WeakReference;
            astore 1 /* nodeRef */
        start local 1 // java.lang.ref.WeakReference nodeRef
         1: .line 1472
            aload 1 /* nodeRef */
            ifnull 3
         2: .line 1473
            aload 1 /* nodeRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode
            areturn
         3: .line 1475
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.ref.WeakReference nodeRef
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            1    4     1  nodeRef  Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;

  final boolean isNeedsSplit();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1479
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
            ireturn
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  final void polymorphicSpecialize(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // com.oracle.truffle.api.nodes.Node source
         0: .line 1483
            aconst_null
            astore 2 /* toDump */
        start local 2 // java.util.List toDump
         1: .line 1484
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.splittingDumpDecisions:Z
            ifeq 4
         2: .line 1485
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* toDump */
         3: .line 1486
            aload 1 /* source */
            aload 2 /* toDump */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.pullOutParentChain:(Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
         4: .line 1488
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            iconst_0
            ldc "Polymorphic event! Source:"
            aload 1 /* source */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;Ljava/lang/Object;)V
         5: .line 1489
            aload 0 /* this */
            iconst_0
            aload 2 /* toDump */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.maybeSetNeedsSplit:(ILjava/util/List;)Z
            pop
         6: .line 1490
            return
        end local 2 // java.util.List toDump
        end local 1 // com.oracle.truffle.api.nodes.Node source
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1  source  Lcom/oracle/truffle/api/nodes/Node;
            1    7     2  toDump  Ljava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;
    MethodParameters:
        Name  Flags
      source  

  public final void resetNeedsSplit();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1493
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
         1: .line 1494
            return
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;

  private boolean maybeSetNeedsSplit(int, java.util.List<com.oracle.truffle.api.nodes.Node>);
    descriptor: (ILjava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int depth
        start local 2 // java.util.List toDump
         0: .line 1497
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getSingleCallNode:()Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            astore 3 /* onlyCaller */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode onlyCaller
         1: .line 1498
            iload 1 /* depth */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.splittingMaxPropagationDepth:I
            if_icmpgt 2
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
            ifeq 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCallCount:()I
            iconst_1
            if_icmpne 4
         2: .line 1499
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode
      StackMap stack:
            aload 0 /* this */
            iload 1 /* depth */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callSitesKnown:I
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logEarlyReturn:(II)V
         3: .line 1500
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
            ireturn
         4: .line 1502
      StackMap locals:
      StackMap stack:
            aload 3 /* onlyCaller */
            ifnull 15
         5: .line 1503
            aload 3 /* onlyCaller */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            astore 4 /* callerRootNode */
        start local 4 // com.oracle.truffle.api.nodes.RootNode callerRootNode
         6: .line 1504
            aload 4 /* callerRootNode */
            ifnull 18
            aload 4 /* callerRootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            ifnull 18
         7: .line 1505
            aload 4 /* callerRootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            astore 5 /* callerTarget */
        start local 5 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget callerTarget
         8: .line 1506
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.splittingDumpDecisions:Z
            ifeq 10
         9: .line 1507
            aload 3 /* onlyCaller */
            aload 2 /* toDump */
            invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.pullOutParentChain:(Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
        10: .line 1509
      StackMap locals: com.oracle.truffle.api.nodes.RootNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
      StackMap stack:
            aload 0 /* this */
            iload 1 /* depth */
            ldc "One caller! Analysing parent."
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;)V
        11: .line 1510
            aload 5 /* callerTarget */
            iload 1 /* depth */
            iconst_1
            iadd
            aload 2 /* toDump */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.maybeSetNeedsSplit:(ILjava/util/List;)Z
            ifeq 18
        12: .line 1511
            aload 0 /* this */
            iload 1 /* depth */
            ldc "Set needs split to true via parent"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;)V
        13: .line 1512
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
        end local 5 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget callerTarget
        end local 4 // com.oracle.truffle.api.nodes.RootNode callerRootNode
        14: .line 1515
            goto 18
        15: .line 1516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* depth */
            ldc "Set needs split to true"
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;)V
        16: .line 1517
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
        17: .line 1518
            aload 0 /* this */
            aload 2 /* toDump */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.maybeDump:(Ljava/util/List;)V
        18: .line 1521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* depth */
            ldc "Return:"
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;Ljava/lang/Object;)V
        19: .line 1522
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
            ireturn
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode onlyCaller
        end local 2 // java.util.List toDump
        end local 1 // int depth
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0   20     1           depth  I
            0   20     2          toDump  Ljava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;
            1   20     3      onlyCaller  Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            6   14     4  callerRootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            8   14     5    callerTarget  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
    Signature: (ILjava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;)Z
    MethodParameters:
        Name  Flags
      depth   
      toDump  

  private void logEarlyReturn(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int depth
        start local 2 // int numberOfKnownCallNodes
         0: .line 1526
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.splittingTraceEvents:Z
            ifeq 2
         1: .line 1527
            aload 0 /* this */
            iload 1 /* depth */
            new java.lang.StringBuilder
            dup
            ldc "Early return: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.needsSplit:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc " callCount: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getCallCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", numberOfKnownCallNodes: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* numberOfKnownCallNodes */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;)V
         2: .line 1529
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int numberOfKnownCallNodes
        end local 1 // int depth
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    3     1                   depth  I
            0    3     2  numberOfKnownCallNodes  I
    MethodParameters:
                        Name  Flags
      depth                   
      numberOfKnownCallNodes  

  private void logPolymorphicEvent(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int depth
        start local 2 // java.lang.String message
         0: .line 1532
            aload 0 /* this */
            iload 1 /* depth */
            aload 2 /* message */
            aconst_null
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.logPolymorphicEvent:(ILjava/lang/String;Ljava/lang/Object;)V
         1: .line 1533
            return
        end local 2 // java.lang.String message
        end local 1 // int depth
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1    depth  I
            0    2     2  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      depth    
      message  

  private void logPolymorphicEvent(int, java.lang.String, java.lang.Object);
    descriptor: (ILjava/lang/String;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int depth
        start local 2 // java.lang.String message
        start local 3 // java.lang.Object arg
         0: .line 1536
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.splittingTraceEvents:Z
            ifeq 6
         1: .line 1537
            new java.lang.String
            dup
            iload 1 /* depth */
            newarray 5
            invokespecial java.lang.String.<init>:([C)V
            ldc "\u0000"
            ldc "  "
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 4 /* indent */
        start local 4 // java.lang.String indent
         2: .line 1538
            aload 3 /* arg */
            ifnonnull 3
            ldc ""
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 5 /* argString */
        start local 5 // java.lang.String argString
         5: .line 1539
            aload 0 /* this */
            ldc "[poly-event] %-70s %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            aload 4 /* indent */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* argString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.log:(Ljava/lang/String;)V
        end local 5 // java.lang.String argString
        end local 4 // java.lang.String indent
         6: .line 1541
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object arg
        end local 2 // java.lang.String message
        end local 1 // int depth
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1      depth  I
            0    7     2    message  Ljava/lang/String;
            0    7     3        arg  Ljava/lang/Object;
            2    6     4     indent  Ljava/lang/String;
            5    6     5  argString  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      depth    
      message  
      arg      

  private void maybeDump(java.util.List<com.oracle.truffle.api.nodes.Node>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // java.util.List toDump
         0: .line 1544
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.splittingDumpDecisions:Z
            ifeq 6
         1: .line 1545
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* callers */
        start local 2 // java.util.List callers
         2: .line 1546
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getSingleCallNode:()Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
            astore 3 /* callNode */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode callNode
         3: .line 1547
            aload 3 /* callNode */
            ifnull 5
         4: .line 1548
            aload 2 /* callers */
            aload 3 /* callNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1550
      StackMap locals: java.util.List org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* toDump */
            invokestatic org.graalvm.compiler.truffle.runtime.PolymorphicSpecializeDump.dumpPolymorphicSpecialize:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;Ljava/util/List;)V
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedDirectCallNode callNode
        end local 2 // java.util.List callers
         6: .line 1552
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List toDump
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    7     1    toDump  Ljava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;
            2    6     2   callers  Ljava/util/List<Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;>;
            3    6     3  callNode  Lorg/graalvm/compiler/truffle/runtime/OptimizedDirectCallNode;
    Signature: (Ljava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;)V
    MethodParameters:
        Name  Flags
      toDump  

  private static void pullOutParentChain(com.oracle.truffle.api.nodes.Node, java.util.List<com.oracle.truffle.api.nodes.Node>);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.nodes.Node node
        start local 1 // java.util.List toDump
         0: .line 1555
            aload 0 /* node */
            astore 2 /* rootNode */
        start local 2 // com.oracle.truffle.api.nodes.Node rootNode
         1: .line 1556
            goto 4
         2: .line 1557
      StackMap locals: com.oracle.truffle.api.nodes.Node
      StackMap stack:
            aload 1 /* toDump */
            aload 2 /* rootNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1558
            aload 2 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
            astore 2 /* rootNode */
         4: .line 1556
      StackMap locals:
      StackMap stack:
            aload 2 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
            ifnonnull 2
         5: .line 1560
            aload 1 /* toDump */
            aload 2 /* rootNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1561
            return
        end local 2 // com.oracle.truffle.api.nodes.Node rootNode
        end local 1 // java.util.List toDump
        end local 0 // com.oracle.truffle.api.nodes.Node node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      node  Lcom/oracle/truffle/api/nodes/Node;
            0    7     1    toDump  Ljava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;
            1    7     2  rootNode  Lcom/oracle/truffle/api/nodes/Node;
    Signature: (Lcom/oracle/truffle/api/nodes/Node;Ljava/util/List<Lcom/oracle/truffle/api/nodes/Node;>;)V
    MethodParameters:
        Name  Flags
      node    
      toDump  

  final void setNonTrivialNodeCount(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
        start local 1 // int nonTrivialNodeCount
         0: .line 1564
            aload 0 /* this */
            iload 1 /* nonTrivialNodeCount */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.cachedNonTrivialNodeCount:I
         1: .line 1565
            return
        end local 1 // int nonTrivialNodeCount
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            0    2     1  nonTrivialNodeCount  I
    MethodParameters:
                     Name  Flags
      nonTrivialNodeCount  

  public final boolean prepareForAOT();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
         0: .line 1568
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.wasExecuted:()Z
            ifeq 2
         1: .line 1569
            new java.lang.IllegalStateException
            dup
            ldc "Cannot prepare for AOT if call target was already executed."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.initialize:(Z)V
         3: .line 1577
            getstatic org.graalvm.compiler.truffle.runtime.GraalRuntimeAccessor.NODES:Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.rootNode:Lcom/oracle/truffle/api/nodes/RootNode;
            invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.prepareForAOT:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/nodes/ExecutionSignature;
            astore 1 /* profile */
        start local 1 // com.oracle.truffle.api.nodes.ExecutionSignature profile
         4: .line 1578
            aload 1 /* profile */
            ifnonnull 6
         5: .line 1579
            iconst_0
            ireturn
         6: .line 1581
      StackMap locals: com.oracle.truffle.api.nodes.ExecutionSignature
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.callProfiled:Z
            ifeq 8
         7: .line 1583
            iconst_1
            ireturn
         8: .line 1586
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            ifnull 9
            new java.lang.AssertionError
            dup
            ldc "return profile already initialized"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 1587
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            ifnull 10
            new java.lang.AssertionError
            dup
            ldc "argument profile already initialized"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 1589
      StackMap locals:
      StackMap stack:
            aload 1 /* profile */
            invokevirtual com.oracle.truffle.api.nodes.ExecutionSignature.getArgumentTypes:()[Ljava/lang/Class;
            astore 2 /* argumentTypes */
        start local 2 // java.lang.Class[] argumentTypes
        11: .line 1592
            aload 2 /* argumentTypes */
            ifnull 14
            aload 2 /* argumentTypes */
            arraylength
            sipush 256
            if_icmpgt 14
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.engine:Lorg/graalvm/compiler/truffle/runtime/EngineData;
            getfield org.graalvm.compiler.truffle.runtime.EngineData.argumentTypeSpeculation:Z
            ifeq 14
        12: .line 1593
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
            dup
            aload 2 /* argumentTypes */
            ldc "Profiled Argument Types"
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.<init>:([Ljava/lang/Class;Ljava/lang/String;)V
            astore 3 /* newProfile */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        13: .line 1594
            goto 15
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        14: .line 1595
      StackMap locals: java.lang.Class[]
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
            astore 3 /* newProfile */
        start local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        15: .line 1599
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile
      StackMap stack:
            aload 1 /* profile */
            invokevirtual com.oracle.truffle.api.nodes.ExecutionSignature.getReturnType:()Ljava/lang/Class;
            astore 5 /* returnType */
        start local 5 // java.lang.Class returnType
        16: .line 1600
            aload 5 /* returnType */
            ifnull 19
            aload 5 /* returnType */
            ldc Ljava/lang/Object;
            if_acmpeq 19
        17: .line 1601
            new org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile
            dup
            aload 5 /* returnType */
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.<init>:(Ljava/lang/Class;)V
            astore 4 /* returnProfile */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
        18: .line 1602
            goto 20
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
        19: .line 1603
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.ExecutionSignature java.lang.Class[] org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile top java.lang.Class
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile.INVALID:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
            astore 4 /* returnProfile */
        start local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
        20: .line 1606
      StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedCallTarget com.oracle.truffle.api.nodes.ExecutionSignature java.lang.Class[] org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 4 /* returnProfile */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.returnProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
        21: .line 1607
            aload 0 /* this */
            aload 3 /* newProfile */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.argumentsProfile:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
        22: .line 1609
            iconst_1
            ireturn
        end local 5 // java.lang.Class returnType
        end local 4 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile returnProfile
        end local 3 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile newProfile
        end local 2 // java.lang.Class[] argumentTypes
        end local 1 // com.oracle.truffle.api.nodes.ExecutionSignature profile
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            4   23     1        profile  Lcom/oracle/truffle/api/nodes/ExecutionSignature;
           11   23     2  argumentTypes  [Ljava/lang/Class;
           13   14     3     newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
           15   23     3     newProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ArgumentsProfile;
           18   19     4  returnProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
           20   23     4  returnProfile  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget$ReturnProfile;
           16   23     5     returnType  Ljava/lang/Class<*>;

  private static com.oracle.truffle.api.Assumption lambda$0(com.oracle.truffle.api.Assumption);
    descriptor: (Lcom/oracle/truffle/api/Assumption;)Lcom/oracle/truffle/api/Assumption;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.Assumption prev
         0: .line 398
            aload 0 /* prev */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.runtime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            aload 0 /* prev */
            invokeinterface com.oracle.truffle.api.Assumption.getName:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.Assumption
         2: areturn
        end local 0 // com.oracle.truffle.api.Assumption prev
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  prev  Lcom/oracle/truffle/api/Assumption;
}
SourceFile: "OptimizedCallTarget.java"
NestMembers:
  org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$1  org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile  org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor  org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
  public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
  public abstract NodeSupport = com.oracle.truffle.api.impl.Accessor$NodeSupport of com.oracle.truffle.api.impl.Accessor
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final ExceptionAction = org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$ExceptionAction of org.graalvm.compiler.truffle.options.PolyglotCompilerOptions
  org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$1
  public final ArgumentsProfile = org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ArgumentsProfile of org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
  private final NonTrivialNodeCountVisitor = org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$NonTrivialNodeCountVisitor of org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
  public final ReturnProfile = org.graalvm.compiler.truffle.runtime.OptimizedCallTarget$ReturnProfile of org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
  public OSRRootNode = org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OSRRootNode of org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode