Classfile /home/tpivovar/workspace/aot/hotspot/test/compiler/jvmci/CompilerToVMInterface/JTwork/classes/compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.class Last modified Aug 7, 2015; size 4746 bytes MD5 checksum 6db5c2c6ac6044421a70220ae184ebe6 Compiled from "GetLocalVariableTableTest.java" public class compiler.jvmci.CompilerToVMInterface.GetLocalVariableTableTest minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Methodref #51.#91 // java/lang/Object."":()V #2 = Methodref #7.#92 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.createTestCases:()Ljava/util/Map; #3 = InvokeDynamic #0:#98 // #0:accept:()Ljava/util/function/BiConsumer; #4 = InterfaceMethodref #99.#100 // java/util/Map.forEach:(Ljava/util/function/BiConsumer;)V #5 = Class #101 // java/util/HashMap #6 = Methodref #5.#91 // java/util/HashMap."":()V #7 = Class #102 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest #8 = String #72 // main #9 = Class #103 // java/lang/Class #10 = Class #104 // "[Ljava/lang/String;" #11 = Methodref #9.#105 // java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; #12 = Methodref #106.#107 // java/lang/Integer.valueOf:(I)Ljava/lang/Integer; #13 = Methodref #5.#108 // java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #14 = String #86 // dummyInstanceFunction #15 = Class #109 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyClass #16 = String #110 // dummyEmptyInstanceFunction #17 = String #111 // dummyEmptyStaticFunction #18 = String #112 // dummyFunction #19 = String #113 // dummyAbstractFunction #20 = Class #114 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyInterface #21 = String #115 // dummyDefaultFunction #22 = Fieldref #106.#116 // java/lang/Integer.TYPE:Ljava/lang/Class; #23 = Class #117 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyAbstractClass #24 = Class #118 // java/lang/NoSuchMethodException #25 = Class #119 // java/lang/Error #26 = String #120 // TEST BUG #27 = Methodref #25.#121 // java/lang/Error."":(Ljava/lang/String;Ljava/lang/Throwable;)V #28 = Methodref #7.#122 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.getFormattedMethodName:(Ljava/lang/reflect/Executable;)Ljava/lang/String; #29 = Methodref #123.#124 // java/lang/reflect/Executable.getDeclaringClass:()Ljava/lang/Class; #30 = Methodref #7.#125 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.getMethod:(Ljava/lang/Class;Ljava/lang/reflect/Executable;)J #31 = Methodref #126.#127 // java/lang/Long.valueOf:(J)Ljava/lang/Long; #32 = Class #128 // java/lang/StringBuilder #33 = Methodref #32.#91 // java/lang/StringBuilder."":()V #34 = Methodref #32.#129 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; #35 = String #130 // method handle is null #36 = Methodref #32.#131 // java/lang/StringBuilder.toString:()Ljava/lang/String; #37 = Methodref #132.#133 // jdk/test/lib/Asserts.assertNE:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V #38 = Fieldref #7.#134 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.C2VM:Ljdk/internal/jvmci/hotspot/CompilerToVM; #39 = InterfaceMethodref #135.#136 // jdk/internal/jvmci/hotspot/CompilerToVM.getLocalVariableTableStart:(J)J #40 = InterfaceMethodref #135.#137 // jdk/internal/jvmci/hotspot/CompilerToVM.getLocalVariableTableLength:(J)I #41 = Fieldref #138.#139 // java/lang/System.out:Ljava/io/PrintStream; #42 = String #140 // *** #43 = Methodref #32.#141 // java/lang/StringBuilder.append:(J)Ljava/lang/StringBuilder; #44 = String #142 // ~ #45 = Methodref #32.#143 // java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; #46 = Methodref #144.#145 // java/io/PrintStream.println:(Ljava/lang/String;)V #47 = Methodref #146.#147 // sun/hotspot/WhiteBox.getWhiteBox:()Lsun/hotspot/WhiteBox; #48 = Methodref #146.#148 // sun/hotspot/WhiteBox.getMethodIdNum:(Ljava/lang/reflect/Executable;)I #49 = InterfaceMethodref #135.#149 // jdk/internal/jvmci/hotspot/CompilerToVM.getMetaspaceMethod:(Ljava/lang/Class;I)J #50 = String #150 // \'%s::%s\' #51 = Class #151 // java/lang/Object #52 = Methodref #9.#152 // java/lang/Class.getName:()Ljava/lang/String; #53 = Methodref #123.#152 // java/lang/reflect/Executable.getName:()Ljava/lang/String; #54 = Methodref #153.#154 // java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; #55 = String #155 // 123123123 #56 = Double 3.14d #58 = Methodref #106.#156 // java/lang/Integer.parseInt:(Ljava/lang/String;)I #59 = Methodref #157.#158 // jdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime.runtime:()Ljdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime; #60 = Methodref #157.#159 // jdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/internal/jvmci/hotspot/CompilerToVM; #61 = Class #160 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$1 #62 = Utf8 InnerClasses #63 = Utf8 DummyClass #64 = Utf8 DummyAbstractClass #65 = Utf8 DummyInterface #66 = Utf8 C2VM #67 = Utf8 Ljdk/internal/jvmci/hotspot/CompilerToVM; #68 = Utf8 #69 = Utf8 ()V #70 = Utf8 Code #71 = Utf8 LineNumberTable #72 = Utf8 main #73 = Utf8 ([Ljava/lang/String;)V #74 = Utf8 createTestCases #75 = Utf8 ()Ljava/util/Map; #76 = Utf8 StackMapTable #77 = Utf8 Signature #78 = Utf8 ()Ljava/util/Map; #79 = Utf8 runSanityTest #80 = Utf8 (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #81 = Utf8 getMethod #82 = Utf8 (Ljava/lang/Class;Ljava/lang/reflect/Executable;)J #83 = Utf8 (Ljava/lang/Class<*>;Ljava/lang/reflect/Executable;)J #84 = Utf8 getFormattedMethodName #85 = Utf8 (Ljava/lang/reflect/Executable;)Ljava/lang/String; #86 = Utf8 dummyInstanceFunction #87 = Utf8 ()I #88 = Utf8 #89 = Utf8 SourceFile #90 = Utf8 GetLocalVariableTableTest.java #91 = NameAndType #68:#69 // "":()V #92 = NameAndType #74:#75 // createTestCases:()Ljava/util/Map; #93 = Utf8 BootstrapMethods #94 = MethodHandle #6:#161 // 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; #95 = MethodType #162 // (Ljava/lang/Object;Ljava/lang/Object;)V #96 = MethodHandle #6:#163 // invokestatic compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #97 = MethodType #80 // (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #98 = NameAndType #164:#165 // accept:()Ljava/util/function/BiConsumer; #99 = Class #166 // java/util/Map #100 = NameAndType #167:#168 // forEach:(Ljava/util/function/BiConsumer;)V #101 = Utf8 java/util/HashMap #102 = Utf8 compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest #103 = Utf8 java/lang/Class #104 = Utf8 [Ljava/lang/String; #105 = NameAndType #81:#169 // getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; #106 = Class #170 // java/lang/Integer #107 = NameAndType #171:#172 // valueOf:(I)Ljava/lang/Integer; #108 = NameAndType #173:#174 // put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #109 = Utf8 compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyClass #110 = Utf8 dummyEmptyInstanceFunction #111 = Utf8 dummyEmptyStaticFunction #112 = Utf8 dummyFunction #113 = Utf8 dummyAbstractFunction #114 = Utf8 compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyInterface #115 = Utf8 dummyDefaultFunction #116 = NameAndType #175:#176 // TYPE:Ljava/lang/Class; #117 = Utf8 compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyAbstractClass #118 = Utf8 java/lang/NoSuchMethodException #119 = Utf8 java/lang/Error #120 = Utf8 TEST BUG #121 = NameAndType #68:#177 // "":(Ljava/lang/String;Ljava/lang/Throwable;)V #122 = NameAndType #84:#85 // getFormattedMethodName:(Ljava/lang/reflect/Executable;)Ljava/lang/String; #123 = Class #178 // java/lang/reflect/Executable #124 = NameAndType #179:#180 // getDeclaringClass:()Ljava/lang/Class; #125 = NameAndType #81:#82 // getMethod:(Ljava/lang/Class;Ljava/lang/reflect/Executable;)J #126 = Class #181 // java/lang/Long #127 = NameAndType #171:#182 // valueOf:(J)Ljava/lang/Long; #128 = Utf8 java/lang/StringBuilder #129 = NameAndType #183:#184 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder; #130 = Utf8 method handle is null #131 = NameAndType #185:#186 // toString:()Ljava/lang/String; #132 = Class #187 // jdk/test/lib/Asserts #133 = NameAndType #188:#189 // assertNE:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V #134 = NameAndType #66:#67 // C2VM:Ljdk/internal/jvmci/hotspot/CompilerToVM; #135 = Class #190 // jdk/internal/jvmci/hotspot/CompilerToVM #136 = NameAndType #191:#192 // getLocalVariableTableStart:(J)J #137 = NameAndType #193:#194 // getLocalVariableTableLength:(J)I #138 = Class #195 // java/lang/System #139 = NameAndType #196:#197 // out:Ljava/io/PrintStream; #140 = Utf8 *** #141 = NameAndType #183:#198 // append:(J)Ljava/lang/StringBuilder; #142 = Utf8 ~ #143 = NameAndType #183:#199 // append:(I)Ljava/lang/StringBuilder; #144 = Class #200 // java/io/PrintStream #145 = NameAndType #201:#202 // println:(Ljava/lang/String;)V #146 = Class #203 // sun/hotspot/WhiteBox #147 = NameAndType #204:#205 // getWhiteBox:()Lsun/hotspot/WhiteBox; #148 = NameAndType #206:#207 // getMethodIdNum:(Ljava/lang/reflect/Executable;)I #149 = NameAndType #208:#209 // getMetaspaceMethod:(Ljava/lang/Class;I)J #150 = Utf8 \'%s::%s\' #151 = Utf8 java/lang/Object #152 = NameAndType #210:#186 // getName:()Ljava/lang/String; #153 = Class #211 // java/lang/String #154 = NameAndType #212:#213 // format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; #155 = Utf8 123123123 #156 = NameAndType #214:#215 // parseInt:(Ljava/lang/String;)I #157 = Class #216 // jdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime #158 = NameAndType #217:#218 // runtime:()Ljdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime; #159 = NameAndType #219:#220 // getCompilerToVM:()Ljdk/internal/jvmci/hotspot/CompilerToVM; #160 = Utf8 compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$1 #161 = Methodref #221.#222 // 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; #162 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)V #163 = Methodref #7.#223 // compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #164 = Utf8 accept #165 = Utf8 ()Ljava/util/function/BiConsumer; #166 = Utf8 java/util/Map #167 = Utf8 forEach #168 = Utf8 (Ljava/util/function/BiConsumer;)V #169 = Utf8 (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; #170 = Utf8 java/lang/Integer #171 = Utf8 valueOf #172 = Utf8 (I)Ljava/lang/Integer; #173 = Utf8 put #174 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #175 = Utf8 TYPE #176 = Utf8 Ljava/lang/Class; #177 = Utf8 (Ljava/lang/String;Ljava/lang/Throwable;)V #178 = Utf8 java/lang/reflect/Executable #179 = Utf8 getDeclaringClass #180 = Utf8 ()Ljava/lang/Class; #181 = Utf8 java/lang/Long #182 = Utf8 (J)Ljava/lang/Long; #183 = Utf8 append #184 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder; #185 = Utf8 toString #186 = Utf8 ()Ljava/lang/String; #187 = Utf8 jdk/test/lib/Asserts #188 = Utf8 assertNE #189 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V #190 = Utf8 jdk/internal/jvmci/hotspot/CompilerToVM #191 = Utf8 getLocalVariableTableStart #192 = Utf8 (J)J #193 = Utf8 getLocalVariableTableLength #194 = Utf8 (J)I #195 = Utf8 java/lang/System #196 = Utf8 out #197 = Utf8 Ljava/io/PrintStream; #198 = Utf8 (J)Ljava/lang/StringBuilder; #199 = Utf8 (I)Ljava/lang/StringBuilder; #200 = Utf8 java/io/PrintStream #201 = Utf8 println #202 = Utf8 (Ljava/lang/String;)V #203 = Utf8 sun/hotspot/WhiteBox #204 = Utf8 getWhiteBox #205 = Utf8 ()Lsun/hotspot/WhiteBox; #206 = Utf8 getMethodIdNum #207 = Utf8 (Ljava/lang/reflect/Executable;)I #208 = Utf8 getMetaspaceMethod #209 = Utf8 (Ljava/lang/Class;I)J #210 = Utf8 getName #211 = Utf8 java/lang/String #212 = Utf8 format #213 = Utf8 (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; #214 = Utf8 parseInt #215 = Utf8 (Ljava/lang/String;)I #216 = Utf8 jdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime #217 = Utf8 runtime #218 = Utf8 ()Ljdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime; #219 = Utf8 getCompilerToVM #220 = Utf8 ()Ljdk/internal/jvmci/hotspot/CompilerToVM; #221 = Class #224 // java/lang/invoke/LambdaMetafactory #222 = NameAndType #225:#228 // 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; #223 = NameAndType #79:#80 // runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #224 = Utf8 java/lang/invoke/LambdaMetafactory #225 = Utf8 metafactory #226 = Class #230 // java/lang/invoke/MethodHandles$Lookup #227 = Utf8 Lookup #228 = 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; #229 = Class #231 // java/lang/invoke/MethodHandles #230 = Utf8 java/lang/invoke/MethodHandles$Lookup #231 = Utf8 java/lang/invoke/MethodHandles { private static final jdk.internal.jvmci.hotspot.CompilerToVM C2VM; descriptor: Ljdk/internal/jvmci/hotspot/CompilerToVM; flags: ACC_PRIVATE, ACC_STATIC, ACC_FINAL public compiler.jvmci.CompilerToVMInterface.GetLocalVariableTableTest(); 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 50: 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 55: 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/CompilerToVMInterface/GetLocalVariableTableTest 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: aload_0 36: aload_1 37: ldc #14 // String dummyInstanceFunction 39: iconst_0 40: anewarray #9 // class java/lang/Class 43: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 46: iconst_5 47: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 50: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 53: pop 54: ldc #15 // class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyClass 56: astore_1 57: aload_0 58: aload_1 59: ldc #14 // String dummyInstanceFunction 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_5 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 #16 // String dummyEmptyInstanceFunction 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_0 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 #17 // String dummyEmptyStaticFunction 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_0 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: aload_0 115: aload_1 116: ldc #18 // String dummyFunction 118: iconst_0 119: anewarray #9 // class java/lang/Class 122: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 125: iconst_0 126: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 129: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 132: pop 133: aload_0 134: aload_1 135: ldc #19 // String dummyAbstractFunction 137: iconst_0 138: anewarray #9 // class java/lang/Class 141: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 144: iconst_2 145: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 148: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 151: pop 152: ldc #20 // class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyInterface 154: astore_1 155: aload_0 156: aload_1 157: ldc #18 // String dummyFunction 159: iconst_0 160: anewarray #9 // class java/lang/Class 163: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 166: iconst_0 167: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 170: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 173: pop 174: aload_0 175: aload_1 176: ldc #21 // String dummyDefaultFunction 178: iconst_2 179: anewarray #9 // class java/lang/Class 182: dup 183: iconst_0 184: getstatic #22 // Field java/lang/Integer.TYPE:Ljava/lang/Class; 187: aastore 188: dup 189: iconst_1 190: getstatic #22 // Field java/lang/Integer.TYPE:Ljava/lang/Class; 193: aastore 194: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 197: iconst_2 198: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 201: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 204: pop 205: ldc #23 // class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyAbstractClass 207: astore_1 208: aload_0 209: aload_1 210: ldc #19 // String dummyAbstractFunction 212: iconst_0 213: anewarray #9 // class java/lang/Class 216: invokevirtual #11 // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; 219: iconst_0 220: invokestatic #12 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 223: invokevirtual #13 // Method java/util/HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 226: pop 227: goto 242 230: astore_1 231: new #25 // class java/lang/Error 234: dup 235: ldc #26 // String TEST BUG 237: aload_1 238: invokespecial #27 // Method java/lang/Error."":(Ljava/lang/String;Ljava/lang/Throwable;)V 241: athrow 242: aload_0 243: areturn Exception table: from to target type 8 227 230 Class java/lang/NoSuchMethodException LineNumberTable: line 61: 0 line 65: 8 line 66: 11 line 67: 35 line 69: 54 line 70: 57 line 71: 76 line 72: 95 line 73: 114 line 74: 133 line 76: 152 line 77: 155 line 78: 174 line 79: 198 line 78: 201 line 81: 205 line 82: 208 line 85: 227 line 83: 230 line 84: 231 line 86: 242 StackMapTable: number_of_entries = 2 frame_type = 255 /* full_frame */ offset_delta = 230 locals = [ class java/util/HashMap ] stack = [ class java/lang/NoSuchMethodException ] frame_type = 11 /* same */ Signature: #78 // ()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=4, locals=8, args_size=2 0: aload_0 1: invokestatic #28 // Method getFormattedMethodName:(Ljava/lang/reflect/Executable;)Ljava/lang/String; 4: astore_2 5: aload_0 6: invokevirtual #29 // Method java/lang/reflect/Executable.getDeclaringClass:()Ljava/lang/Class; 9: aload_0 10: invokestatic #30 // Method getMethod:(Ljava/lang/Class;Ljava/lang/reflect/Executable;)J 13: lstore_3 14: lload_3 15: invokestatic #31 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 18: lconst_0 19: invokestatic #31 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 22: new #32 // class java/lang/StringBuilder 25: dup 26: invokespecial #33 // Method java/lang/StringBuilder."":()V 29: aload_2 30: invokevirtual #34 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 33: ldc #35 // String method handle is null 35: invokevirtual #34 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 38: invokevirtual #36 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 41: invokestatic #37 // Method jdk/test/lib/Asserts.assertNE:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V 44: getstatic #38 // Field C2VM:Ljdk/internal/jvmci/hotspot/CompilerToVM; 47: lload_3 48: invokeinterface #39, 3 // InterfaceMethod jdk/internal/jvmci/hotspot/CompilerToVM.getLocalVariableTableStart:(J)J 53: lstore 5 55: getstatic #38 // Field C2VM:Ljdk/internal/jvmci/hotspot/CompilerToVM; 58: lload_3 59: invokeinterface #40, 3 // InterfaceMethod jdk/internal/jvmci/hotspot/CompilerToVM.getLocalVariableTableLength:(J)I 64: istore 7 66: getstatic #41 // Field java/lang/System.out:Ljava/io/PrintStream; 69: new #32 // class java/lang/StringBuilder 72: dup 73: invokespecial #33 // Method java/lang/StringBuilder."":()V 76: ldc #42 // String *** 78: invokevirtual #34 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 81: lload 5 83: invokevirtual #43 // Method java/lang/StringBuilder.append:(J)Ljava/lang/StringBuilder; 86: ldc #44 // String ~ 88: invokevirtual #34 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 91: iload 7 93: invokevirtual #45 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 96: invokevirtual #36 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 99: invokevirtual #46 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 102: return LineNumberTable: line 91: 0 line 92: 5 line 93: 14 line 94: 44 line 100: 55 line 105: 66 line 106: 102 private static long getMethod(java.lang.Class, java.lang.reflect.Executable); descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Executable;)J flags: ACC_PRIVATE, ACC_STATIC Code: stack=3, locals=3, args_size=2 0: invokestatic #47 // Method sun/hotspot/WhiteBox.getWhiteBox:()Lsun/hotspot/WhiteBox; 3: aload_1 4: invokevirtual #48 // Method sun/hotspot/WhiteBox.getMethodIdNum:(Ljava/lang/reflect/Executable;)I 7: istore_2 8: getstatic #38 // Field C2VM:Ljdk/internal/jvmci/hotspot/CompilerToVM; 11: aload_0 12: iload_2 13: invokeinterface #49, 3 // InterfaceMethod jdk/internal/jvmci/hotspot/CompilerToVM.getMetaspaceMethod:(Ljava/lang/Class;I)J 18: lreturn LineNumberTable: line 109: 0 line 110: 8 Signature: #83 // (Ljava/lang/Class<*>;Ljava/lang/reflect/Executable;)J 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 #50 // String \'%s::%s\' 2: iconst_2 3: anewarray #51 // class java/lang/Object 6: dup 7: iconst_0 8: aload_0 9: invokevirtual #29 // Method java/lang/reflect/Executable.getDeclaringClass:()Ljava/lang/Class; 12: invokevirtual #52 // Method java/lang/Class.getName:()Ljava/lang/String; 15: aastore 16: dup 17: iconst_1 18: aload_0 19: invokevirtual #53 // Method java/lang/reflect/Executable.getName:()Ljava/lang/String; 22: aastore 23: invokestatic #54 // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; 26: areturn LineNumberTable: line 114: 0 line 115: 19 line 114: 23 public int dummyInstanceFunction(); descriptor: ()I flags: ACC_PUBLIC Code: stack=3, locals=5, args_size=1 0: ldc #55 // String 123123123 2: astore_1 3: ldc2_w #56 // double 3.14d 6: dstore_2 7: aload_1 8: invokestatic #58 // Method java/lang/Integer.parseInt:(Ljava/lang/String;)I 11: istore 4 13: iload 4 15: dload_2 16: d2i 17: idiv 18: ireturn LineNumberTable: line 119: 0 line 120: 3 line 121: 7 line 123: 13 static {}; descriptor: ()V flags: ACC_STATIC Code: stack=1, locals=0, args_size=0 0: invokestatic #59 // Method jdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime.runtime:()Ljdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime; 3: invokevirtual #60 // Method jdk/internal/jvmci/hotspot/HotSpotJVMCIRuntime.getCompilerToVM:()Ljdk/internal/jvmci/hotspot/CompilerToVM; 6: putstatic #38 // Field C2VM:Ljdk/internal/jvmci/hotspot/CompilerToVM; 9: return LineNumberTable: line 53: 0 line 52: 9 } SourceFile: "GetLocalVariableTableTest.java" InnerClasses: static #61; // class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$1 private static #63= #15 of #7; // DummyClass=class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyClass of class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest private static abstract #64= #23 of #7; // DummyAbstractClass=class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyAbstractClass of class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest private static #65= #20 of #7; // DummyInterface=class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest$DummyInterface of class compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest public static final #227= #226 of #229; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles BootstrapMethods: 0: #94 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: #95 (Ljava/lang/Object;Ljava/lang/Object;)V #96 invokestatic compiler/jvmci/CompilerToVMInterface/GetLocalVariableTableTest.runSanityTest:(Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V #97 (Ljava/lang/reflect/Executable;Ljava/lang/Integer;)V