public class org.graalvm.compiler.truffle.test.PerformanceWarningTest extends org.graalvm.compiler.truffle.test.TruffleCompilerImplTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.test.PerformanceWarningTest
  super_class: org.graalvm.compiler.truffle.test.TruffleCompilerImplTest
{
  private static final java.lang.String[] EMPTY_PERF_WARNINGS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject1 object1;
    descriptor: Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$VirtualObject1;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject2 object2;
    descriptor: Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$VirtualObject2;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.truffle.test.PerformanceWarningTest$SubClass object3;
    descriptor: Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$SubClass;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9a object4;
    descriptor: Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$L9a;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9b object5;
    descriptor: Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$L9b;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Boolean inFirstTier;
    descriptor: Ljava/lang/Boolean;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.io.ByteArrayOutputStream outContent;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 52
            iconst_0
            anewarray java.lang.String
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.EMPTY_PERF_WARNINGS:[Ljava/lang/String;
         1: .line 55
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject1
            dup
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject1.<init>:()V
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.object1:Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$VirtualObject1;
         2: .line 56
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject2
            dup
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject2.<init>:()V
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.object2:Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$VirtualObject2;
         3: .line 57
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$SubClass
            dup
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$SubClass.<init>:()V
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.object3:Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$SubClass;
         4: .line 58
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9a
            dup
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9a.<init>:()V
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.object4:Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$L9a;
         5: .line 59
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9b
            dup
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9b.<init>:()V
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.object5:Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$L9b;
         6: .line 60
            invokestatic org.graalvm.compiler.truffle.runtime.GraalCompilerDirectives.inFirstTier:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.inFirstTier:Ljava/lang/Boolean;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 49
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.TruffleCompilerImplTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;

  public void setUp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 66
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            putfield org.graalvm.compiler.truffle.test.PerformanceWarningTest.outContent:Ljava/io/ByteArrayOutputStream;
         1: .line 67
            aload 0 /* this */
            iconst_0
            anewarray java.lang.String
            invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.PerformanceWarningTest.outContent:Ljava/io/ByteArrayOutputStream;
            invokevirtual org.graalvm.polyglot.Context$Builder.logHandler:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
            iconst_1
            invokevirtual org.graalvm.polyglot.Context$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Context$Builder;
            ldc "engine.TracePerformanceWarnings"
            ldc "all"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         2: .line 68
            ldc "engine.TreatPerformanceWarningsAsErrors"
            ldc "all"
         3: .line 67
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
         4: .line 68
            ldc "engine.CompilationFailureAction"
            ldc "ExitVM"
            invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
            invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
         5: .line 67
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.setupContext:(Lorg/graalvm/polyglot/Context;)V
         6: .line 69
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void testVirtualCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 73
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeVirtualCall
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeVirtualCall.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_1
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf warn"
            aastore
            dup
            iconst_1
            ldc "execute"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 74
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDeepStack();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 78
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepStack
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepStack.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_1
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf warn"
            aastore
            dup
            iconst_1
            ldc "foo"
            aastore
            dup
            iconst_2
            ldc "bar"
            aastore
            dup
            iconst_3
            ldc "execute"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 79
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstanceOf();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 83
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInstanceOf
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInstanceOf.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_0
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf info"
            aastore
            dup
            iconst_1
            ldc "foo"
            aastore
            dup
            iconst_2
            ldc "bar"
            aastore
            dup
            iconst_3
            ldc "execute"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 84
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCombined();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 88
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeCombined
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeCombined.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_1
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf info"
            aastore
            dup
            iconst_1
            ldc "perf warn"
            aastore
            dup
            iconst_2
            ldc "foo"
            aastore
            dup
            iconst_3
            ldc "bar"
            aastore
            dup
            iconst_4
            ldc "execute"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 89
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBoundaryCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 93
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryCall
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryCall.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_0
            getstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.EMPTY_PERF_WARNINGS:[Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 94
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBoundaryVirtualCall();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 98
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryVirtualCall
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryVirtualCall.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_0
            getstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.EMPTY_PERF_WARNINGS:[Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 99
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInterfaceCast();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 103
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceCast
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceCast.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_0
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf info"
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$Interface;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            ldc "foo"
            aastore
            dup
            iconst_3
            ldc "bar"
            aastore
            dup
            iconst_4
            ldc "execute"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 104
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSingleImplementor();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 108
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.hasLookupReferencedType:()Z
            ifeq 2
         1: .line 109
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceSingleImplementorCall
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceSingleImplementorCall.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_0
            getstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.EMPTY_PERF_WARNINGS:[Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         2: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSlowClassCast();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 115
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepClass
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepClass.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_0
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf info"
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest$L8;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            ldc "foo"
            aastore
            dup
            iconst_3
            ldc "execute"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 116
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void testHelper(com.oracle.truffle.api.nodes.RootNode, boolean, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=8, locals=14, args_size=4
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
        start local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
        start local 2 // boolean expectException
        start local 3 // java.lang.String[] outputStrings
         0: .line 122
            iconst_0
            istore 4 /* seenException */
        start local 4 // boolean seenException
         1: .line 124
            invokestatic org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            astore 5 /* runtime */
        start local 5 // org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime runtime
         2: .line 125
            aload 5 /* runtime */
            aload 1 /* rootNode */
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
            astore 6 /* target */
        start local 6 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
         3: .line 126
            new org.graalvm.compiler.debug.DebugContext$Builder
            dup
            aload 5 /* runtime */
            ldc Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.getGraalOptions:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.options.OptionValues
            invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 7 /* debug */
        start local 7 // org.graalvm.compiler.debug.DebugContext debug
         4: .line 127
            aconst_null
            astore 8
            aconst_null
            astore 9
         5: aload 7 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.disableIntercept:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* d */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable d
         6: aload 7 /* debug */
            ldc "PerformanceWarningTest"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 11 /* s */
        start local 11 // org.graalvm.compiler.debug.DebugContext$Scope s
         7: .line 128
            aload 6 /* target */
            astore 12 /* compilable */
        start local 12 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget compilable
         8: .line 129
            aload 0 /* this */
            aload 6 /* target */
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.getTruffleCompiler:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            aload 12 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.createCompilationIdentifier:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilationIdentifier;
            astore 13 /* compilationId */
        start local 13 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
         9: .line 130
            aload 0 /* this */
            aload 6 /* target */
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.getTruffleCompiler:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl;
            aload 12 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.getOptionValues:()Lorg/graalvm/options/OptionValues;
            aload 7 /* debug */
            aload 12 /* compilable */
            new org.graalvm.compiler.truffle.runtime.TruffleInlining
            dup
            invokespecial org.graalvm.compiler.truffle.runtime.TruffleInlining.<init>:()V
            aload 13 /* compilationId */
            aconst_null
            aconst_null
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl.compileAST:(Lorg/graalvm/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/common/TruffleMetaAccessProvider;Lorg/graalvm/compiler/core/common/CompilationIdentifier;Lorg/graalvm/compiler/truffle/compiler/TruffleCompilerImpl$CancellableTruffleCompilationTask;Lorg/graalvm/compiler/truffle/common/TruffleCompilerListener;)V
        10: .line 131
            aload 12 /* compilable */
            invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
            invokestatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.assertTrue:(Z)V
        end local 13 // org.graalvm.compiler.core.common.CompilationIdentifier compilationId
        end local 12 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget compilable
        11: .line 132
            aload 11 /* s */
            ifnull 14
            aload 11 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 14
      StackMap locals: org.graalvm.compiler.truffle.test.PerformanceWarningTest com.oracle.truffle.api.nodes.RootNode int java.lang.String[] int org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime org.graalvm.compiler.truffle.runtime.OptimizedCallTarget org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        12: astore 8
            aload 11 /* s */
            ifnull 13
            aload 11 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 11 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        13: aload 8
            athrow
      StackMap locals:
      StackMap stack:
        14: aload 10 /* d */
            ifnull 28
            aload 10 /* d */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 9
            aload 8
            ifnonnull 16
            aload 9
            astore 8
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 8
            aload 9
            if_acmpeq 17
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 10 /* d */
            ifnull 18
            aload 10 /* d */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable d
      StackMap locals:
      StackMap stack:
        18: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 9
            aload 8
            ifnonnull 20
            aload 9
            astore 8
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 8
            aload 9
            if_acmpeq 21
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 8
            athrow
        end local 7 // org.graalvm.compiler.debug.DebugContext debug
        end local 6 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
        end local 5 // org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime runtime
        22: .line 133
      StackMap locals: org.graalvm.compiler.truffle.test.PerformanceWarningTest com.oracle.truffle.api.nodes.RootNode int java.lang.String[] int
      StackMap stack: java.lang.AssertionError
            astore 5 /* e */
        start local 5 // java.lang.AssertionError e
        23: .line 134
            iconst_1
            istore 4 /* seenException */
        24: .line 135
            iload 2 /* expectException */
            ifne 28
        25: .line 136
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected exception caught."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.PerformanceWarningTest.outContent:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            ifle 26
            new java.lang.StringBuilder
            dup
            bipush 10
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.PerformanceWarningTest.outContent:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 27
      StackMap locals: org.graalvm.compiler.truffle.test.PerformanceWarningTest com.oracle.truffle.api.nodes.RootNode int java.lang.String[] int java.lang.AssertionError
      StackMap stack: new 25 new 25 java.lang.StringBuilder
        26: ldc ""
      StackMap locals: org.graalvm.compiler.truffle.test.PerformanceWarningTest com.oracle.truffle.api.nodes.RootNode int java.lang.String[] int java.lang.AssertionError
      StackMap stack: new 25 new 25 java.lang.StringBuilder java.lang.String
        27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.AssertionError e
        28: .line 139
      StackMap locals:
      StackMap stack:
            iload 2 /* expectException */
            ifeq 30
            iload 4 /* seenException */
            ifne 30
        29: .line 140
            ldc "Expected exception not caught."
            iconst_0
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        30: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.test.PerformanceWarningTest.outContent:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            astore 5 /* output */
        start local 5 // java.lang.String output
        31: .line 145
            aload 3 /* outputStrings */
            getstatic org.graalvm.compiler.truffle.test.PerformanceWarningTest.EMPTY_PERF_WARNINGS:[Ljava/lang/String;
            if_acmpne 34
        32: .line 146
            ldc ""
            aload 5 /* output */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        33: .line 147
            goto 39
        34: .line 148
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* outputStrings */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 38
      StackMap locals: org.graalvm.compiler.truffle.test.PerformanceWarningTest com.oracle.truffle.api.nodes.RootNode int java.lang.String[] int java.lang.String top int int java.lang.String[]
      StackMap stack:
        35: aload 9
            iload 7
            aaload
            astore 6 /* s */
        start local 6 // java.lang.String s
        36: .line 149
            ldc "Root node class %s: \"%s\" not found in output \"%s\""
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* rootNode */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 6 /* s */
            aastore
            dup
            iconst_2
            aload 5 /* output */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 5 /* output */
            aload 6 /* s */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 6 // java.lang.String s
        37: .line 148
            iinc 7 1
      StackMap locals:
      StackMap stack:
        38: iload 7
            iload 8
            if_icmplt 35
        39: .line 152
      StackMap locals: org.graalvm.compiler.truffle.test.PerformanceWarningTest com.oracle.truffle.api.nodes.RootNode int java.lang.String[] int java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String output
        end local 4 // boolean seenException
        end local 3 // java.lang.String[] outputStrings
        end local 2 // boolean expectException
        end local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   40     0             this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
            0   40     1         rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            0   40     2  expectException  Z
            0   40     3    outputStrings  [Ljava/lang/String;
            1   40     4    seenException  Z
            2   22     5          runtime  Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
            3   22     6           target  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            4   22     7            debug  Lorg/graalvm/compiler/debug/DebugContext;
            6   18    10                d  Lorg/graalvm/compiler/debug/DebugCloseable;
            7   13    11                s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            8   11    12       compilable  Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
            9   11    13    compilationId  Lorg/graalvm/compiler/core/common/CompilationIdentifier;
           23   28     5                e  Ljava/lang/AssertionError;
           31   40     5           output  Ljava/lang/String;
           36   37     6                s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7    11      12  any
           6    14      15  any
           5    19      19  any
           1    22      22  Class java.lang.AssertionError
    MethodParameters:
                 Name  Flags
      rootNode         
      expectException  
      outputStrings    

  public void failedTrivial();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
         0: .line 156
            aload 0 /* this */
            new org.graalvm.compiler.truffle.test.PerformanceWarningTest$TrivialCallsInnerNode
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.truffle.test.PerformanceWarningTest$TrivialCallsInnerNode.<init>:(Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;)V
            iconst_1
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "perf warn"
            aastore
            dup
            iconst_1
            ldc "trivial"
            aastore
            invokevirtual org.graalvm.compiler.truffle.test.PerformanceWarningTest.testHelper:(Lcom/oracle/truffle/api/nodes/RootNode;Z[Ljava/lang/String;)V
         1: .line 157
            return
        end local 0 // org.graalvm.compiler.truffle.test.PerformanceWarningTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/truffle/test/PerformanceWarningTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "PerformanceWarningTest.java"
NestMembers:
  org.graalvm.compiler.truffle.test.PerformanceWarningTest$Interface  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L1  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L2  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L3  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L4  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L5  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L6  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L7  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L8  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9a  org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9b  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryCall  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryVirtualCall  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeCombined  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepClass  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepStack  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInstanceOf  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceCast  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceSingleImplementorCall  org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeVirtualCall  org.graalvm.compiler.truffle.test.PerformanceWarningTest$SingleImplementedInterface  org.graalvm.compiler.truffle.test.PerformanceWarningTest$SingleImplementorClass  org.graalvm.compiler.truffle.test.PerformanceWarningTest$SubClass  org.graalvm.compiler.truffle.test.PerformanceWarningTest$TestRootNode  org.graalvm.compiler.truffle.test.PerformanceWarningTest$TrivialCallsInnerNode  org.graalvm.compiler.truffle.test.PerformanceWarningTest$TrivialCallsInnerNode$1  org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject1  org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject2
InnerClasses:
  public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  private abstract Interface = org.graalvm.compiler.truffle.test.PerformanceWarningTest$Interface of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L1 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L1 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L2 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L2 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L3 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L3 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L4 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L4 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L5 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L5 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L6 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L6 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L7 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L7 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L8 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L8 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L9a = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9a of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private L9b = org.graalvm.compiler.truffle.test.PerformanceWarningTest$L9b of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeBoundaryCall = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryCall of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeBoundaryVirtualCall = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeBoundaryVirtualCall of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeCombined = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeCombined of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeDeepClass = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepClass of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeDeepStack = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeDeepStack of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeInstanceOf = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInstanceOf of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeInterfaceCast = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceCast of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeInterfaceSingleImplementorCall = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeInterfaceSingleImplementorCall of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private final RootNodeVirtualCall = org.graalvm.compiler.truffle.test.PerformanceWarningTest$RootNodeVirtualCall of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private abstract SingleImplementedInterface = org.graalvm.compiler.truffle.test.PerformanceWarningTest$SingleImplementedInterface of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private SingleImplementorClass = org.graalvm.compiler.truffle.test.PerformanceWarningTest$SingleImplementorClass of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private SubClass = org.graalvm.compiler.truffle.test.PerformanceWarningTest$SubClass of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private abstract TestRootNode = org.graalvm.compiler.truffle.test.PerformanceWarningTest$TestRootNode of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  protected TrivialCallsInnerNode = org.graalvm.compiler.truffle.test.PerformanceWarningTest$TrivialCallsInnerNode of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private VirtualObject1 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject1 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  private VirtualObject2 = org.graalvm.compiler.truffle.test.PerformanceWarningTest$VirtualObject2 of org.graalvm.compiler.truffle.test.PerformanceWarningTest
  public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
  final CancellableTruffleCompilationTask = org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl$CancellableTruffleCompilationTask of org.graalvm.compiler.truffle.compiler.TruffleCompilerImpl