Classfile /home/tpivovar/workspace/graal-jvmci-9/hotspot/test/compiler/jvmci/CompilerToVM/JTwork/classes/compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0.class Last modified Sep 22, 2015; size 3229 bytes MD5 checksum 663b68a14ef311312177731eefdb8359 Compiled from "GetLocalVariableTableTest0.java" public class compiler.jvmci.CompilerToVM.GetLocalVariableTableTest0 minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Methodref #29.#67 // java/lang/Object."":()V #2 = Methodref #7.#68 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0.createTestCases:()Ljava/util/Map; #3 = InvokeDynamic #0:#74 // #0:accept:()Ljava/util/function/BiConsumer; #4 = InterfaceMethodref #75.#76 // java/util/Map.forEach:(Ljava/util/function/BiConsumer;)V #5 = Class #77 // java/util/HashMap #6 = Methodref #5.#67 // java/util/HashMap."":()V #7 = Class #78 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0 #8 = String #54 // main #9 = Class #79 // java/lang/Class #10 = Class #80 // "[Ljava/lang/String;" #11 = Methodref #9.#81 // java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; #12 = Methodref #82.#83 // java/lang/Integer.valueOf:(I)Ljava/lang/Integer; #13 = Methodref #5.#84 // java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #14 = Class #85 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyClass #15 = String #86 // dummyInstanceFunction #16 = String #87 // dummyEmptyInstanceFunction #17 = String #88 // dummyFunction #18 = String #89 // dummyAbstractFunction #19 = Class #90 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyInterface #20 = String #91 // dummyDefaultFunction #21 = Fieldref #82.#92 // java/lang/Integer.TYPE:Ljava/lang/Class; #22 = Class #93 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyAbstractClass #23 = Class #94 // java/lang/NoSuchMethodException #24 = Class #95 // java/lang/Error #25 = String #96 // TEST BUG #26 = Methodref #24.#97 // java/lang/Error."":(Ljava/lang/String;Ljava/lang/Throwable;)V #27 = Methodref #7.#98 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0.getFormattedMethodName:(Ljava/lang/reflect/Executable;)Ljava/lang/String; #28 = String #99 // \'%s::%s\' #29 = Class #100 // java/lang/Object #30 = Methodref #101.#102 // java/lang/reflect/Executable.getDeclaringClass:()Ljava/lang/Class; #31 = Methodref #9.#103 // java/lang/Class.getName:()Ljava/lang/String; #32 = Methodref #101.#103 // java/lang/reflect/Executable.getName:()Ljava/lang/String; #33 = Methodref #104.#105 // java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; #34 = Utf8 DummyClass #35 = Utf8 InnerClasses #36 = Utf8 DummyAbstractClass #37 = Utf8 DummyInterface #38 = Utf8 MAIN_LOCALS_COUNT #39 = Utf8 I #40 = Utf8 ConstantValue #41 = Integer 2 #42 = Utf8 INSTANCE_LOCALS_COUNT #43 = Integer 4 #44 = Utf8 EMPTY_INSTANCE_COUNT #45 = Integer 1 #46 = Utf8 EMPTY_STATIC_COUNT #47 = Integer 0 #48 = Utf8 ABSTRACT_INHERIT_LOCALS_COUNT #49 = Utf8 DEFAULTFUNC_LOCALS_COUNT #50 = Utf8 #51 = Utf8 ()V #52 = Utf8 Code #53 = Utf8 LineNumberTable #54 = Utf8 main #55 = Utf8 ([Ljava/lang/String;)V #56 = Utf8 createTestCases #57 = Utf8 ()Ljava/util/Map; #58 = Utf8 StackMapTable #59 = Utf8 Signature #60 = Utf8 ()Ljava/util/Map; #61 = Utf8 runSanityTest #62 = Utf8 (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #63 = Utf8 getFormattedMethodName #64 = Utf8 (Ljava/lang/reflect/Executable;)Ljava/lang/String; #65 = Utf8 SourceFile #66 = Utf8 GetLocalVariableTableTest0.java #67 = NameAndType #50:#51 // "":()V #68 = NameAndType #56:#57 // createTestCases:()Ljava/util/Map; #69 = Utf8 BootstrapMethods #70 = MethodHandle #6:#106 // 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; #71 = MethodType #107 // (Ljava/lang/Object;Ljava/lang/Object;)V #72 = MethodHandle #6:#108 // invokestatic compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0.runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #73 = MethodType #62 // (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #74 = NameAndType #109:#110 // accept:()Ljava/util/function/BiConsumer; #75 = Class #111 // java/util/Map #76 = NameAndType #112:#113 // forEach:(Ljava/util/function/BiConsumer;)V #77 = Utf8 java/util/HashMap #78 = Utf8 compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0 #79 = Utf8 java/lang/Class #80 = Utf8 [Ljava/lang/String; #81 = NameAndType #114:#115 // getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; #82 = Class #116 // java/lang/Integer #83 = NameAndType #117:#118 // valueOf:(I)Ljava/lang/Integer; #84 = NameAndType #119:#120 // put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #85 = Utf8 compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyClass #86 = Utf8 dummyInstanceFunction #87 = Utf8 dummyEmptyInstanceFunction #88 = Utf8 dummyFunction #89 = Utf8 dummyAbstractFunction #90 = Utf8 compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyInterface #91 = Utf8 dummyDefaultFunction #92 = NameAndType #121:#122 // TYPE:Ljava/lang/Class; #93 = Utf8 compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyAbstractClass #94 = Utf8 java/lang/NoSuchMethodException #95 = Utf8 java/lang/Error #96 = Utf8 TEST BUG #97 = NameAndType #50:#123 // "":(Ljava/lang/String;Ljava/lang/Throwable;)V #98 = NameAndType #63:#64 // getFormattedMethodName:(Ljava/lang/reflect/Executable;)Ljava/lang/String; #99 = Utf8 \'%s::%s\' #100 = Utf8 java/lang/Object #101 = Class #124 // java/lang/reflect/Executable #102 = NameAndType #125:#126 // getDeclaringClass:()Ljava/lang/Class; #103 = NameAndType #127:#128 // getName:()Ljava/lang/String; #104 = Class #129 // java/lang/String #105 = NameAndType #130:#131 // format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; #106 = Methodref #132.#133 // 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; #107 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)V #108 = Methodref #7.#134 // compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0.runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #109 = Utf8 accept #110 = Utf8 ()Ljava/util/function/BiConsumer; #111 = Utf8 java/util/Map #112 = Utf8 forEach #113 = Utf8 (Ljava/util/function/BiConsumer;)V #114 = Utf8 getMethod #115 = Utf8 (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; #116 = Utf8 java/lang/Integer #117 = Utf8 valueOf #118 = Utf8 (I)Ljava/lang/Integer; #119 = Utf8 put #120 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #121 = Utf8 TYPE #122 = Utf8 Ljava/lang/Class; #123 = Utf8 (Ljava/lang/String;Ljava/lang/Throwable;)V #124 = Utf8 java/lang/reflect/Executable #125 = Utf8 getDeclaringClass #126 = Utf8 ()Ljava/lang/Class; #127 = Utf8 getName #128 = Utf8 ()Ljava/lang/String; #129 = Utf8 java/lang/String #130 = Utf8 format #131 = Utf8 (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; #132 = Class #135 // java/lang/invoke/LambdaMetafactory #133 = NameAndType #136:#139 // 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; #134 = NameAndType #61:#62 // runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #135 = Utf8 java/lang/invoke/LambdaMetafactory #136 = Utf8 metafactory #137 = Class #141 // java/lang/invoke/MethodHandles$Lookup #138 = Utf8 Lookup #139 = Utf8 (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; #140 = Class #142 // java/lang/invoke/MethodHandles #141 = Utf8 java/lang/invoke/MethodHandles$Lookup #142 = Utf8 java/lang/invoke/MethodHandles { public static final int MAIN_LOCALS_COUNT; descriptor: I flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 2 public static final int INSTANCE_LOCALS_COUNT; descriptor: I flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 4 public static final int EMPTY_INSTANCE_COUNT; descriptor: I flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 1 public static final int EMPTY_STATIC_COUNT; descriptor: I flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 0 public static final int ABSTRACT_INHERIT_LOCALS_COUNT; descriptor: I flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 2 public static final int DEFAULTFUNC_LOCALS_COUNT; descriptor: I flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 4 public compiler.jvmci.CompilerToVM.GetLocalVariableTableTest0(); descriptor: ()V flags: ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return LineNumberTable: line 46: 0 public static void main(java.lang.String[]); descriptor: ([Ljava/lang/String;)V flags: ACC_PUBLIC, ACC_STATIC Code: stack=2, locals=2, args_size=1 0: invokestatic #2 // Method createTestCases:()Ljava/util/Map; 3: astore_1 4: aload_1 5: invokedynamic #3, 0 // InvokeDynamic #0:accept:()Ljava/util/function/BiConsumer; 10: invokeinterface #4, 2 // InterfaceMethod java/util/Map.forEach:(Ljava/util/function/BiConsumer;)V 15: return LineNumberTable: line 56: 0 line 57: 4 line 58: 15 private static java.util.Map createTestCases(); descriptor: ()Ljava/util/Map; flags: ACC_PRIVATE, ACC_STATIC Code: stack=7, locals=2, args_size=0 0: new #5 // class java/util/HashMap 3: dup 4: invokespecial #6 // Method java/util/HashMap."":()V 7: astore_0 8: ldc #7 // class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0 10: astore_1 11: aload_0 12: aload_1 13: ldc #8 // String main 15: iconst_1 16: anewarray #9 // class java/lang/Class 19: dup 20: iconst_0 21: ldc #10 // class "[Ljava/lang/String;" 23: aastore 24: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 27: iconst_2 28: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 31: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 34: pop 35: ldc #14 // class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyClass 37: astore_1 38: aload_0 39: aload_1 40: ldc #15 // String dummyInstanceFunction 42: iconst_0 43: anewarray #9 // class java/lang/Class 46: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 49: iconst_4 50: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 53: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 56: pop 57: aload_0 58: aload_1 59: ldc #16 // String dummyEmptyInstanceFunction 61: iconst_0 62: anewarray #9 // class java/lang/Class 65: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 68: iconst_1 69: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 72: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 75: pop 76: aload_0 77: aload_1 78: ldc #17 // String dummyFunction 80: iconst_0 81: anewarray #9 // class java/lang/Class 84: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 87: iconst_1 88: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 91: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 94: pop 95: aload_0 96: aload_1 97: ldc #18 // String dummyAbstractFunction 99: iconst_0 100: anewarray #9 // class java/lang/Class 103: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 106: iconst_2 107: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 110: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 113: pop 114: ldc #19 // class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyInterface 116: astore_1 117: aload_0 118: aload_1 119: ldc #17 // String dummyFunction 121: iconst_0 122: anewarray #9 // class java/lang/Class 125: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 128: iconst_0 129: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 132: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 135: pop 136: aload_0 137: aload_1 138: ldc #20 // String dummyDefaultFunction 140: iconst_2 141: anewarray #9 // class java/lang/Class 144: dup 145: iconst_0 146: getstatic #21 // Field java/lang/Integer.TYPE:Ljava/lang/Class; 149: aastore 150: dup 151: iconst_1 152: getstatic #21 // Field java/lang/Integer.TYPE:Ljava/lang/Class; 155: aastore 156: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 159: iconst_4 160: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 163: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 166: pop 167: ldc #22 // class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyAbstractClass 169: astore_1 170: aload_0 171: aload_1 172: ldc #18 // String dummyAbstractFunction 174: iconst_0 175: anewarray #9 // class java/lang/Class 178: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 181: iconst_0 182: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 185: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 188: pop 189: goto 204 192: astore_1 193: new #24 // class java/lang/Error 196: dup 197: ldc #25 // String TEST BUG 199: aload_1 200: invokespecial #26 // Method java/lang/Error."":(Ljava/lang/String;Ljava/lang/Throwable;)V 203: athrow 204: aload_0 205: areturn Exception table: from to target type 8 189 192 Class java/lang/NoSuchMethodException LineNumberTable: line 61: 0 line 65: 8 line 66: 11 line 67: 28 line 66: 31 line 69: 35 line 70: 38 line 71: 50 line 70: 53 line 72: 57 line 73: 69 line 72: 72 line 74: 76 line 75: 88 line 74: 91 line 76: 95 line 77: 107 line 76: 110 line 79: 114 line 80: 117 line 81: 136 line 82: 160 line 81: 163 line 84: 167 line 85: 170 line 88: 189 line 86: 192 line 87: 193 line 89: 204 StackMapTable: number_of_entries = 2 frame_type = 255 /* full_frame */ offset_delta = 192 locals = [ class java/util/HashMap ] stack = [ class java/lang/NoSuchMethodException ] frame_type = 11 /* same */ Signature: #60 // ()Ljava/util/Map; private static void runSanityTest(java.lang.reflect.Executable, java.lang.Integer); descriptor: (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V flags: ACC_PRIVATE, ACC_STATIC Code: stack=1, locals=3, args_size=2 0: aload_0 1: invokestatic #27 // Method getFormattedMethodName:(Ljava/lang/reflect/Executable;)Ljava/lang/String; 4: astore_2 5: return LineNumberTable: line 94: 0 line 96: 5 private static java.lang.String getFormattedMethodName(java.lang.reflect.Executable); descriptor: (Ljava/lang/reflect/Executable;)Ljava/lang/String; flags: ACC_PRIVATE, ACC_STATIC Code: stack=5, locals=1, args_size=1 0: ldc #28 // String \'%s::%s\' 2: iconst_2 3: anewarray #29 // class java/lang/Object 6: dup 7: iconst_0 8: aload_0 9: invokevirtual #30 // Method java/lang/reflect/Executable.getDeclaringClass:()Ljava/lang/Class; 12: invokevirtual #31 // Method java/lang/Class.getName:()Ljava/lang/String; 15: aastore 16: dup 17: iconst_1 18: aload_0 19: invokevirtual #32 // Method java/lang/reflect/Executable.getName:()Ljava/lang/String; 22: aastore 23: invokestatic #33 // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; 26: areturn LineNumberTable: line 99: 0 line 100: 19 line 99: 23 } SourceFile: "GetLocalVariableTableTest0.java" InnerClasses: #34= #14 of #7; // DummyClass=class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyClass of class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0 abstract #36= #22 of #7; // DummyAbstractClass=class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyAbstractClass of class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0 static #37= #19 of #7; // DummyInterface=class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0$DummyInterface of class compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0 public static final #138= #137 of #140; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles BootstrapMethods: 0: #70 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: #71 (Ljava/lang/Object;Ljava/lang/Object;)V #72 invokestatic compiler/jvmci/CompilerToVM/GetLocalVariableTableTest0.runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #73 (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V