1 Processing 'out.dex'... 2 Opened 'out.dex', DEX version '038' 3 Class #0 - 4 Class descriptor : 'Linvokecustom/Super;' 5 Access flags : 0x0400 (ABSTRACT) 6 Superclass : 'Ljava/lang/Object;' 7 Interfaces - 8 Static fields - 9 Instance fields - 10 Direct methods - 11 #0 : (in Linvokecustom/Super;) 12 name : '<init>' 13 type : '()V' 14 access : 0x10000 (CONSTRUCTOR) 15 code - 16 registers : 1 17 ins : 1 18 outs : 1 19 insns size : 4 16-bit code units 20 0040ac: |[0040ac] invokecustom.Super.<init>:()V 21 0040bc: 7010 b300 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00b3 22 0040c2: 0e00 |0003: return-void 23 catches : (none) 24 positions : 25 0x0000 line=25 26 locals : 27 0x0000 - 0x0004 reg=0 this Linvokecustom/Super; 28 29 Virtual methods - 30 #0 : (in Linvokecustom/Super;) 31 name : 'helperMethodTest9' 32 type : '()V' 33 access : 0x0401 (PUBLIC ABSTRACT) 34 code : (none) 35 36 #1 : (in Linvokecustom/Super;) 37 name : 'targetMethodTest4' 38 type : '()V' 39 access : 0x0001 (PUBLIC) 40 code - 41 registers : 3 42 ins : 1 43 outs : 2 44 insns size : 8 16-bit code units 45 0040c4: |[0040c4] invokecustom.Super.targetMethodTest4:()V 46 0040d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 47 0040d8: 1a01 7600 |0002: const-string v1, "targetMethodTest4 from Super" // string@0076 48 0040dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 49 0040e2: 0e00 |0007: return-void 50 catches : (none) 51 positions : 52 0x0000 line=27 53 0x0007 line=28 54 locals : 55 0x0000 - 0x0008 reg=2 this Linvokecustom/Super; 56 57 source_file_idx : 25 (InvokeCustom.java) 58 59 Class #1 - 60 Class descriptor : 'Linvokecustom/InvokeCustom1;' 61 Access flags : 0x0001 (PUBLIC) 62 Superclass : 'Linvokecustom/Super;' 63 Interfaces - 64 #0 : 'Ljava/lang/Runnable;' 65 Static fields - 66 #0 : (in Linvokecustom/InvokeCustom1;) 67 name : 'staticFieldTest9' 68 type : 'I' 69 access : 0x000a (PRIVATE STATIC) 70 Instance fields - 71 #0 : (in Linvokecustom/InvokeCustom1;) 72 name : 'fieldTest9' 73 type : 'F' 74 access : 0x0002 (PRIVATE) 75 Direct methods - 76 #0 : (in Linvokecustom/InvokeCustom1;) 77 name : '<clinit>' 78 type : '()V' 79 access : 0x10008 (STATIC CONSTRUCTOR) 80 code - 81 registers : 1 82 ins : 0 83 outs : 0 84 insns size : 4 16-bit code units 85 0040e4: |[0040e4] invokecustom.InvokeCustom1.<clinit>:()V 86 0040f4: 1200 |0000: const/4 v0, #int 0 // #0 87 0040f6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 88 0040fa: 0e00 |0003: return-void 89 catches : (none) 90 positions : 91 0x0000 line=98 92 locals : 93 94 #1 : (in Linvokecustom/InvokeCustom1;) 95 name : '<init>' 96 type : '()V' 97 access : 0x10001 (PUBLIC CONSTRUCTOR) 98 code - 99 registers : 2 100 ins : 1 101 outs : 1 102 insns size : 7 16-bit code units 103 0040fc: |[0040fc] invokecustom.InvokeCustom1.<init>:()V 104 00410c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 105 004112: 1200 |0003: const/4 v0, #int 0 // #0 106 004114: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 107 004118: 0e00 |0006: return-void 108 catches : (none) 109 positions : 110 0x0000 line=35 111 0x0003 line=111 112 0x0006 line=35 113 locals : 114 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom1; 115 116 #2 : (in Linvokecustom/InvokeCustom1;) 117 name : '<init>' 118 type : '(I)V' 119 access : 0x10001 (PUBLIC CONSTRUCTOR) 120 code - 121 registers : 5 122 ins : 2 123 outs : 2 124 insns size : 37 16-bit code units 125 00411c: |[00411c] invokecustom.InvokeCustom1.<init>:(I)V 126 00412c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 127 004132: 1200 |0003: const/4 v0, #int 0 // #0 128 004134: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 129 004138: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 130 00413c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 131 004140: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 132 004146: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 133 00414a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 134 004150: 0c01 |0012: move-result-object v1 135 004152: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 136 004158: 0c01 |0016: move-result-object v1 137 00415a: 1a02 0700 |0017: const-string v2, ")" // string@0007 138 00415e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 139 004164: 0c01 |001c: move-result-object v1 140 004166: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 141 00416c: 0c01 |0020: move-result-object v1 142 00416e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 143 004174: 0e00 |0024: return-void 144 catches : (none) 145 positions : 146 0x0000 line=36 147 0x0003 line=111 148 0x0006 line=37 149 0x0024 line=38 150 locals : 151 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom1; 152 0x0000 - 0x0025 reg=4 (null) I 153 154 #3 : (in Linvokecustom/InvokeCustom1;) 155 name : 'bsmCreateCallSite' 156 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 157 access : 0x0009 (PUBLIC STATIC) 158 code - 159 registers : 7 160 ins : 4 161 outs : 2 162 insns size : 36 16-bit code units 163 004178: |[004178] invokecustom.InvokeCustom1.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 164 004188: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 165 00418c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 166 004190: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 167 004196: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 168 00419a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 169 0041a0: 0c01 |000c: move-result-object v1 170 0041a2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 171 0041a8: 0c01 |0010: move-result-object v1 172 0041aa: 1a02 5200 |0011: const-string v2, "]" // string@0052 173 0041ae: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 174 0041b4: 0c01 |0016: move-result-object v1 175 0041b6: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 176 0041bc: 0c01 |001a: move-result-object v1 177 0041be: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 178 0041c4: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 179 0041c8: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 180 0041ce: 1100 |0023: return-object v0 181 catches : (none) 182 positions : 183 0x0000 line=156 184 0x001e line=157 185 locals : 186 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 187 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 188 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 189 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 190 191 #4 : (in Linvokecustom/InvokeCustom1;) 192 name : 'bsmLookupStatic' 193 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 194 access : 0x0009 (PUBLIC STATIC) 195 code - 196 registers : 5 197 ins : 3 198 outs : 4 199 insns size : 29 16-bit code units 200 0041d0: |[0041d0] invokecustom.InvokeCustom1.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 201 0041e0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 202 0041e4: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 203 0041e8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 204 0041ee: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 205 0041f4: 0c00 |000a: move-result-object v0 206 0041f6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 207 0041fc: 0c01 |000e: move-result-object v1 208 0041fe: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 209 004204: 0c00 |0012: move-result-object v0 210 004206: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 211 00420a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 212 004210: 0c00 |0018: move-result-object v0 213 004212: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 214 004218: 1101 |001c: return-object v1 215 catches : (none) 216 positions : 217 0x0000 line=138 218 0x0007 line=139 219 0x000b line=140 220 0x0013 line=141 221 locals : 222 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 223 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 224 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 225 226 #5 : (in Linvokecustom/InvokeCustom1;) 227 name : 'bsmLookupStaticWithExtraArgs' 228 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 229 access : 0x0009 (PUBLIC STATIC) 230 code - 231 registers : 12 232 ins : 9 233 outs : 4 234 insns size : 82 16-bit code units 235 00421c: |[00421c] invokecustom.InvokeCustom1.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 236 00422c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 237 004230: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 238 004234: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 239 00423a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 240 00423e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 241 004244: 0c01 |000c: move-result-object v1 242 004246: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 243 00424c: 0c01 |0010: move-result-object v1 244 00424e: 1a02 0800 |0011: const-string v2, ", " // string@0008 245 004252: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 246 004258: 0c01 |0016: move-result-object v1 247 00425a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 248 004260: 0c01 |001a: move-result-object v1 249 004262: 1a02 0800 |001b: const-string v2, ", " // string@0008 250 004266: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 251 00426c: 0c01 |0020: move-result-object v1 252 00426e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 253 004274: 0c01 |0024: move-result-object v1 254 004276: 1a02 0800 |0025: const-string v2, ", " // string@0008 255 00427a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 256 004280: 0c01 |002a: move-result-object v1 257 004282: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 258 004288: 0c01 |002e: move-result-object v1 259 00428a: 1a02 5200 |002f: const-string v2, "]" // string@0052 260 00428e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 261 004294: 0c01 |0034: move-result-object v1 262 004296: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 263 00429c: 0c01 |0038: move-result-object v1 264 00429e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 265 0042a4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 266 0042aa: 0c00 |003f: move-result-object v0 267 0042ac: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 268 0042b2: 0c01 |0043: move-result-object v1 269 0042b4: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 270 0042ba: 0c00 |0047: move-result-object v0 271 0042bc: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 272 0042c0: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 273 0042c6: 0c00 |004d: move-result-object v0 274 0042c8: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 275 0042ce: 1101 |0051: return-object v1 276 catches : (none) 277 positions : 278 0x0000 line=147 279 0x003c line=148 280 0x0040 line=149 281 0x0048 line=150 282 locals : 283 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 284 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 285 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 286 0x0000 - 0x0052 reg=6 (null) I 287 0x0000 - 0x0052 reg=7 (null) J 288 0x0000 - 0x0052 reg=9 (null) F 289 0x0000 - 0x0052 reg=10 (null) D 290 291 #6 : (in Linvokecustom/InvokeCustom1;) 292 name : 'bsmLookupTest9' 293 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 294 access : 0x0009 (PUBLIC STATIC) 295 code - 296 registers : 13 297 ins : 10 298 outs : 4 299 insns size : 135 16-bit code units 300 0042d0: |[0042d0] invokecustom.InvokeCustom1.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 301 0042e0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 302 0042e4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 303 0042e8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 304 0042ee: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 305 0042f2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 306 0042f8: 0c01 |000c: move-result-object v1 307 0042fa: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 308 004300: 0c01 |0010: move-result-object v1 309 004302: 1a02 0800 |0011: const-string v2, ", " // string@0008 310 004306: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 311 00430c: 0c01 |0016: move-result-object v1 312 00430e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 313 004314: 0c01 |001a: move-result-object v1 314 004316: 1a02 0800 |001b: const-string v2, ", " // string@0008 315 00431a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 316 004320: 0c01 |0020: move-result-object v1 317 004322: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 318 004328: 0c01 |0024: move-result-object v1 319 00432a: 1a02 0800 |0025: const-string v2, ", " // string@0008 320 00432e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 321 004334: 0c01 |002a: move-result-object v1 322 004336: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 323 00433c: 0c01 |002e: move-result-object v1 324 00433e: 1a02 5200 |002f: const-string v2, "]" // string@0052 325 004342: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 326 004348: 0c01 |0034: move-result-object v1 327 00434a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 328 004350: 0c01 |0038: move-result-object v1 329 004352: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 330 004358: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 331 00435c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 332 004360: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 333 004366: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 334 00436c: 0c01 |0046: move-result-object v1 335 00436e: 1a02 0000 |0047: const-string v2, " " // string@0000 336 004372: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 337 004378: 0c01 |004c: move-result-object v1 338 00437a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 339 004380: 0c01 |0050: move-result-object v1 340 004382: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 341 004388: 0c01 |0054: move-result-object v1 342 00438a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 343 004390: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 344 004396: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 345 00439a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 346 0043a0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 347 0043a6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 348 0043ae: 1230 |0067: const/4 v0, #int 3 // #3 349 0043b0: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 350 0043b8: 0c00 |006c: move-result-object v0 351 0043ba: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 352 0043c2: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 353 0043c8: 0c00 |0074: move-result-object v0 354 0043ca: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 355 0043d0: 0c01 |0078: move-result-object v1 356 0043d2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 357 0043d8: 0c00 |007c: move-result-object v0 358 0043da: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 359 0043de: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 360 0043e4: 0c00 |0082: move-result-object v0 361 0043e6: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 362 0043ec: 1101 |0086: return-object v1 363 catches : (none) 364 positions : 365 0x0000 line=166 366 0x003c line=168 367 0x0058 line=171 368 0x005b line=172 369 0x0060 line=173 370 0x0063 line=176 371 0x0067 line=178 372 0x006d line=179 373 0x0071 line=181 374 0x0075 line=182 375 0x007d line=183 376 locals : 377 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 378 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 379 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 380 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 381 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 382 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 383 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 384 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 385 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 386 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 387 388 #7 : (in Linvokecustom/InvokeCustom1;) 389 name : 'checkFieldTest9' 390 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 391 access : 0x0002 (PRIVATE) 392 code - 393 registers : 9 394 ins : 3 395 outs : 3 396 insns size : 82 16-bit code units 397 0043f0: |[0043f0] invokecustom.InvokeCustom1.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 398 004400: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 399 004406: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 400 00440e: 0a00 |0007: move-result v0 401 004410: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 402 004418: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 403 004420: 0a01 |0010: move-result v1 404 004422: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 405 004426: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 406 00442a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 407 004430: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 408 004434: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 409 00443a: 0c03 |001d: move-result-object v3 410 00443c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 411 004442: 0c00 |0021: move-result-object v0 412 004444: 1a03 0600 |0022: const-string v3, " new " // string@0006 413 004448: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 414 00444e: 0c00 |0027: move-result-object v0 415 004450: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 416 004456: 0c00 |002b: move-result-object v0 417 004458: 1a03 0500 |002c: const-string v3, " expected " // string@0005 418 00445c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 419 004462: 0c00 |0031: move-result-object v0 420 004464: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 421 00446a: 0c00 |0035: move-result-object v0 422 00446c: 1a03 0000 |0036: const-string v3, " " // string@0000 423 004470: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 424 004476: 0c00 |003b: move-result-object v0 425 004478: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 426 00447e: 0c00 |003f: move-result-object v0 427 004480: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 428 004486: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 429 00448a: 2d00 0105 |0045: cmpl-float v0, v1, v5 430 00448e: 3900 0800 |0047: if-nez v0, 004f // +0008 431 004492: 1a00 4000 |0049: const-string v0, "OK" // string@0040 432 004496: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 433 00449c: 0e00 |004e: return-void 434 00449e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 435 0044a2: 28fa |0051: goto 004b // -0006 436 catches : (none) 437 positions : 438 0x0003 line=116 439 0x0008 line=117 440 0x000c line=118 441 0x0011 line=119 442 0x0043 line=121 443 0x004e line=122 444 0x004f line=121 445 locals : 446 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom1; 447 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 448 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 449 450 #8 : (in Linvokecustom/InvokeCustom1;) 451 name : 'checkStaticFieldTest9' 452 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 453 access : 0x000a (PRIVATE STATIC) 454 code - 455 registers : 8 456 ins : 2 457 outs : 2 458 insns size : 80 16-bit code units 459 0044a4: |[0044a4] invokecustom.InvokeCustom1.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 460 0044b4: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 461 0044ba: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 462 0044c2: 0a00 |0007: move-result v0 463 0044c4: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 464 0044cc: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 465 0044d4: 0a01 |0010: move-result v1 466 0044d6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 467 0044da: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 468 0044de: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 469 0044e4: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 470 0044e8: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 471 0044ee: 0c03 |001d: move-result-object v3 472 0044f0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 473 0044f6: 0c00 |0021: move-result-object v0 474 0044f8: 1a03 0600 |0022: const-string v3, " new " // string@0006 475 0044fc: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 476 004502: 0c00 |0027: move-result-object v0 477 004504: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 478 00450a: 0c00 |002b: move-result-object v0 479 00450c: 1a03 0500 |002c: const-string v3, " expected " // string@0005 480 004510: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 481 004516: 0c00 |0031: move-result-object v0 482 004518: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 483 00451e: 0c00 |0035: move-result-object v0 484 004520: 1a03 0000 |0036: const-string v3, " " // string@0000 485 004524: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 486 00452a: 0c00 |003b: move-result-object v0 487 00452c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 488 004532: 0c00 |003f: move-result-object v0 489 004534: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 490 00453a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 491 00453e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 492 004542: 1a00 4000 |0047: const-string v0, "OK" // string@0040 493 004546: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 494 00454c: 0e00 |004c: return-void 495 00454e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 496 004552: 28fa |004f: goto 0049 // -0006 497 catches : (none) 498 positions : 499 0x0003 line=103 500 0x0008 line=104 501 0x000c line=105 502 0x0011 line=106 503 0x0043 line=108 504 0x004c line=109 505 0x004d line=108 506 locals : 507 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 508 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 509 510 #9 : (in Linvokecustom/InvokeCustom1;) 511 name : 'targetMethodTest1' 512 type : '()V' 513 access : 0x000a (PRIVATE STATIC) 514 code - 515 registers : 2 516 ins : 0 517 outs : 2 518 insns size : 8 16-bit code units 519 004554: |[004554] invokecustom.InvokeCustom1.targetMethodTest1:()V 520 004564: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 521 004568: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 522 00456c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 523 004572: 0e00 |0007: return-void 524 catches : (none) 525 positions : 526 0x0000 line=41 527 0x0007 line=42 528 locals : 529 530 #10 : (in Linvokecustom/InvokeCustom1;) 531 name : 'targetMethodTest2' 532 type : '(ZBCSIFJDLjava/lang/String;)V' 533 access : 0x000a (PRIVATE STATIC) 534 code - 535 registers : 13 536 ins : 11 537 outs : 3 538 insns size : 46 16-bit code units 539 004574: |[004574] invokecustom.InvokeCustom1.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 540 004584: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 541 004588: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 542 00458e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 543 004592: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 544 004598: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 545 00459c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 546 0045a2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 547 0045a6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 548 0045ac: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 549 0045b0: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 550 0045b6: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 551 0045ba: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 552 0045c0: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 553 0045c4: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 554 0045ca: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 555 0045ce: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 556 0045d4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 557 0045d8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 558 0045de: 0e00 |002d: return-void 559 catches : (none) 560 positions : 561 0x0000 line=46 562 0x0005 line=47 563 0x000a line=48 564 0x000f line=49 565 0x0014 line=50 566 0x0019 line=51 567 0x001e line=52 568 0x0023 line=53 569 0x0028 line=54 570 0x002d line=55 571 locals : 572 0x0000 - 0x002e reg=2 (null) Z 573 0x0000 - 0x002e reg=3 (null) B 574 0x0000 - 0x002e reg=4 (null) C 575 0x0000 - 0x002e reg=5 (null) S 576 0x0000 - 0x002e reg=6 (null) I 577 0x0000 - 0x002e reg=7 (null) F 578 0x0000 - 0x002e reg=8 (null) J 579 0x0000 - 0x002e reg=10 (null) D 580 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 581 582 #11 : (in Linvokecustom/InvokeCustom1;) 583 name : 'targetMethodTest3' 584 type : '()V' 585 access : 0x000a (PRIVATE STATIC) 586 code - 587 registers : 2 588 ins : 0 589 outs : 2 590 insns size : 8 16-bit code units 591 0045e0: |[0045e0] invokecustom.InvokeCustom1.targetMethodTest3:()V 592 0045f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 593 0045f4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 594 0045f8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 595 0045fe: 0e00 |0007: return-void 596 catches : (none) 597 positions : 598 0x0000 line=58 599 0x0007 line=59 600 locals : 601 602 #12 : (in Linvokecustom/InvokeCustom1;) 603 name : 'targetMethodTest5' 604 type : '(III)I' 605 access : 0x0009 (PUBLIC STATIC) 606 code - 607 registers : 7 608 ins : 3 609 outs : 2 610 insns size : 83 16-bit code units 611 004600: |[004600] invokecustom.InvokeCustom1.targetMethodTest5:(III)I 612 004610: 9000 0405 |0000: add-int v0, v4, v5 613 004614: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 614 004618: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 615 00461c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 616 004622: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 617 004626: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 618 00462c: 0c02 |000e: move-result-object v2 619 00462e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 620 004634: 0c02 |0012: move-result-object v2 621 004636: 1a03 0300 |0013: const-string v3, " + " // string@0003 622 00463a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 623 004640: 0c02 |0018: move-result-object v2 624 004642: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 625 004648: 0c02 |001c: move-result-object v2 626 00464a: 1a03 0400 |001d: const-string v3, " = " // string@0004 627 00464e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 628 004654: 0c02 |0022: move-result-object v2 629 004656: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 630 00465c: 0c02 |0026: move-result-object v2 631 00465e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 632 004664: 0c02 |002a: move-result-object v2 633 004666: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 634 00466c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 635 004670: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 636 004674: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 637 004678: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 638 00467e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 639 004682: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 640 004688: 0c02 |003c: move-result-object v2 641 00468a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 642 004690: 0c02 |0040: move-result-object v2 643 004692: 1a03 0100 |0041: const-string v3, " != " // string@0001 644 004696: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 645 00469c: 0c02 |0046: move-result-object v2 646 00469e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 647 0046a4: 0c02 |004a: move-result-object v2 648 0046a6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 649 0046ac: 0c02 |004e: move-result-object v2 650 0046ae: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 651 0046b4: 0f00 |0052: return v0 652 catches : (none) 653 positions : 654 0x0000 line=68 655 0x0002 line=69 656 0x002e line=70 657 0x0030 line=71 658 0x0052 line=73 659 locals : 660 0x0000 - 0x0053 reg=4 (null) I 661 0x0000 - 0x0053 reg=5 (null) I 662 0x0000 - 0x0053 reg=6 (null) I 663 664 #13 : (in Linvokecustom/InvokeCustom1;) 665 name : 'targetMethodTest6' 666 type : '(JJJ)J' 667 access : 0x0009 (PUBLIC STATIC) 668 code - 669 registers : 12 670 ins : 6 671 outs : 3 672 insns size : 85 16-bit code units 673 0046b8: |[0046b8] invokecustom.InvokeCustom1.targetMethodTest6:(JJJ)J 674 0046c8: 9b00 0608 |0000: add-long v0, v6, v8 675 0046cc: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 676 0046d0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 677 0046d4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 678 0046da: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 679 0046de: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 680 0046e4: 0c03 |000e: move-result-object v3 681 0046e6: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 682 0046ec: 0c03 |0012: move-result-object v3 683 0046ee: 1a04 0300 |0013: const-string v4, " + " // string@0003 684 0046f2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 685 0046f8: 0c03 |0018: move-result-object v3 686 0046fa: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 687 004700: 0c03 |001c: move-result-object v3 688 004702: 1a04 0400 |001d: const-string v4, " = " // string@0004 689 004706: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 690 00470c: 0c03 |0022: move-result-object v3 691 00470e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 692 004714: 0c03 |0026: move-result-object v3 693 004716: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 694 00471c: 0c03 |002a: move-result-object v3 695 00471e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 696 004724: 3102 000a |002e: cmp-long v2, v0, v10 697 004728: 3802 2400 |0030: if-eqz v2, 0054 // +0024 698 00472c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 699 004730: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 700 004734: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 701 00473a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 702 00473e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 703 004744: 0c03 |003e: move-result-object v3 704 004746: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 705 00474c: 0c03 |0042: move-result-object v3 706 00474e: 1a04 0100 |0043: const-string v4, " != " // string@0001 707 004752: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 708 004758: 0c03 |0048: move-result-object v3 709 00475a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 710 004760: 0c03 |004c: move-result-object v3 711 004762: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 712 004768: 0c03 |0050: move-result-object v3 713 00476a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 714 004770: 1000 |0054: return-wide v0 715 catches : (none) 716 positions : 717 0x0000 line=77 718 0x0002 line=78 719 0x002e line=79 720 0x0032 line=80 721 0x0054 line=82 722 locals : 723 0x0000 - 0x0055 reg=6 (null) J 724 0x0000 - 0x0055 reg=8 (null) J 725 0x0000 - 0x0055 reg=10 (null) J 726 727 #14 : (in Linvokecustom/InvokeCustom1;) 728 name : 'targetMethodTest7' 729 type : '(FFD)D' 730 access : 0x0009 (PUBLIC STATIC) 731 code - 732 registers : 10 733 ins : 4 734 outs : 3 735 insns size : 86 16-bit code units 736 004774: |[004774] invokecustom.InvokeCustom1.targetMethodTest7:(FFD)D 737 004784: a800 0607 |0000: mul-float v0, v6, v7 738 004788: 8900 |0002: float-to-double v0, v0 739 00478a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 740 00478e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 741 004792: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 742 004798: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 743 00479c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 744 0047a2: 0c03 |000f: move-result-object v3 745 0047a4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 746 0047aa: 0c03 |0013: move-result-object v3 747 0047ac: 1a04 0200 |0014: const-string v4, " * " // string@0002 748 0047b0: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 749 0047b6: 0c03 |0019: move-result-object v3 750 0047b8: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 751 0047be: 0c03 |001d: move-result-object v3 752 0047c0: 1a04 0400 |001e: const-string v4, " = " // string@0004 753 0047c4: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 754 0047ca: 0c03 |0023: move-result-object v3 755 0047cc: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 756 0047d2: 0c03 |0027: move-result-object v3 757 0047d4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 758 0047da: 0c03 |002b: move-result-object v3 759 0047dc: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 760 0047e2: 2f02 0008 |002f: cmpl-double v2, v0, v8 761 0047e6: 3802 2400 |0031: if-eqz v2, 0055 // +0024 762 0047ea: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 763 0047ee: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 764 0047f2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 765 0047f8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 766 0047fc: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 767 004802: 0c03 |003f: move-result-object v3 768 004804: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 769 00480a: 0c03 |0043: move-result-object v3 770 00480c: 1a04 0100 |0044: const-string v4, " != " // string@0001 771 004810: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 772 004816: 0c03 |0049: move-result-object v3 773 004818: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 774 00481e: 0c03 |004d: move-result-object v3 775 004820: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 776 004826: 0c03 |0051: move-result-object v3 777 004828: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 778 00482e: 1000 |0055: return-wide v0 779 catches : (none) 780 positions : 781 0x0000 line=86 782 0x0003 line=87 783 0x002f line=88 784 0x0033 line=89 785 0x0055 line=91 786 locals : 787 0x0000 - 0x0056 reg=6 (null) F 788 0x0000 - 0x0056 reg=7 (null) F 789 0x0000 - 0x0056 reg=8 (null) D 790 791 #15 : (in Linvokecustom/InvokeCustom1;) 792 name : 'targetMethodTest8' 793 type : '(Ljava/lang/String;)V' 794 access : 0x0009 (PUBLIC STATIC) 795 code - 796 registers : 4 797 ins : 1 798 outs : 2 799 insns size : 25 16-bit code units 800 004830: |[004830] invokecustom.InvokeCustom1.targetMethodTest8:(Ljava/lang/String;)V 801 004840: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 802 004844: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 803 004848: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 804 00484e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 805 004852: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 806 004858: 0c01 |000c: move-result-object v1 807 00485a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 808 004860: 0c01 |0010: move-result-object v1 809 004862: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 810 004868: 0c01 |0014: move-result-object v1 811 00486a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 812 004870: 0e00 |0018: return-void 813 catches : (none) 814 positions : 815 0x0000 line=95 816 0x0018 line=96 817 locals : 818 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 819 820 #16 : (in Linvokecustom/InvokeCustom1;) 821 name : 'targetMethodTest9' 822 type : '()V' 823 access : 0x000a (PRIVATE STATIC) 824 code - 825 registers : 2 826 ins : 0 827 outs : 2 828 insns size : 8 16-bit code units 829 004874: |[004874] invokecustom.InvokeCustom1.targetMethodTest9:()V 830 004884: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 831 004888: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 832 00488c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 833 004892: 0e00 |0007: return-void 834 catches : (none) 835 positions : 836 0x0000 line=129 837 0x0007 line=130 838 locals : 839 840 #17 : (in Linvokecustom/InvokeCustom1;) 841 name : 'test1' 842 type : '()V' 843 access : 0x0009 (PUBLIC STATIC) 844 code - 845 registers : 0 846 ins : 0 847 outs : 0 848 insns size : 4 16-bit code units 849 004894: |[004894] invokecustom.InvokeCustom1.test1:()V 850 0048a4: fc00 0000 0000 |0000: invoke-custom {}, call_site@0000 851 0048aa: 0e00 |0003: return-void 852 catches : (none) 853 positions : 854 locals : 855 856 Virtual methods - 857 #0 : (in Linvokecustom/InvokeCustom1;) 858 name : 'helperMethodTest9' 859 type : '()V' 860 access : 0x0001 (PUBLIC) 861 code - 862 registers : 4 863 ins : 1 864 outs : 2 865 insns size : 27 16-bit code units 866 0048ac: |[0048ac] invokecustom.InvokeCustom1.helperMethodTest9:()V 867 0048bc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 868 0048c0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 869 0048c4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 870 0048ca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 871 0048ce: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 872 0048d4: 0c01 |000c: move-result-object v1 873 0048d6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 874 0048da: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 875 0048e0: 0c01 |0012: move-result-object v1 876 0048e2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 877 0048e8: 0c01 |0016: move-result-object v1 878 0048ea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 879 0048f0: 0e00 |001a: return-void 880 catches : (none) 881 positions : 882 0x0000 line=125 883 0x001a line=126 884 locals : 885 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom1; 886 887 #1 : (in Linvokecustom/InvokeCustom1;) 888 name : 'run' 889 type : '()V' 890 access : 0x0001 (PUBLIC) 891 code - 892 registers : 3 893 ins : 1 894 outs : 2 895 insns size : 8 16-bit code units 896 0048f4: |[0048f4] invokecustom.InvokeCustom1.run:()V 897 004904: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 898 004908: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 899 00490c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 900 004912: 0e00 |0007: return-void 901 catches : (none) 902 positions : 903 0x0000 line=133 904 0x0007 line=134 905 locals : 906 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom1; 907 908 #2 : (in Linvokecustom/InvokeCustom1;) 909 name : 'targetMethodTest4' 910 type : '()V' 911 access : 0x0001 (PUBLIC) 912 code - 913 registers : 3 914 ins : 1 915 outs : 2 916 insns size : 8 16-bit code units 917 004914: |[004914] invokecustom.InvokeCustom1.targetMethodTest4:()V 918 004924: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 919 004928: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 920 00492c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 921 004932: 0e00 |0007: return-void 922 catches : (none) 923 positions : 924 0x0000 line=64 925 0x0007 line=65 926 locals : 927 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom1; 928 929 source_file_idx : 25 (InvokeCustom.java) 930 931 Class #2 - 932 Class descriptor : 'Linvokecustom/InvokeCustom2;' 933 Access flags : 0x0001 (PUBLIC) 934 Superclass : 'Linvokecustom/Super;' 935 Interfaces - 936 #0 : 'Ljava/lang/Runnable;' 937 Static fields - 938 #0 : (in Linvokecustom/InvokeCustom2;) 939 name : 'staticFieldTest9' 940 type : 'I' 941 access : 0x000a (PRIVATE STATIC) 942 Instance fields - 943 #0 : (in Linvokecustom/InvokeCustom2;) 944 name : 'fieldTest9' 945 type : 'F' 946 access : 0x0002 (PRIVATE) 947 Direct methods - 948 #0 : (in Linvokecustom/InvokeCustom2;) 949 name : '<clinit>' 950 type : '()V' 951 access : 0x10008 (STATIC CONSTRUCTOR) 952 code - 953 registers : 1 954 ins : 0 955 outs : 0 956 insns size : 4 16-bit code units 957 004934: |[004934] invokecustom.InvokeCustom2.<clinit>:()V 958 004944: 1200 |0000: const/4 v0, #int 0 // #0 959 004946: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 960 00494a: 0e00 |0003: return-void 961 catches : (none) 962 positions : 963 0x0000 line=98 964 locals : 965 966 #1 : (in Linvokecustom/InvokeCustom2;) 967 name : '<init>' 968 type : '()V' 969 access : 0x10001 (PUBLIC CONSTRUCTOR) 970 code - 971 registers : 2 972 ins : 1 973 outs : 1 974 insns size : 7 16-bit code units 975 00494c: |[00494c] invokecustom.InvokeCustom2.<init>:()V 976 00495c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 977 004962: 1200 |0003: const/4 v0, #int 0 // #0 978 004964: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 979 004968: 0e00 |0006: return-void 980 catches : (none) 981 positions : 982 0x0000 line=35 983 0x0003 line=111 984 0x0006 line=35 985 locals : 986 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom2; 987 988 #2 : (in Linvokecustom/InvokeCustom2;) 989 name : '<init>' 990 type : '(I)V' 991 access : 0x10001 (PUBLIC CONSTRUCTOR) 992 code - 993 registers : 5 994 ins : 2 995 outs : 2 996 insns size : 37 16-bit code units 997 00496c: |[00496c] invokecustom.InvokeCustom2.<init>:(I)V 998 00497c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 999 004982: 1200 |0003: const/4 v0, #int 0 // #0 1000 004984: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 1001 004988: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1002 00498c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1003 004990: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1004 004996: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 1005 00499a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1006 0049a0: 0c01 |0012: move-result-object v1 1007 0049a2: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1008 0049a8: 0c01 |0016: move-result-object v1 1009 0049aa: 1a02 0700 |0017: const-string v2, ")" // string@0007 1010 0049ae: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1011 0049b4: 0c01 |001c: move-result-object v1 1012 0049b6: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1013 0049bc: 0c01 |0020: move-result-object v1 1014 0049be: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1015 0049c4: 0e00 |0024: return-void 1016 catches : (none) 1017 positions : 1018 0x0000 line=36 1019 0x0003 line=111 1020 0x0006 line=37 1021 0x0024 line=38 1022 locals : 1023 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom2; 1024 0x0000 - 0x0025 reg=4 (null) I 1025 1026 #3 : (in Linvokecustom/InvokeCustom2;) 1027 name : 'bsmCreateCallSite' 1028 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 1029 access : 0x0009 (PUBLIC STATIC) 1030 code - 1031 registers : 7 1032 ins : 4 1033 outs : 2 1034 insns size : 36 16-bit code units 1035 0049c8: |[0049c8] invokecustom.InvokeCustom2.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 1036 0049d8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1037 0049dc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1038 0049e0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1039 0049e6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 1040 0049ea: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1041 0049f0: 0c01 |000c: move-result-object v1 1042 0049f2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1043 0049f8: 0c01 |0010: move-result-object v1 1044 0049fa: 1a02 5200 |0011: const-string v2, "]" // string@0052 1045 0049fe: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1046 004a04: 0c01 |0016: move-result-object v1 1047 004a06: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1048 004a0c: 0c01 |001a: move-result-object v1 1049 004a0e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1050 004a14: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 1051 004a18: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 1052 004a1e: 1100 |0023: return-object v0 1053 catches : (none) 1054 positions : 1055 0x0000 line=156 1056 0x001e line=157 1057 locals : 1058 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 1059 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 1060 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 1061 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 1062 1063 #4 : (in Linvokecustom/InvokeCustom2;) 1064 name : 'bsmLookupStatic' 1065 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 1066 access : 0x0009 (PUBLIC STATIC) 1067 code - 1068 registers : 5 1069 ins : 3 1070 outs : 4 1071 insns size : 29 16-bit code units 1072 004a20: |[004a20] invokecustom.InvokeCustom2.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 1073 004a30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1074 004a34: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 1075 004a38: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1076 004a3e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 1077 004a44: 0c00 |000a: move-result-object v0 1078 004a46: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 1079 004a4c: 0c01 |000e: move-result-object v1 1080 004a4e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 1081 004a54: 0c00 |0012: move-result-object v0 1082 004a56: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 1083 004a5a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 1084 004a60: 0c00 |0018: move-result-object v0 1085 004a62: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 1086 004a68: 1101 |001c: return-object v1 1087 catches : (none) 1088 positions : 1089 0x0000 line=138 1090 0x0007 line=139 1091 0x000b line=140 1092 0x0013 line=141 1093 locals : 1094 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 1095 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 1096 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 1097 1098 #5 : (in Linvokecustom/InvokeCustom2;) 1099 name : 'bsmLookupStaticWithExtraArgs' 1100 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 1101 access : 0x0009 (PUBLIC STATIC) 1102 code - 1103 registers : 12 1104 ins : 9 1105 outs : 4 1106 insns size : 82 16-bit code units 1107 004a6c: |[004a6c] invokecustom.InvokeCustom2.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 1108 004a7c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1109 004a80: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1110 004a84: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1111 004a8a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 1112 004a8e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1113 004a94: 0c01 |000c: move-result-object v1 1114 004a96: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1115 004a9c: 0c01 |0010: move-result-object v1 1116 004a9e: 1a02 0800 |0011: const-string v2, ", " // string@0008 1117 004aa2: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1118 004aa8: 0c01 |0016: move-result-object v1 1119 004aaa: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 1120 004ab0: 0c01 |001a: move-result-object v1 1121 004ab2: 1a02 0800 |001b: const-string v2, ", " // string@0008 1122 004ab6: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1123 004abc: 0c01 |0020: move-result-object v1 1124 004abe: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 1125 004ac4: 0c01 |0024: move-result-object v1 1126 004ac6: 1a02 0800 |0025: const-string v2, ", " // string@0008 1127 004aca: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1128 004ad0: 0c01 |002a: move-result-object v1 1129 004ad2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 1130 004ad8: 0c01 |002e: move-result-object v1 1131 004ada: 1a02 5200 |002f: const-string v2, "]" // string@0052 1132 004ade: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1133 004ae4: 0c01 |0034: move-result-object v1 1134 004ae6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1135 004aec: 0c01 |0038: move-result-object v1 1136 004aee: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1137 004af4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 1138 004afa: 0c00 |003f: move-result-object v0 1139 004afc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 1140 004b02: 0c01 |0043: move-result-object v1 1141 004b04: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 1142 004b0a: 0c00 |0047: move-result-object v0 1143 004b0c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 1144 004b10: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 1145 004b16: 0c00 |004d: move-result-object v0 1146 004b18: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 1147 004b1e: 1101 |0051: return-object v1 1148 catches : (none) 1149 positions : 1150 0x0000 line=147 1151 0x003c line=148 1152 0x0040 line=149 1153 0x0048 line=150 1154 locals : 1155 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 1156 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 1157 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 1158 0x0000 - 0x0052 reg=6 (null) I 1159 0x0000 - 0x0052 reg=7 (null) J 1160 0x0000 - 0x0052 reg=9 (null) F 1161 0x0000 - 0x0052 reg=10 (null) D 1162 1163 #6 : (in Linvokecustom/InvokeCustom2;) 1164 name : 'bsmLookupTest9' 1165 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 1166 access : 0x0009 (PUBLIC STATIC) 1167 code - 1168 registers : 13 1169 ins : 10 1170 outs : 4 1171 insns size : 135 16-bit code units 1172 004b20: |[004b20] invokecustom.InvokeCustom2.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 1173 004b30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1174 004b34: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1175 004b38: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1176 004b3e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 1177 004b42: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1178 004b48: 0c01 |000c: move-result-object v1 1179 004b4a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1180 004b50: 0c01 |0010: move-result-object v1 1181 004b52: 1a02 0800 |0011: const-string v2, ", " // string@0008 1182 004b56: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1183 004b5c: 0c01 |0016: move-result-object v1 1184 004b5e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1185 004b64: 0c01 |001a: move-result-object v1 1186 004b66: 1a02 0800 |001b: const-string v2, ", " // string@0008 1187 004b6a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1188 004b70: 0c01 |0020: move-result-object v1 1189 004b72: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1190 004b78: 0c01 |0024: move-result-object v1 1191 004b7a: 1a02 0800 |0025: const-string v2, ", " // string@0008 1192 004b7e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1193 004b84: 0c01 |002a: move-result-object v1 1194 004b86: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1195 004b8c: 0c01 |002e: move-result-object v1 1196 004b8e: 1a02 5200 |002f: const-string v2, "]" // string@0052 1197 004b92: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1198 004b98: 0c01 |0034: move-result-object v1 1199 004b9a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1200 004ba0: 0c01 |0038: move-result-object v1 1201 004ba2: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1202 004ba8: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1203 004bac: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1204 004bb0: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1205 004bb6: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1206 004bbc: 0c01 |0046: move-result-object v1 1207 004bbe: 1a02 0000 |0047: const-string v2, " " // string@0000 1208 004bc2: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1209 004bc8: 0c01 |004c: move-result-object v1 1210 004bca: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1211 004bd0: 0c01 |0050: move-result-object v1 1212 004bd2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1213 004bd8: 0c01 |0054: move-result-object v1 1214 004bda: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1215 004be0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 1216 004be6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 1217 004bea: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 1218 004bf0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 1219 004bf6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 1220 004bfe: 1230 |0067: const/4 v0, #int 3 // #3 1221 004c00: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 1222 004c08: 0c00 |006c: move-result-object v0 1223 004c0a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 1224 004c12: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 1225 004c18: 0c00 |0074: move-result-object v0 1226 004c1a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 1227 004c20: 0c01 |0078: move-result-object v1 1228 004c22: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 1229 004c28: 0c00 |007c: move-result-object v0 1230 004c2a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 1231 004c2e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 1232 004c34: 0c00 |0082: move-result-object v0 1233 004c36: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 1234 004c3c: 1101 |0086: return-object v1 1235 catches : (none) 1236 positions : 1237 0x0000 line=166 1238 0x003c line=168 1239 0x0058 line=171 1240 0x005b line=172 1241 0x0060 line=173 1242 0x0063 line=176 1243 0x0067 line=178 1244 0x006d line=179 1245 0x0071 line=181 1246 0x0075 line=182 1247 0x007d line=183 1248 locals : 1249 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 1250 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 1251 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 1252 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 1253 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 1254 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 1255 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 1256 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 1257 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 1258 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 1259 1260 #7 : (in Linvokecustom/InvokeCustom2;) 1261 name : 'checkFieldTest9' 1262 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 1263 access : 0x0002 (PRIVATE) 1264 code - 1265 registers : 9 1266 ins : 3 1267 outs : 3 1268 insns size : 82 16-bit code units 1269 004c40: |[004c40] invokecustom.InvokeCustom2.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 1270 004c50: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 1271 004c56: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 1272 004c5e: 0a00 |0007: move-result v0 1273 004c60: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 1274 004c68: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 1275 004c70: 0a01 |0010: move-result v1 1276 004c72: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1277 004c76: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 1278 004c7a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1279 004c80: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 1280 004c84: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1281 004c8a: 0c03 |001d: move-result-object v3 1282 004c8c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 1283 004c92: 0c00 |0021: move-result-object v0 1284 004c94: 1a03 0600 |0022: const-string v3, " new " // string@0006 1285 004c98: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1286 004c9e: 0c00 |0027: move-result-object v0 1287 004ca0: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 1288 004ca6: 0c00 |002b: move-result-object v0 1289 004ca8: 1a03 0500 |002c: const-string v3, " expected " // string@0005 1290 004cac: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1291 004cb2: 0c00 |0031: move-result-object v0 1292 004cb4: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 1293 004cba: 0c00 |0035: move-result-object v0 1294 004cbc: 1a03 0000 |0036: const-string v3, " " // string@0000 1295 004cc0: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1296 004cc6: 0c00 |003b: move-result-object v0 1297 004cc8: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1298 004cce: 0c00 |003f: move-result-object v0 1299 004cd0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 1300 004cd6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1301 004cda: 2d00 0105 |0045: cmpl-float v0, v1, v5 1302 004cde: 3900 0800 |0047: if-nez v0, 004f // +0008 1303 004ce2: 1a00 4000 |0049: const-string v0, "OK" // string@0040 1304 004ce6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1305 004cec: 0e00 |004e: return-void 1306 004cee: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 1307 004cf2: 28fa |0051: goto 004b // -0006 1308 catches : (none) 1309 positions : 1310 0x0003 line=116 1311 0x0008 line=117 1312 0x000c line=118 1313 0x0011 line=119 1314 0x0043 line=121 1315 0x004e line=122 1316 0x004f line=121 1317 locals : 1318 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom2; 1319 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 1320 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 1321 1322 #8 : (in Linvokecustom/InvokeCustom2;) 1323 name : 'checkStaticFieldTest9' 1324 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 1325 access : 0x000a (PRIVATE STATIC) 1326 code - 1327 registers : 8 1328 ins : 2 1329 outs : 2 1330 insns size : 80 16-bit code units 1331 004cf4: |[004cf4] invokecustom.InvokeCustom2.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 1332 004d04: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 1333 004d0a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 1334 004d12: 0a00 |0007: move-result v0 1335 004d14: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 1336 004d1c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 1337 004d24: 0a01 |0010: move-result v1 1338 004d26: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1339 004d2a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 1340 004d2e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1341 004d34: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 1342 004d38: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1343 004d3e: 0c03 |001d: move-result-object v3 1344 004d40: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1345 004d46: 0c00 |0021: move-result-object v0 1346 004d48: 1a03 0600 |0022: const-string v3, " new " // string@0006 1347 004d4c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1348 004d52: 0c00 |0027: move-result-object v0 1349 004d54: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1350 004d5a: 0c00 |002b: move-result-object v0 1351 004d5c: 1a03 0500 |002c: const-string v3, " expected " // string@0005 1352 004d60: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1353 004d66: 0c00 |0031: move-result-object v0 1354 004d68: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1355 004d6e: 0c00 |0035: move-result-object v0 1356 004d70: 1a03 0000 |0036: const-string v3, " " // string@0000 1357 004d74: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1358 004d7a: 0c00 |003b: move-result-object v0 1359 004d7c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1360 004d82: 0c00 |003f: move-result-object v0 1361 004d84: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 1362 004d8a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1363 004d8e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 1364 004d92: 1a00 4000 |0047: const-string v0, "OK" // string@0040 1365 004d96: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1366 004d9c: 0e00 |004c: return-void 1367 004d9e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 1368 004da2: 28fa |004f: goto 0049 // -0006 1369 catches : (none) 1370 positions : 1371 0x0003 line=103 1372 0x0008 line=104 1373 0x000c line=105 1374 0x0011 line=106 1375 0x0043 line=108 1376 0x004c line=109 1377 0x004d line=108 1378 locals : 1379 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 1380 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 1381 1382 #9 : (in Linvokecustom/InvokeCustom2;) 1383 name : 'targetMethodTest1' 1384 type : '()V' 1385 access : 0x000a (PRIVATE STATIC) 1386 code - 1387 registers : 2 1388 ins : 0 1389 outs : 2 1390 insns size : 8 16-bit code units 1391 004da4: |[004da4] invokecustom.InvokeCustom2.targetMethodTest1:()V 1392 004db4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1393 004db8: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 1394 004dbc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1395 004dc2: 0e00 |0007: return-void 1396 catches : (none) 1397 positions : 1398 0x0000 line=41 1399 0x0007 line=42 1400 locals : 1401 1402 #10 : (in Linvokecustom/InvokeCustom2;) 1403 name : 'targetMethodTest2' 1404 type : '(ZBCSIFJDLjava/lang/String;)V' 1405 access : 0x000a (PRIVATE STATIC) 1406 code - 1407 registers : 13 1408 ins : 11 1409 outs : 3 1410 insns size : 46 16-bit code units 1411 004dc4: |[004dc4] invokecustom.InvokeCustom2.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 1412 004dd4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1413 004dd8: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 1414 004dde: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1415 004de2: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 1416 004de8: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1417 004dec: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 1418 004df2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1419 004df6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 1420 004dfc: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1421 004e00: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 1422 004e06: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1423 004e0a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 1424 004e10: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1425 004e14: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 1426 004e1a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1427 004e1e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 1428 004e24: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1429 004e28: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1430 004e2e: 0e00 |002d: return-void 1431 catches : (none) 1432 positions : 1433 0x0000 line=46 1434 0x0005 line=47 1435 0x000a line=48 1436 0x000f line=49 1437 0x0014 line=50 1438 0x0019 line=51 1439 0x001e line=52 1440 0x0023 line=53 1441 0x0028 line=54 1442 0x002d line=55 1443 locals : 1444 0x0000 - 0x002e reg=2 (null) Z 1445 0x0000 - 0x002e reg=3 (null) B 1446 0x0000 - 0x002e reg=4 (null) C 1447 0x0000 - 0x002e reg=5 (null) S 1448 0x0000 - 0x002e reg=6 (null) I 1449 0x0000 - 0x002e reg=7 (null) F 1450 0x0000 - 0x002e reg=8 (null) J 1451 0x0000 - 0x002e reg=10 (null) D 1452 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 1453 1454 #11 : (in Linvokecustom/InvokeCustom2;) 1455 name : 'targetMethodTest3' 1456 type : '()V' 1457 access : 0x000a (PRIVATE STATIC) 1458 code - 1459 registers : 2 1460 ins : 0 1461 outs : 2 1462 insns size : 8 16-bit code units 1463 004e30: |[004e30] invokecustom.InvokeCustom2.targetMethodTest3:()V 1464 004e40: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1465 004e44: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 1466 004e48: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1467 004e4e: 0e00 |0007: return-void 1468 catches : (none) 1469 positions : 1470 0x0000 line=58 1471 0x0007 line=59 1472 locals : 1473 1474 #12 : (in Linvokecustom/InvokeCustom2;) 1475 name : 'targetMethodTest5' 1476 type : '(III)I' 1477 access : 0x0009 (PUBLIC STATIC) 1478 code - 1479 registers : 7 1480 ins : 3 1481 outs : 2 1482 insns size : 83 16-bit code units 1483 004e50: |[004e50] invokecustom.InvokeCustom2.targetMethodTest5:(III)I 1484 004e60: 9000 0405 |0000: add-int v0, v4, v5 1485 004e64: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1486 004e68: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 1487 004e6c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1488 004e72: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 1489 004e76: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1490 004e7c: 0c02 |000e: move-result-object v2 1491 004e7e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1492 004e84: 0c02 |0012: move-result-object v2 1493 004e86: 1a03 0300 |0013: const-string v3, " + " // string@0003 1494 004e8a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1495 004e90: 0c02 |0018: move-result-object v2 1496 004e92: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1497 004e98: 0c02 |001c: move-result-object v2 1498 004e9a: 1a03 0400 |001d: const-string v3, " = " // string@0004 1499 004e9e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1500 004ea4: 0c02 |0022: move-result-object v2 1501 004ea6: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1502 004eac: 0c02 |0026: move-result-object v2 1503 004eae: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1504 004eb4: 0c02 |002a: move-result-object v2 1505 004eb6: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1506 004ebc: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 1507 004ec0: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1508 004ec4: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 1509 004ec8: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1510 004ece: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 1511 004ed2: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1512 004ed8: 0c02 |003c: move-result-object v2 1513 004eda: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1514 004ee0: 0c02 |0040: move-result-object v2 1515 004ee2: 1a03 0100 |0041: const-string v3, " != " // string@0001 1516 004ee6: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1517 004eec: 0c02 |0046: move-result-object v2 1518 004eee: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1519 004ef4: 0c02 |004a: move-result-object v2 1520 004ef6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1521 004efc: 0c02 |004e: move-result-object v2 1522 004efe: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1523 004f04: 0f00 |0052: return v0 1524 catches : (none) 1525 positions : 1526 0x0000 line=68 1527 0x0002 line=69 1528 0x002e line=70 1529 0x0030 line=71 1530 0x0052 line=73 1531 locals : 1532 0x0000 - 0x0053 reg=4 (null) I 1533 0x0000 - 0x0053 reg=5 (null) I 1534 0x0000 - 0x0053 reg=6 (null) I 1535 1536 #13 : (in Linvokecustom/InvokeCustom2;) 1537 name : 'targetMethodTest6' 1538 type : '(JJJ)J' 1539 access : 0x0009 (PUBLIC STATIC) 1540 code - 1541 registers : 12 1542 ins : 6 1543 outs : 3 1544 insns size : 85 16-bit code units 1545 004f08: |[004f08] invokecustom.InvokeCustom2.targetMethodTest6:(JJJ)J 1546 004f18: 9b00 0608 |0000: add-long v0, v6, v8 1547 004f1c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1548 004f20: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 1549 004f24: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1550 004f2a: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 1551 004f2e: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1552 004f34: 0c03 |000e: move-result-object v3 1553 004f36: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 1554 004f3c: 0c03 |0012: move-result-object v3 1555 004f3e: 1a04 0300 |0013: const-string v4, " + " // string@0003 1556 004f42: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1557 004f48: 0c03 |0018: move-result-object v3 1558 004f4a: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 1559 004f50: 0c03 |001c: move-result-object v3 1560 004f52: 1a04 0400 |001d: const-string v4, " = " // string@0004 1561 004f56: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1562 004f5c: 0c03 |0022: move-result-object v3 1563 004f5e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 1564 004f64: 0c03 |0026: move-result-object v3 1565 004f66: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1566 004f6c: 0c03 |002a: move-result-object v3 1567 004f6e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1568 004f74: 3102 000a |002e: cmp-long v2, v0, v10 1569 004f78: 3802 2400 |0030: if-eqz v2, 0054 // +0024 1570 004f7c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1571 004f80: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 1572 004f84: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1573 004f8a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 1574 004f8e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1575 004f94: 0c03 |003e: move-result-object v3 1576 004f96: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 1577 004f9c: 0c03 |0042: move-result-object v3 1578 004f9e: 1a04 0100 |0043: const-string v4, " != " // string@0001 1579 004fa2: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1580 004fa8: 0c03 |0048: move-result-object v3 1581 004faa: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 1582 004fb0: 0c03 |004c: move-result-object v3 1583 004fb2: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1584 004fb8: 0c03 |0050: move-result-object v3 1585 004fba: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1586 004fc0: 1000 |0054: return-wide v0 1587 catches : (none) 1588 positions : 1589 0x0000 line=77 1590 0x0002 line=78 1591 0x002e line=79 1592 0x0032 line=80 1593 0x0054 line=82 1594 locals : 1595 0x0000 - 0x0055 reg=6 (null) J 1596 0x0000 - 0x0055 reg=8 (null) J 1597 0x0000 - 0x0055 reg=10 (null) J 1598 1599 #14 : (in Linvokecustom/InvokeCustom2;) 1600 name : 'targetMethodTest7' 1601 type : '(FFD)D' 1602 access : 0x0009 (PUBLIC STATIC) 1603 code - 1604 registers : 10 1605 ins : 4 1606 outs : 3 1607 insns size : 86 16-bit code units 1608 004fc4: |[004fc4] invokecustom.InvokeCustom2.targetMethodTest7:(FFD)D 1609 004fd4: a800 0607 |0000: mul-float v0, v6, v7 1610 004fd8: 8900 |0002: float-to-double v0, v0 1611 004fda: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1612 004fde: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 1613 004fe2: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1614 004fe8: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 1615 004fec: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1616 004ff2: 0c03 |000f: move-result-object v3 1617 004ff4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 1618 004ffa: 0c03 |0013: move-result-object v3 1619 004ffc: 1a04 0200 |0014: const-string v4, " * " // string@0002 1620 005000: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1621 005006: 0c03 |0019: move-result-object v3 1622 005008: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 1623 00500e: 0c03 |001d: move-result-object v3 1624 005010: 1a04 0400 |001e: const-string v4, " = " // string@0004 1625 005014: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1626 00501a: 0c03 |0023: move-result-object v3 1627 00501c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 1628 005022: 0c03 |0027: move-result-object v3 1629 005024: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1630 00502a: 0c03 |002b: move-result-object v3 1631 00502c: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1632 005032: 2f02 0008 |002f: cmpl-double v2, v0, v8 1633 005036: 3802 2400 |0031: if-eqz v2, 0055 // +0024 1634 00503a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1635 00503e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 1636 005042: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1637 005048: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 1638 00504c: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1639 005052: 0c03 |003f: move-result-object v3 1640 005054: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 1641 00505a: 0c03 |0043: move-result-object v3 1642 00505c: 1a04 0100 |0044: const-string v4, " != " // string@0001 1643 005060: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1644 005066: 0c03 |0049: move-result-object v3 1645 005068: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 1646 00506e: 0c03 |004d: move-result-object v3 1647 005070: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1648 005076: 0c03 |0051: move-result-object v3 1649 005078: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1650 00507e: 1000 |0055: return-wide v0 1651 catches : (none) 1652 positions : 1653 0x0000 line=86 1654 0x0003 line=87 1655 0x002f line=88 1656 0x0033 line=89 1657 0x0055 line=91 1658 locals : 1659 0x0000 - 0x0056 reg=6 (null) F 1660 0x0000 - 0x0056 reg=7 (null) F 1661 0x0000 - 0x0056 reg=8 (null) D 1662 1663 #15 : (in Linvokecustom/InvokeCustom2;) 1664 name : 'targetMethodTest8' 1665 type : '(Ljava/lang/String;)V' 1666 access : 0x0009 (PUBLIC STATIC) 1667 code - 1668 registers : 4 1669 ins : 1 1670 outs : 2 1671 insns size : 25 16-bit code units 1672 005080: |[005080] invokecustom.InvokeCustom2.targetMethodTest8:(Ljava/lang/String;)V 1673 005090: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1674 005094: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1675 005098: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1676 00509e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 1677 0050a2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1678 0050a8: 0c01 |000c: move-result-object v1 1679 0050aa: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1680 0050b0: 0c01 |0010: move-result-object v1 1681 0050b2: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1682 0050b8: 0c01 |0014: move-result-object v1 1683 0050ba: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1684 0050c0: 0e00 |0018: return-void 1685 catches : (none) 1686 positions : 1687 0x0000 line=95 1688 0x0018 line=96 1689 locals : 1690 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 1691 1692 #16 : (in Linvokecustom/InvokeCustom2;) 1693 name : 'targetMethodTest9' 1694 type : '()V' 1695 access : 0x000a (PRIVATE STATIC) 1696 code - 1697 registers : 2 1698 ins : 0 1699 outs : 2 1700 insns size : 8 16-bit code units 1701 0050c4: |[0050c4] invokecustom.InvokeCustom2.targetMethodTest9:()V 1702 0050d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1703 0050d8: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 1704 0050dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1705 0050e2: 0e00 |0007: return-void 1706 catches : (none) 1707 positions : 1708 0x0000 line=129 1709 0x0007 line=130 1710 locals : 1711 1712 #17 : (in Linvokecustom/InvokeCustom2;) 1713 name : 'test2' 1714 type : '()V' 1715 access : 0x0009 (PUBLIC STATIC) 1716 code - 1717 registers : 11 1718 ins : 0 1719 outs : 11 1720 insns size : 27 16-bit code units 1721 0050e4: |[0050e4] invokecustom.InvokeCustom2.test2:()V 1722 0050f4: 1210 |0000: const/4 v0, #int 1 // #1 1723 0050f6: 1301 7f00 |0001: const/16 v1, #int 127 // #7f 1724 0050fa: 1302 6300 |0003: const/16 v2, #int 99 // #63 1725 0050fe: 1303 0004 |0005: const/16 v3, #int 1024 // #400 1726 005102: 1404 40e2 0100 |0007: const v4, #float 1.72999e-40 // #0001e240 1727 005108: 1405 9a99 993f |000a: const v5, #float 1.2 // #3f99999a 1728 00510e: 1706 15cd 5b07 |000d: const-wide/32 v6, #float 1.6536e-34 // #075bcd15 1729 005114: 1808 b6fa f8b0 4819 0c40 |0010: const-wide v8, #double 3.51235 // #400c1948b0f8fab6 1730 00511e: 1a0a 4300 |0015: const-string v10, "String" // string@0043 1731 005122: fd0b 0100 0000 |0017: invoke-custom/range {v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10}, call_site@0001 1732 005128: 0e00 |001a: return-void 1733 catches : (none) 1734 positions : 1735 locals : 1736 1737 Virtual methods - 1738 #0 : (in Linvokecustom/InvokeCustom2;) 1739 name : 'helperMethodTest9' 1740 type : '()V' 1741 access : 0x0001 (PUBLIC) 1742 code - 1743 registers : 4 1744 ins : 1 1745 outs : 2 1746 insns size : 27 16-bit code units 1747 00512c: |[00512c] invokecustom.InvokeCustom2.helperMethodTest9:()V 1748 00513c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1749 005140: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1750 005144: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1751 00514a: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 1752 00514e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1753 005154: 0c01 |000c: move-result-object v1 1754 005156: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 1755 00515a: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1756 005160: 0c01 |0012: move-result-object v1 1757 005162: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1758 005168: 0c01 |0016: move-result-object v1 1759 00516a: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1760 005170: 0e00 |001a: return-void 1761 catches : (none) 1762 positions : 1763 0x0000 line=125 1764 0x001a line=126 1765 locals : 1766 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom2; 1767 1768 #1 : (in Linvokecustom/InvokeCustom2;) 1769 name : 'run' 1770 type : '()V' 1771 access : 0x0001 (PUBLIC) 1772 code - 1773 registers : 3 1774 ins : 1 1775 outs : 2 1776 insns size : 8 16-bit code units 1777 005174: |[005174] invokecustom.InvokeCustom2.run:()V 1778 005184: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1779 005188: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 1780 00518c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1781 005192: 0e00 |0007: return-void 1782 catches : (none) 1783 positions : 1784 0x0000 line=133 1785 0x0007 line=134 1786 locals : 1787 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom2; 1788 1789 #2 : (in Linvokecustom/InvokeCustom2;) 1790 name : 'targetMethodTest4' 1791 type : '()V' 1792 access : 0x0001 (PUBLIC) 1793 code - 1794 registers : 3 1795 ins : 1 1796 outs : 2 1797 insns size : 8 16-bit code units 1798 005194: |[005194] invokecustom.InvokeCustom2.targetMethodTest4:()V 1799 0051a4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1800 0051a8: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 1801 0051ac: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1802 0051b2: 0e00 |0007: return-void 1803 catches : (none) 1804 positions : 1805 0x0000 line=64 1806 0x0007 line=65 1807 locals : 1808 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom2; 1809 1810 source_file_idx : 25 (InvokeCustom.java) 1811 1812 Class #3 - 1813 Class descriptor : 'Linvokecustom/InvokeCustom3;' 1814 Access flags : 0x0001 (PUBLIC) 1815 Superclass : 'Linvokecustom/Super;' 1816 Interfaces - 1817 #0 : 'Ljava/lang/Runnable;' 1818 Static fields - 1819 #0 : (in Linvokecustom/InvokeCustom3;) 1820 name : 'staticFieldTest9' 1821 type : 'I' 1822 access : 0x000a (PRIVATE STATIC) 1823 Instance fields - 1824 #0 : (in Linvokecustom/InvokeCustom3;) 1825 name : 'fieldTest9' 1826 type : 'F' 1827 access : 0x0002 (PRIVATE) 1828 Direct methods - 1829 #0 : (in Linvokecustom/InvokeCustom3;) 1830 name : '<clinit>' 1831 type : '()V' 1832 access : 0x10008 (STATIC CONSTRUCTOR) 1833 code - 1834 registers : 1 1835 ins : 0 1836 outs : 0 1837 insns size : 4 16-bit code units 1838 0051b4: |[0051b4] invokecustom.InvokeCustom3.<clinit>:()V 1839 0051c4: 1200 |0000: const/4 v0, #int 0 // #0 1840 0051c6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 1841 0051ca: 0e00 |0003: return-void 1842 catches : (none) 1843 positions : 1844 0x0000 line=98 1845 locals : 1846 1847 #1 : (in Linvokecustom/InvokeCustom3;) 1848 name : '<init>' 1849 type : '()V' 1850 access : 0x10001 (PUBLIC CONSTRUCTOR) 1851 code - 1852 registers : 2 1853 ins : 1 1854 outs : 1 1855 insns size : 7 16-bit code units 1856 0051cc: |[0051cc] invokecustom.InvokeCustom3.<init>:()V 1857 0051dc: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 1858 0051e2: 1200 |0003: const/4 v0, #int 0 // #0 1859 0051e4: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 1860 0051e8: 0e00 |0006: return-void 1861 catches : (none) 1862 positions : 1863 0x0000 line=35 1864 0x0003 line=111 1865 0x0006 line=35 1866 locals : 1867 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom3; 1868 1869 #2 : (in Linvokecustom/InvokeCustom3;) 1870 name : '<init>' 1871 type : '(I)V' 1872 access : 0x10001 (PUBLIC CONSTRUCTOR) 1873 code - 1874 registers : 5 1875 ins : 2 1876 outs : 2 1877 insns size : 37 16-bit code units 1878 0051ec: |[0051ec] invokecustom.InvokeCustom3.<init>:(I)V 1879 0051fc: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 1880 005202: 1200 |0003: const/4 v0, #int 0 // #0 1881 005204: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 1882 005208: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1883 00520c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1884 005210: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1885 005216: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 1886 00521a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1887 005220: 0c01 |0012: move-result-object v1 1888 005222: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1889 005228: 0c01 |0016: move-result-object v1 1890 00522a: 1a02 0700 |0017: const-string v2, ")" // string@0007 1891 00522e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1892 005234: 0c01 |001c: move-result-object v1 1893 005236: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1894 00523c: 0c01 |0020: move-result-object v1 1895 00523e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1896 005244: 0e00 |0024: return-void 1897 catches : (none) 1898 positions : 1899 0x0000 line=36 1900 0x0003 line=111 1901 0x0006 line=37 1902 0x0024 line=38 1903 locals : 1904 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom3; 1905 0x0000 - 0x0025 reg=4 (null) I 1906 1907 #3 : (in Linvokecustom/InvokeCustom3;) 1908 name : 'bsmCreateCallSite' 1909 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 1910 access : 0x0009 (PUBLIC STATIC) 1911 code - 1912 registers : 7 1913 ins : 4 1914 outs : 2 1915 insns size : 36 16-bit code units 1916 005248: |[005248] invokecustom.InvokeCustom3.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 1917 005258: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1918 00525c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1919 005260: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1920 005266: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 1921 00526a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1922 005270: 0c01 |000c: move-result-object v1 1923 005272: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 1924 005278: 0c01 |0010: move-result-object v1 1925 00527a: 1a02 5200 |0011: const-string v2, "]" // string@0052 1926 00527e: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1927 005284: 0c01 |0016: move-result-object v1 1928 005286: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 1929 00528c: 0c01 |001a: move-result-object v1 1930 00528e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1931 005294: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 1932 005298: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 1933 00529e: 1100 |0023: return-object v0 1934 catches : (none) 1935 positions : 1936 0x0000 line=156 1937 0x001e line=157 1938 locals : 1939 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 1940 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 1941 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 1942 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 1943 1944 #4 : (in Linvokecustom/InvokeCustom3;) 1945 name : 'bsmLookupStatic' 1946 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 1947 access : 0x0009 (PUBLIC STATIC) 1948 code - 1949 registers : 5 1950 ins : 3 1951 outs : 4 1952 insns size : 29 16-bit code units 1953 0052a0: |[0052a0] invokecustom.InvokeCustom3.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 1954 0052b0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1955 0052b4: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 1956 0052b8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 1957 0052be: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 1958 0052c4: 0c00 |000a: move-result-object v0 1959 0052c6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 1960 0052cc: 0c01 |000e: move-result-object v1 1961 0052ce: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 1962 0052d4: 0c00 |0012: move-result-object v0 1963 0052d6: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 1964 0052da: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 1965 0052e0: 0c00 |0018: move-result-object v0 1966 0052e2: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 1967 0052e8: 1101 |001c: return-object v1 1968 catches : (none) 1969 positions : 1970 0x0000 line=138 1971 0x0007 line=139 1972 0x000b line=140 1973 0x0013 line=141 1974 locals : 1975 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 1976 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 1977 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 1978 1979 #5 : (in Linvokecustom/InvokeCustom3;) 1980 name : 'bsmLookupStaticWithExtraArgs' 1981 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 1982 access : 0x0009 (PUBLIC STATIC) 1983 code - 1984 registers : 12 1985 ins : 9 1986 outs : 4 1987 insns size : 82 16-bit code units 1988 0052ec: |[0052ec] invokecustom.InvokeCustom3.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 1989 0052fc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 1990 005300: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 1991 005304: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 1992 00530a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 1993 00530e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1994 005314: 0c01 |000c: move-result-object v1 1995 005316: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 1996 00531c: 0c01 |0010: move-result-object v1 1997 00531e: 1a02 0800 |0011: const-string v2, ", " // string@0008 1998 005322: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 1999 005328: 0c01 |0016: move-result-object v1 2000 00532a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2001 005330: 0c01 |001a: move-result-object v1 2002 005332: 1a02 0800 |001b: const-string v2, ", " // string@0008 2003 005336: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2004 00533c: 0c01 |0020: move-result-object v1 2005 00533e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2006 005344: 0c01 |0024: move-result-object v1 2007 005346: 1a02 0800 |0025: const-string v2, ", " // string@0008 2008 00534a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2009 005350: 0c01 |002a: move-result-object v1 2010 005352: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 2011 005358: 0c01 |002e: move-result-object v1 2012 00535a: 1a02 5200 |002f: const-string v2, "]" // string@0052 2013 00535e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2014 005364: 0c01 |0034: move-result-object v1 2015 005366: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2016 00536c: 0c01 |0038: move-result-object v1 2017 00536e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2018 005374: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 2019 00537a: 0c00 |003f: move-result-object v0 2020 00537c: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 2021 005382: 0c01 |0043: move-result-object v1 2022 005384: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 2023 00538a: 0c00 |0047: move-result-object v0 2024 00538c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 2025 005390: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 2026 005396: 0c00 |004d: move-result-object v0 2027 005398: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 2028 00539e: 1101 |0051: return-object v1 2029 catches : (none) 2030 positions : 2031 0x0000 line=147 2032 0x003c line=148 2033 0x0040 line=149 2034 0x0048 line=150 2035 locals : 2036 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 2037 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 2038 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 2039 0x0000 - 0x0052 reg=6 (null) I 2040 0x0000 - 0x0052 reg=7 (null) J 2041 0x0000 - 0x0052 reg=9 (null) F 2042 0x0000 - 0x0052 reg=10 (null) D 2043 2044 #6 : (in Linvokecustom/InvokeCustom3;) 2045 name : 'bsmLookupTest9' 2046 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 2047 access : 0x0009 (PUBLIC STATIC) 2048 code - 2049 registers : 13 2050 ins : 10 2051 outs : 4 2052 insns size : 135 16-bit code units 2053 0053a0: |[0053a0] invokecustom.InvokeCustom3.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 2054 0053b0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2055 0053b4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2056 0053b8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2057 0053be: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 2058 0053c2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2059 0053c8: 0c01 |000c: move-result-object v1 2060 0053ca: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2061 0053d0: 0c01 |0010: move-result-object v1 2062 0053d2: 1a02 0800 |0011: const-string v2, ", " // string@0008 2063 0053d6: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2064 0053dc: 0c01 |0016: move-result-object v1 2065 0053de: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2066 0053e4: 0c01 |001a: move-result-object v1 2067 0053e6: 1a02 0800 |001b: const-string v2, ", " // string@0008 2068 0053ea: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2069 0053f0: 0c01 |0020: move-result-object v1 2070 0053f2: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2071 0053f8: 0c01 |0024: move-result-object v1 2072 0053fa: 1a02 0800 |0025: const-string v2, ", " // string@0008 2073 0053fe: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2074 005404: 0c01 |002a: move-result-object v1 2075 005406: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2076 00540c: 0c01 |002e: move-result-object v1 2077 00540e: 1a02 5200 |002f: const-string v2, "]" // string@0052 2078 005412: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2079 005418: 0c01 |0034: move-result-object v1 2080 00541a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2081 005420: 0c01 |0038: move-result-object v1 2082 005422: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2083 005428: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2084 00542c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2085 005430: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2086 005436: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2087 00543c: 0c01 |0046: move-result-object v1 2088 00543e: 1a02 0000 |0047: const-string v2, " " // string@0000 2089 005442: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2090 005448: 0c01 |004c: move-result-object v1 2091 00544a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2092 005450: 0c01 |0050: move-result-object v1 2093 005452: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2094 005458: 0c01 |0054: move-result-object v1 2095 00545a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2096 005460: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 2097 005466: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 2098 00546a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 2099 005470: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 2100 005476: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 2101 00547e: 1230 |0067: const/4 v0, #int 3 // #3 2102 005480: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 2103 005488: 0c00 |006c: move-result-object v0 2104 00548a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 2105 005492: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 2106 005498: 0c00 |0074: move-result-object v0 2107 00549a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 2108 0054a0: 0c01 |0078: move-result-object v1 2109 0054a2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 2110 0054a8: 0c00 |007c: move-result-object v0 2111 0054aa: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 2112 0054ae: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 2113 0054b4: 0c00 |0082: move-result-object v0 2114 0054b6: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 2115 0054bc: 1101 |0086: return-object v1 2116 catches : (none) 2117 positions : 2118 0x0000 line=166 2119 0x003c line=168 2120 0x0058 line=171 2121 0x005b line=172 2122 0x0060 line=173 2123 0x0063 line=176 2124 0x0067 line=178 2125 0x006d line=179 2126 0x0071 line=181 2127 0x0075 line=182 2128 0x007d line=183 2129 locals : 2130 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 2131 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 2132 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 2133 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 2134 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 2135 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 2136 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 2137 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 2138 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 2139 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 2140 2141 #7 : (in Linvokecustom/InvokeCustom3;) 2142 name : 'checkFieldTest9' 2143 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 2144 access : 0x0002 (PRIVATE) 2145 code - 2146 registers : 9 2147 ins : 3 2148 outs : 3 2149 insns size : 82 16-bit code units 2150 0054c0: |[0054c0] invokecustom.InvokeCustom3.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 2151 0054d0: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 2152 0054d6: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 2153 0054de: 0a00 |0007: move-result v0 2154 0054e0: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 2155 0054e8: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 2156 0054f0: 0a01 |0010: move-result v1 2157 0054f2: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2158 0054f6: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 2159 0054fa: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2160 005500: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 2161 005504: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2162 00550a: 0c03 |001d: move-result-object v3 2163 00550c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2164 005512: 0c00 |0021: move-result-object v0 2165 005514: 1a03 0600 |0022: const-string v3, " new " // string@0006 2166 005518: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2167 00551e: 0c00 |0027: move-result-object v0 2168 005520: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2169 005526: 0c00 |002b: move-result-object v0 2170 005528: 1a03 0500 |002c: const-string v3, " expected " // string@0005 2171 00552c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2172 005532: 0c00 |0031: move-result-object v0 2173 005534: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2174 00553a: 0c00 |0035: move-result-object v0 2175 00553c: 1a03 0000 |0036: const-string v3, " " // string@0000 2176 005540: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2177 005546: 0c00 |003b: move-result-object v0 2178 005548: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2179 00554e: 0c00 |003f: move-result-object v0 2180 005550: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 2181 005556: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2182 00555a: 2d00 0105 |0045: cmpl-float v0, v1, v5 2183 00555e: 3900 0800 |0047: if-nez v0, 004f // +0008 2184 005562: 1a00 4000 |0049: const-string v0, "OK" // string@0040 2185 005566: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2186 00556c: 0e00 |004e: return-void 2187 00556e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 2188 005572: 28fa |0051: goto 004b // -0006 2189 catches : (none) 2190 positions : 2191 0x0003 line=116 2192 0x0008 line=117 2193 0x000c line=118 2194 0x0011 line=119 2195 0x0043 line=121 2196 0x004e line=122 2197 0x004f line=121 2198 locals : 2199 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom3; 2200 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 2201 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 2202 2203 #8 : (in Linvokecustom/InvokeCustom3;) 2204 name : 'checkStaticFieldTest9' 2205 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 2206 access : 0x000a (PRIVATE STATIC) 2207 code - 2208 registers : 8 2209 ins : 2 2210 outs : 2 2211 insns size : 80 16-bit code units 2212 005574: |[005574] invokecustom.InvokeCustom3.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 2213 005584: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 2214 00558a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 2215 005592: 0a00 |0007: move-result v0 2216 005594: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 2217 00559c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 2218 0055a4: 0a01 |0010: move-result v1 2219 0055a6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2220 0055aa: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 2221 0055ae: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2222 0055b4: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 2223 0055b8: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2224 0055be: 0c03 |001d: move-result-object v3 2225 0055c0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2226 0055c6: 0c00 |0021: move-result-object v0 2227 0055c8: 1a03 0600 |0022: const-string v3, " new " // string@0006 2228 0055cc: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2229 0055d2: 0c00 |0027: move-result-object v0 2230 0055d4: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2231 0055da: 0c00 |002b: move-result-object v0 2232 0055dc: 1a03 0500 |002c: const-string v3, " expected " // string@0005 2233 0055e0: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2234 0055e6: 0c00 |0031: move-result-object v0 2235 0055e8: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2236 0055ee: 0c00 |0035: move-result-object v0 2237 0055f0: 1a03 0000 |0036: const-string v3, " " // string@0000 2238 0055f4: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2239 0055fa: 0c00 |003b: move-result-object v0 2240 0055fc: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2241 005602: 0c00 |003f: move-result-object v0 2242 005604: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 2243 00560a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2244 00560e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 2245 005612: 1a00 4000 |0047: const-string v0, "OK" // string@0040 2246 005616: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2247 00561c: 0e00 |004c: return-void 2248 00561e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 2249 005622: 28fa |004f: goto 0049 // -0006 2250 catches : (none) 2251 positions : 2252 0x0003 line=103 2253 0x0008 line=104 2254 0x000c line=105 2255 0x0011 line=106 2256 0x0043 line=108 2257 0x004c line=109 2258 0x004d line=108 2259 locals : 2260 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 2261 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 2262 2263 #9 : (in Linvokecustom/InvokeCustom3;) 2264 name : 'targetMethodTest1' 2265 type : '()V' 2266 access : 0x000a (PRIVATE STATIC) 2267 code - 2268 registers : 2 2269 ins : 0 2270 outs : 2 2271 insns size : 8 16-bit code units 2272 005624: |[005624] invokecustom.InvokeCustom3.targetMethodTest1:()V 2273 005634: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2274 005638: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 2275 00563c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2276 005642: 0e00 |0007: return-void 2277 catches : (none) 2278 positions : 2279 0x0000 line=41 2280 0x0007 line=42 2281 locals : 2282 2283 #10 : (in Linvokecustom/InvokeCustom3;) 2284 name : 'targetMethodTest2' 2285 type : '(ZBCSIFJDLjava/lang/String;)V' 2286 access : 0x000a (PRIVATE STATIC) 2287 code - 2288 registers : 13 2289 ins : 11 2290 outs : 3 2291 insns size : 46 16-bit code units 2292 005644: |[005644] invokecustom.InvokeCustom3.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 2293 005654: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2294 005658: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 2295 00565e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2296 005662: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 2297 005668: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2298 00566c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 2299 005672: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2300 005676: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 2301 00567c: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2302 005680: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 2303 005686: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2304 00568a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 2305 005690: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2306 005694: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 2307 00569a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2308 00569e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 2309 0056a4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2310 0056a8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2311 0056ae: 0e00 |002d: return-void 2312 catches : (none) 2313 positions : 2314 0x0000 line=46 2315 0x0005 line=47 2316 0x000a line=48 2317 0x000f line=49 2318 0x0014 line=50 2319 0x0019 line=51 2320 0x001e line=52 2321 0x0023 line=53 2322 0x0028 line=54 2323 0x002d line=55 2324 locals : 2325 0x0000 - 0x002e reg=2 (null) Z 2326 0x0000 - 0x002e reg=3 (null) B 2327 0x0000 - 0x002e reg=4 (null) C 2328 0x0000 - 0x002e reg=5 (null) S 2329 0x0000 - 0x002e reg=6 (null) I 2330 0x0000 - 0x002e reg=7 (null) F 2331 0x0000 - 0x002e reg=8 (null) J 2332 0x0000 - 0x002e reg=10 (null) D 2333 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 2334 2335 #11 : (in Linvokecustom/InvokeCustom3;) 2336 name : 'targetMethodTest3' 2337 type : '()V' 2338 access : 0x000a (PRIVATE STATIC) 2339 code - 2340 registers : 2 2341 ins : 0 2342 outs : 2 2343 insns size : 8 16-bit code units 2344 0056b0: |[0056b0] invokecustom.InvokeCustom3.targetMethodTest3:()V 2345 0056c0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2346 0056c4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 2347 0056c8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2348 0056ce: 0e00 |0007: return-void 2349 catches : (none) 2350 positions : 2351 0x0000 line=58 2352 0x0007 line=59 2353 locals : 2354 2355 #12 : (in Linvokecustom/InvokeCustom3;) 2356 name : 'targetMethodTest5' 2357 type : '(III)I' 2358 access : 0x0009 (PUBLIC STATIC) 2359 code - 2360 registers : 7 2361 ins : 3 2362 outs : 2 2363 insns size : 83 16-bit code units 2364 0056d0: |[0056d0] invokecustom.InvokeCustom3.targetMethodTest5:(III)I 2365 0056e0: 9000 0405 |0000: add-int v0, v4, v5 2366 0056e4: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2367 0056e8: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 2368 0056ec: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2369 0056f2: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 2370 0056f6: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2371 0056fc: 0c02 |000e: move-result-object v2 2372 0056fe: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2373 005704: 0c02 |0012: move-result-object v2 2374 005706: 1a03 0300 |0013: const-string v3, " + " // string@0003 2375 00570a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2376 005710: 0c02 |0018: move-result-object v2 2377 005712: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2378 005718: 0c02 |001c: move-result-object v2 2379 00571a: 1a03 0400 |001d: const-string v3, " = " // string@0004 2380 00571e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2381 005724: 0c02 |0022: move-result-object v2 2382 005726: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2383 00572c: 0c02 |0026: move-result-object v2 2384 00572e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2385 005734: 0c02 |002a: move-result-object v2 2386 005736: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2387 00573c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 2388 005740: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2389 005744: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 2390 005748: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2391 00574e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 2392 005752: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2393 005758: 0c02 |003c: move-result-object v2 2394 00575a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2395 005760: 0c02 |0040: move-result-object v2 2396 005762: 1a03 0100 |0041: const-string v3, " != " // string@0001 2397 005766: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2398 00576c: 0c02 |0046: move-result-object v2 2399 00576e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2400 005774: 0c02 |004a: move-result-object v2 2401 005776: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2402 00577c: 0c02 |004e: move-result-object v2 2403 00577e: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2404 005784: 0f00 |0052: return v0 2405 catches : (none) 2406 positions : 2407 0x0000 line=68 2408 0x0002 line=69 2409 0x002e line=70 2410 0x0030 line=71 2411 0x0052 line=73 2412 locals : 2413 0x0000 - 0x0053 reg=4 (null) I 2414 0x0000 - 0x0053 reg=5 (null) I 2415 0x0000 - 0x0053 reg=6 (null) I 2416 2417 #13 : (in Linvokecustom/InvokeCustom3;) 2418 name : 'targetMethodTest6' 2419 type : '(JJJ)J' 2420 access : 0x0009 (PUBLIC STATIC) 2421 code - 2422 registers : 12 2423 ins : 6 2424 outs : 3 2425 insns size : 85 16-bit code units 2426 005788: |[005788] invokecustom.InvokeCustom3.targetMethodTest6:(JJJ)J 2427 005798: 9b00 0608 |0000: add-long v0, v6, v8 2428 00579c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2429 0057a0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 2430 0057a4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2431 0057aa: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 2432 0057ae: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2433 0057b4: 0c03 |000e: move-result-object v3 2434 0057b6: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2435 0057bc: 0c03 |0012: move-result-object v3 2436 0057be: 1a04 0300 |0013: const-string v4, " + " // string@0003 2437 0057c2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2438 0057c8: 0c03 |0018: move-result-object v3 2439 0057ca: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2440 0057d0: 0c03 |001c: move-result-object v3 2441 0057d2: 1a04 0400 |001d: const-string v4, " = " // string@0004 2442 0057d6: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2443 0057dc: 0c03 |0022: move-result-object v3 2444 0057de: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2445 0057e4: 0c03 |0026: move-result-object v3 2446 0057e6: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2447 0057ec: 0c03 |002a: move-result-object v3 2448 0057ee: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2449 0057f4: 3102 000a |002e: cmp-long v2, v0, v10 2450 0057f8: 3802 2400 |0030: if-eqz v2, 0054 // +0024 2451 0057fc: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2452 005800: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 2453 005804: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2454 00580a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 2455 00580e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2456 005814: 0c03 |003e: move-result-object v3 2457 005816: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2458 00581c: 0c03 |0042: move-result-object v3 2459 00581e: 1a04 0100 |0043: const-string v4, " != " // string@0001 2460 005822: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2461 005828: 0c03 |0048: move-result-object v3 2462 00582a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2463 005830: 0c03 |004c: move-result-object v3 2464 005832: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2465 005838: 0c03 |0050: move-result-object v3 2466 00583a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2467 005840: 1000 |0054: return-wide v0 2468 catches : (none) 2469 positions : 2470 0x0000 line=77 2471 0x0002 line=78 2472 0x002e line=79 2473 0x0032 line=80 2474 0x0054 line=82 2475 locals : 2476 0x0000 - 0x0055 reg=6 (null) J 2477 0x0000 - 0x0055 reg=8 (null) J 2478 0x0000 - 0x0055 reg=10 (null) J 2479 2480 #14 : (in Linvokecustom/InvokeCustom3;) 2481 name : 'targetMethodTest7' 2482 type : '(FFD)D' 2483 access : 0x0009 (PUBLIC STATIC) 2484 code - 2485 registers : 10 2486 ins : 4 2487 outs : 3 2488 insns size : 86 16-bit code units 2489 005844: |[005844] invokecustom.InvokeCustom3.targetMethodTest7:(FFD)D 2490 005854: a800 0607 |0000: mul-float v0, v6, v7 2491 005858: 8900 |0002: float-to-double v0, v0 2492 00585a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2493 00585e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 2494 005862: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2495 005868: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 2496 00586c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2497 005872: 0c03 |000f: move-result-object v3 2498 005874: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2499 00587a: 0c03 |0013: move-result-object v3 2500 00587c: 1a04 0200 |0014: const-string v4, " * " // string@0002 2501 005880: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2502 005886: 0c03 |0019: move-result-object v3 2503 005888: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2504 00588e: 0c03 |001d: move-result-object v3 2505 005890: 1a04 0400 |001e: const-string v4, " = " // string@0004 2506 005894: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2507 00589a: 0c03 |0023: move-result-object v3 2508 00589c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 2509 0058a2: 0c03 |0027: move-result-object v3 2510 0058a4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2511 0058aa: 0c03 |002b: move-result-object v3 2512 0058ac: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2513 0058b2: 2f02 0008 |002f: cmpl-double v2, v0, v8 2514 0058b6: 3802 2400 |0031: if-eqz v2, 0055 // +0024 2515 0058ba: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2516 0058be: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 2517 0058c2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2518 0058c8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 2519 0058cc: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2520 0058d2: 0c03 |003f: move-result-object v3 2521 0058d4: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 2522 0058da: 0c03 |0043: move-result-object v3 2523 0058dc: 1a04 0100 |0044: const-string v4, " != " // string@0001 2524 0058e0: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2525 0058e6: 0c03 |0049: move-result-object v3 2526 0058e8: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 2527 0058ee: 0c03 |004d: move-result-object v3 2528 0058f0: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2529 0058f6: 0c03 |0051: move-result-object v3 2530 0058f8: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2531 0058fe: 1000 |0055: return-wide v0 2532 catches : (none) 2533 positions : 2534 0x0000 line=86 2535 0x0003 line=87 2536 0x002f line=88 2537 0x0033 line=89 2538 0x0055 line=91 2539 locals : 2540 0x0000 - 0x0056 reg=6 (null) F 2541 0x0000 - 0x0056 reg=7 (null) F 2542 0x0000 - 0x0056 reg=8 (null) D 2543 2544 #15 : (in Linvokecustom/InvokeCustom3;) 2545 name : 'targetMethodTest8' 2546 type : '(Ljava/lang/String;)V' 2547 access : 0x0009 (PUBLIC STATIC) 2548 code - 2549 registers : 4 2550 ins : 1 2551 outs : 2 2552 insns size : 25 16-bit code units 2553 005900: |[005900] invokecustom.InvokeCustom3.targetMethodTest8:(Ljava/lang/String;)V 2554 005910: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2555 005914: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2556 005918: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2557 00591e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 2558 005922: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2559 005928: 0c01 |000c: move-result-object v1 2560 00592a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2561 005930: 0c01 |0010: move-result-object v1 2562 005932: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2563 005938: 0c01 |0014: move-result-object v1 2564 00593a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2565 005940: 0e00 |0018: return-void 2566 catches : (none) 2567 positions : 2568 0x0000 line=95 2569 0x0018 line=96 2570 locals : 2571 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 2572 2573 #16 : (in Linvokecustom/InvokeCustom3;) 2574 name : 'targetMethodTest9' 2575 type : '()V' 2576 access : 0x000a (PRIVATE STATIC) 2577 code - 2578 registers : 2 2579 ins : 0 2580 outs : 2 2581 insns size : 8 16-bit code units 2582 005944: |[005944] invokecustom.InvokeCustom3.targetMethodTest9:()V 2583 005954: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2584 005958: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 2585 00595c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2586 005962: 0e00 |0007: return-void 2587 catches : (none) 2588 positions : 2589 0x0000 line=129 2590 0x0007 line=130 2591 locals : 2592 2593 #17 : (in Linvokecustom/InvokeCustom3;) 2594 name : 'test3' 2595 type : '()V' 2596 access : 0x0009 (PUBLIC STATIC) 2597 code - 2598 registers : 0 2599 ins : 0 2600 outs : 0 2601 insns size : 4 16-bit code units 2602 005964: |[005964] invokecustom.InvokeCustom3.test3:()V 2603 005974: fc00 0200 0000 |0000: invoke-custom {}, call_site@0002 2604 00597a: 0e00 |0003: return-void 2605 catches : (none) 2606 positions : 2607 locals : 2608 2609 Virtual methods - 2610 #0 : (in Linvokecustom/InvokeCustom3;) 2611 name : 'helperMethodTest9' 2612 type : '()V' 2613 access : 0x0001 (PUBLIC) 2614 code - 2615 registers : 4 2616 ins : 1 2617 outs : 2 2618 insns size : 27 16-bit code units 2619 00597c: |[00597c] invokecustom.InvokeCustom3.helperMethodTest9:()V 2620 00598c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2621 005990: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2622 005994: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2623 00599a: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 2624 00599e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2625 0059a4: 0c01 |000c: move-result-object v1 2626 0059a6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 2627 0059aa: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2628 0059b0: 0c01 |0012: move-result-object v1 2629 0059b2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2630 0059b8: 0c01 |0016: move-result-object v1 2631 0059ba: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2632 0059c0: 0e00 |001a: return-void 2633 catches : (none) 2634 positions : 2635 0x0000 line=125 2636 0x001a line=126 2637 locals : 2638 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom3; 2639 2640 #1 : (in Linvokecustom/InvokeCustom3;) 2641 name : 'run' 2642 type : '()V' 2643 access : 0x0001 (PUBLIC) 2644 code - 2645 registers : 3 2646 ins : 1 2647 outs : 2 2648 insns size : 8 16-bit code units 2649 0059c4: |[0059c4] invokecustom.InvokeCustom3.run:()V 2650 0059d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2651 0059d8: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 2652 0059dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2653 0059e2: 0e00 |0007: return-void 2654 catches : (none) 2655 positions : 2656 0x0000 line=133 2657 0x0007 line=134 2658 locals : 2659 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom3; 2660 2661 #2 : (in Linvokecustom/InvokeCustom3;) 2662 name : 'targetMethodTest4' 2663 type : '()V' 2664 access : 0x0001 (PUBLIC) 2665 code - 2666 registers : 3 2667 ins : 1 2668 outs : 2 2669 insns size : 8 16-bit code units 2670 0059e4: |[0059e4] invokecustom.InvokeCustom3.targetMethodTest4:()V 2671 0059f4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2672 0059f8: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 2673 0059fc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2674 005a02: 0e00 |0007: return-void 2675 catches : (none) 2676 positions : 2677 0x0000 line=64 2678 0x0007 line=65 2679 locals : 2680 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom3; 2681 2682 source_file_idx : 25 (InvokeCustom.java) 2683 2684 Class #4 - 2685 Class descriptor : 'Linvokecustom/InvokeCustom5;' 2686 Access flags : 0x0001 (PUBLIC) 2687 Superclass : 'Linvokecustom/Super;' 2688 Interfaces - 2689 #0 : 'Ljava/lang/Runnable;' 2690 Static fields - 2691 #0 : (in Linvokecustom/InvokeCustom5;) 2692 name : 'staticFieldTest9' 2693 type : 'I' 2694 access : 0x000a (PRIVATE STATIC) 2695 Instance fields - 2696 #0 : (in Linvokecustom/InvokeCustom5;) 2697 name : 'fieldTest9' 2698 type : 'F' 2699 access : 0x0002 (PRIVATE) 2700 Direct methods - 2701 #0 : (in Linvokecustom/InvokeCustom5;) 2702 name : '<clinit>' 2703 type : '()V' 2704 access : 0x10008 (STATIC CONSTRUCTOR) 2705 code - 2706 registers : 1 2707 ins : 0 2708 outs : 0 2709 insns size : 4 16-bit code units 2710 005a04: |[005a04] invokecustom.InvokeCustom5.<clinit>:()V 2711 005a14: 1200 |0000: const/4 v0, #int 0 // #0 2712 005a16: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 2713 005a1a: 0e00 |0003: return-void 2714 catches : (none) 2715 positions : 2716 0x0000 line=98 2717 locals : 2718 2719 #1 : (in Linvokecustom/InvokeCustom5;) 2720 name : '<init>' 2721 type : '()V' 2722 access : 0x10001 (PUBLIC CONSTRUCTOR) 2723 code - 2724 registers : 2 2725 ins : 1 2726 outs : 1 2727 insns size : 7 16-bit code units 2728 005a1c: |[005a1c] invokecustom.InvokeCustom5.<init>:()V 2729 005a2c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 2730 005a32: 1200 |0003: const/4 v0, #int 0 // #0 2731 005a34: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 2732 005a38: 0e00 |0006: return-void 2733 catches : (none) 2734 positions : 2735 0x0000 line=35 2736 0x0003 line=111 2737 0x0006 line=35 2738 locals : 2739 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom5; 2740 2741 #2 : (in Linvokecustom/InvokeCustom5;) 2742 name : '<init>' 2743 type : '(I)V' 2744 access : 0x10001 (PUBLIC CONSTRUCTOR) 2745 code - 2746 registers : 5 2747 ins : 2 2748 outs : 2 2749 insns size : 37 16-bit code units 2750 005a3c: |[005a3c] invokecustom.InvokeCustom5.<init>:(I)V 2751 005a4c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 2752 005a52: 1200 |0003: const/4 v0, #int 0 // #0 2753 005a54: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 2754 005a58: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2755 005a5c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2756 005a60: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2757 005a66: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 2758 005a6a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2759 005a70: 0c01 |0012: move-result-object v1 2760 005a72: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2761 005a78: 0c01 |0016: move-result-object v1 2762 005a7a: 1a02 0700 |0017: const-string v2, ")" // string@0007 2763 005a7e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2764 005a84: 0c01 |001c: move-result-object v1 2765 005a86: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2766 005a8c: 0c01 |0020: move-result-object v1 2767 005a8e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2768 005a94: 0e00 |0024: return-void 2769 catches : (none) 2770 positions : 2771 0x0000 line=36 2772 0x0003 line=111 2773 0x0006 line=37 2774 0x0024 line=38 2775 locals : 2776 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom5; 2777 0x0000 - 0x0025 reg=4 (null) I 2778 2779 #3 : (in Linvokecustom/InvokeCustom5;) 2780 name : 'bsmCreateCallSite' 2781 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 2782 access : 0x0009 (PUBLIC STATIC) 2783 code - 2784 registers : 7 2785 ins : 4 2786 outs : 2 2787 insns size : 36 16-bit code units 2788 005a98: |[005a98] invokecustom.InvokeCustom5.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 2789 005aa8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2790 005aac: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2791 005ab0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2792 005ab6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 2793 005aba: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2794 005ac0: 0c01 |000c: move-result-object v1 2795 005ac2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2796 005ac8: 0c01 |0010: move-result-object v1 2797 005aca: 1a02 5200 |0011: const-string v2, "]" // string@0052 2798 005ace: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2799 005ad4: 0c01 |0016: move-result-object v1 2800 005ad6: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2801 005adc: 0c01 |001a: move-result-object v1 2802 005ade: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2803 005ae4: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 2804 005ae8: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 2805 005aee: 1100 |0023: return-object v0 2806 catches : (none) 2807 positions : 2808 0x0000 line=156 2809 0x001e line=157 2810 locals : 2811 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 2812 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 2813 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 2814 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 2815 2816 #4 : (in Linvokecustom/InvokeCustom5;) 2817 name : 'bsmLookupStatic' 2818 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2819 access : 0x0009 (PUBLIC STATIC) 2820 code - 2821 registers : 5 2822 ins : 3 2823 outs : 4 2824 insns size : 29 16-bit code units 2825 005af0: |[005af0] invokecustom.InvokeCustom5.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2826 005b00: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2827 005b04: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 2828 005b08: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2829 005b0e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 2830 005b14: 0c00 |000a: move-result-object v0 2831 005b16: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 2832 005b1c: 0c01 |000e: move-result-object v1 2833 005b1e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 2834 005b24: 0c00 |0012: move-result-object v0 2835 005b26: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 2836 005b2a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 2837 005b30: 0c00 |0018: move-result-object v0 2838 005b32: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 2839 005b38: 1101 |001c: return-object v1 2840 catches : (none) 2841 positions : 2842 0x0000 line=138 2843 0x0007 line=139 2844 0x000b line=140 2845 0x0013 line=141 2846 locals : 2847 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 2848 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 2849 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 2850 2851 #5 : (in Linvokecustom/InvokeCustom5;) 2852 name : 'bsmLookupStaticWithExtraArgs' 2853 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 2854 access : 0x0009 (PUBLIC STATIC) 2855 code - 2856 registers : 12 2857 ins : 9 2858 outs : 4 2859 insns size : 82 16-bit code units 2860 005b3c: |[005b3c] invokecustom.InvokeCustom5.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 2861 005b4c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2862 005b50: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2863 005b54: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2864 005b5a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 2865 005b5e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2866 005b64: 0c01 |000c: move-result-object v1 2867 005b66: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 2868 005b6c: 0c01 |0010: move-result-object v1 2869 005b6e: 1a02 0800 |0011: const-string v2, ", " // string@0008 2870 005b72: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2871 005b78: 0c01 |0016: move-result-object v1 2872 005b7a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 2873 005b80: 0c01 |001a: move-result-object v1 2874 005b82: 1a02 0800 |001b: const-string v2, ", " // string@0008 2875 005b86: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2876 005b8c: 0c01 |0020: move-result-object v1 2877 005b8e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 2878 005b94: 0c01 |0024: move-result-object v1 2879 005b96: 1a02 0800 |0025: const-string v2, ", " // string@0008 2880 005b9a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2881 005ba0: 0c01 |002a: move-result-object v1 2882 005ba2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 2883 005ba8: 0c01 |002e: move-result-object v1 2884 005baa: 1a02 5200 |002f: const-string v2, "]" // string@0052 2885 005bae: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2886 005bb4: 0c01 |0034: move-result-object v1 2887 005bb6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2888 005bbc: 0c01 |0038: move-result-object v1 2889 005bbe: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2890 005bc4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 2891 005bca: 0c00 |003f: move-result-object v0 2892 005bcc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 2893 005bd2: 0c01 |0043: move-result-object v1 2894 005bd4: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 2895 005bda: 0c00 |0047: move-result-object v0 2896 005bdc: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 2897 005be0: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 2898 005be6: 0c00 |004d: move-result-object v0 2899 005be8: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 2900 005bee: 1101 |0051: return-object v1 2901 catches : (none) 2902 positions : 2903 0x0000 line=147 2904 0x003c line=148 2905 0x0040 line=149 2906 0x0048 line=150 2907 locals : 2908 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 2909 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 2910 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 2911 0x0000 - 0x0052 reg=6 (null) I 2912 0x0000 - 0x0052 reg=7 (null) J 2913 0x0000 - 0x0052 reg=9 (null) F 2914 0x0000 - 0x0052 reg=10 (null) D 2915 2916 #6 : (in Linvokecustom/InvokeCustom5;) 2917 name : 'bsmLookupTest9' 2918 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 2919 access : 0x0009 (PUBLIC STATIC) 2920 code - 2921 registers : 13 2922 ins : 10 2923 outs : 4 2924 insns size : 135 16-bit code units 2925 005bf0: |[005bf0] invokecustom.InvokeCustom5.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 2926 005c00: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2927 005c04: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2928 005c08: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2929 005c0e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 2930 005c12: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2931 005c18: 0c01 |000c: move-result-object v1 2932 005c1a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2933 005c20: 0c01 |0010: move-result-object v1 2934 005c22: 1a02 0800 |0011: const-string v2, ", " // string@0008 2935 005c26: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2936 005c2c: 0c01 |0016: move-result-object v1 2937 005c2e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2938 005c34: 0c01 |001a: move-result-object v1 2939 005c36: 1a02 0800 |001b: const-string v2, ", " // string@0008 2940 005c3a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2941 005c40: 0c01 |0020: move-result-object v1 2942 005c42: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2943 005c48: 0c01 |0024: move-result-object v1 2944 005c4a: 1a02 0800 |0025: const-string v2, ", " // string@0008 2945 005c4e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2946 005c54: 0c01 |002a: move-result-object v1 2947 005c56: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2948 005c5c: 0c01 |002e: move-result-object v1 2949 005c5e: 1a02 5200 |002f: const-string v2, "]" // string@0052 2950 005c62: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2951 005c68: 0c01 |0034: move-result-object v1 2952 005c6a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2953 005c70: 0c01 |0038: move-result-object v1 2954 005c72: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2955 005c78: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 2956 005c7c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 2957 005c80: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 2958 005c86: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2959 005c8c: 0c01 |0046: move-result-object v1 2960 005c8e: 1a02 0000 |0047: const-string v2, " " // string@0000 2961 005c92: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 2962 005c98: 0c01 |004c: move-result-object v1 2963 005c9a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 2964 005ca0: 0c01 |0050: move-result-object v1 2965 005ca2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 2966 005ca8: 0c01 |0054: move-result-object v1 2967 005caa: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 2968 005cb0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 2969 005cb6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 2970 005cba: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 2971 005cc0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 2972 005cc6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 2973 005cce: 1230 |0067: const/4 v0, #int 3 // #3 2974 005cd0: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 2975 005cd8: 0c00 |006c: move-result-object v0 2976 005cda: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 2977 005ce2: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 2978 005ce8: 0c00 |0074: move-result-object v0 2979 005cea: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 2980 005cf0: 0c01 |0078: move-result-object v1 2981 005cf2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 2982 005cf8: 0c00 |007c: move-result-object v0 2983 005cfa: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 2984 005cfe: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 2985 005d04: 0c00 |0082: move-result-object v0 2986 005d06: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 2987 005d0c: 1101 |0086: return-object v1 2988 catches : (none) 2989 positions : 2990 0x0000 line=166 2991 0x003c line=168 2992 0x0058 line=171 2993 0x005b line=172 2994 0x0060 line=173 2995 0x0063 line=176 2996 0x0067 line=178 2997 0x006d line=179 2998 0x0071 line=181 2999 0x0075 line=182 3000 0x007d line=183 3001 locals : 3002 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 3003 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 3004 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 3005 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 3006 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 3007 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 3008 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 3009 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 3010 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 3011 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 3012 3013 #7 : (in Linvokecustom/InvokeCustom5;) 3014 name : 'checkFieldTest9' 3015 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 3016 access : 0x0002 (PRIVATE) 3017 code - 3018 registers : 9 3019 ins : 3 3020 outs : 3 3021 insns size : 82 16-bit code units 3022 005d10: |[005d10] invokecustom.InvokeCustom5.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 3023 005d20: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 3024 005d26: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 3025 005d2e: 0a00 |0007: move-result v0 3026 005d30: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 3027 005d38: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 3028 005d40: 0a01 |0010: move-result v1 3029 005d42: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3030 005d46: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3031 005d4a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3032 005d50: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 3033 005d54: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3034 005d5a: 0c03 |001d: move-result-object v3 3035 005d5c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3036 005d62: 0c00 |0021: move-result-object v0 3037 005d64: 1a03 0600 |0022: const-string v3, " new " // string@0006 3038 005d68: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3039 005d6e: 0c00 |0027: move-result-object v0 3040 005d70: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3041 005d76: 0c00 |002b: move-result-object v0 3042 005d78: 1a03 0500 |002c: const-string v3, " expected " // string@0005 3043 005d7c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3044 005d82: 0c00 |0031: move-result-object v0 3045 005d84: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3046 005d8a: 0c00 |0035: move-result-object v0 3047 005d8c: 1a03 0000 |0036: const-string v3, " " // string@0000 3048 005d90: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3049 005d96: 0c00 |003b: move-result-object v0 3050 005d98: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3051 005d9e: 0c00 |003f: move-result-object v0 3052 005da0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 3053 005da6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3054 005daa: 2d00 0105 |0045: cmpl-float v0, v1, v5 3055 005dae: 3900 0800 |0047: if-nez v0, 004f // +0008 3056 005db2: 1a00 4000 |0049: const-string v0, "OK" // string@0040 3057 005db6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3058 005dbc: 0e00 |004e: return-void 3059 005dbe: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 3060 005dc2: 28fa |0051: goto 004b // -0006 3061 catches : (none) 3062 positions : 3063 0x0003 line=116 3064 0x0008 line=117 3065 0x000c line=118 3066 0x0011 line=119 3067 0x0043 line=121 3068 0x004e line=122 3069 0x004f line=121 3070 locals : 3071 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom5; 3072 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 3073 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 3074 3075 #8 : (in Linvokecustom/InvokeCustom5;) 3076 name : 'checkStaticFieldTest9' 3077 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 3078 access : 0x000a (PRIVATE STATIC) 3079 code - 3080 registers : 8 3081 ins : 2 3082 outs : 2 3083 insns size : 80 16-bit code units 3084 005dc4: |[005dc4] invokecustom.InvokeCustom5.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 3085 005dd4: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 3086 005dda: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 3087 005de2: 0a00 |0007: move-result v0 3088 005de4: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 3089 005dec: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 3090 005df4: 0a01 |0010: move-result v1 3091 005df6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3092 005dfa: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3093 005dfe: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3094 005e04: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 3095 005e08: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3096 005e0e: 0c03 |001d: move-result-object v3 3097 005e10: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3098 005e16: 0c00 |0021: move-result-object v0 3099 005e18: 1a03 0600 |0022: const-string v3, " new " // string@0006 3100 005e1c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3101 005e22: 0c00 |0027: move-result-object v0 3102 005e24: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3103 005e2a: 0c00 |002b: move-result-object v0 3104 005e2c: 1a03 0500 |002c: const-string v3, " expected " // string@0005 3105 005e30: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3106 005e36: 0c00 |0031: move-result-object v0 3107 005e38: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3108 005e3e: 0c00 |0035: move-result-object v0 3109 005e40: 1a03 0000 |0036: const-string v3, " " // string@0000 3110 005e44: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3111 005e4a: 0c00 |003b: move-result-object v0 3112 005e4c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3113 005e52: 0c00 |003f: move-result-object v0 3114 005e54: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 3115 005e5a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3116 005e5e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 3117 005e62: 1a00 4000 |0047: const-string v0, "OK" // string@0040 3118 005e66: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3119 005e6c: 0e00 |004c: return-void 3120 005e6e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 3121 005e72: 28fa |004f: goto 0049 // -0006 3122 catches : (none) 3123 positions : 3124 0x0003 line=103 3125 0x0008 line=104 3126 0x000c line=105 3127 0x0011 line=106 3128 0x0043 line=108 3129 0x004c line=109 3130 0x004d line=108 3131 locals : 3132 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 3133 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 3134 3135 #9 : (in Linvokecustom/InvokeCustom5;) 3136 name : 'targetMethodTest1' 3137 type : '()V' 3138 access : 0x000a (PRIVATE STATIC) 3139 code - 3140 registers : 2 3141 ins : 0 3142 outs : 2 3143 insns size : 8 16-bit code units 3144 005e74: |[005e74] invokecustom.InvokeCustom5.targetMethodTest1:()V 3145 005e84: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3146 005e88: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 3147 005e8c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3148 005e92: 0e00 |0007: return-void 3149 catches : (none) 3150 positions : 3151 0x0000 line=41 3152 0x0007 line=42 3153 locals : 3154 3155 #10 : (in Linvokecustom/InvokeCustom5;) 3156 name : 'targetMethodTest2' 3157 type : '(ZBCSIFJDLjava/lang/String;)V' 3158 access : 0x000a (PRIVATE STATIC) 3159 code - 3160 registers : 13 3161 ins : 11 3162 outs : 3 3163 insns size : 46 16-bit code units 3164 005e94: |[005e94] invokecustom.InvokeCustom5.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 3165 005ea4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3166 005ea8: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 3167 005eae: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3168 005eb2: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 3169 005eb8: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3170 005ebc: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 3171 005ec2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3172 005ec6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 3173 005ecc: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3174 005ed0: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 3175 005ed6: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3176 005eda: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 3177 005ee0: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3178 005ee4: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 3179 005eea: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3180 005eee: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 3181 005ef4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3182 005ef8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3183 005efe: 0e00 |002d: return-void 3184 catches : (none) 3185 positions : 3186 0x0000 line=46 3187 0x0005 line=47 3188 0x000a line=48 3189 0x000f line=49 3190 0x0014 line=50 3191 0x0019 line=51 3192 0x001e line=52 3193 0x0023 line=53 3194 0x0028 line=54 3195 0x002d line=55 3196 locals : 3197 0x0000 - 0x002e reg=2 (null) Z 3198 0x0000 - 0x002e reg=3 (null) B 3199 0x0000 - 0x002e reg=4 (null) C 3200 0x0000 - 0x002e reg=5 (null) S 3201 0x0000 - 0x002e reg=6 (null) I 3202 0x0000 - 0x002e reg=7 (null) F 3203 0x0000 - 0x002e reg=8 (null) J 3204 0x0000 - 0x002e reg=10 (null) D 3205 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 3206 3207 #11 : (in Linvokecustom/InvokeCustom5;) 3208 name : 'targetMethodTest3' 3209 type : '()V' 3210 access : 0x000a (PRIVATE STATIC) 3211 code - 3212 registers : 2 3213 ins : 0 3214 outs : 2 3215 insns size : 8 16-bit code units 3216 005f00: |[005f00] invokecustom.InvokeCustom5.targetMethodTest3:()V 3217 005f10: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3218 005f14: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 3219 005f18: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3220 005f1e: 0e00 |0007: return-void 3221 catches : (none) 3222 positions : 3223 0x0000 line=58 3224 0x0007 line=59 3225 locals : 3226 3227 #12 : (in Linvokecustom/InvokeCustom5;) 3228 name : 'targetMethodTest5' 3229 type : '(III)I' 3230 access : 0x0009 (PUBLIC STATIC) 3231 code - 3232 registers : 7 3233 ins : 3 3234 outs : 2 3235 insns size : 83 16-bit code units 3236 005f20: |[005f20] invokecustom.InvokeCustom5.targetMethodTest5:(III)I 3237 005f30: 9000 0405 |0000: add-int v0, v4, v5 3238 005f34: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3239 005f38: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 3240 005f3c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3241 005f42: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 3242 005f46: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3243 005f4c: 0c02 |000e: move-result-object v2 3244 005f4e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3245 005f54: 0c02 |0012: move-result-object v2 3246 005f56: 1a03 0300 |0013: const-string v3, " + " // string@0003 3247 005f5a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3248 005f60: 0c02 |0018: move-result-object v2 3249 005f62: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3250 005f68: 0c02 |001c: move-result-object v2 3251 005f6a: 1a03 0400 |001d: const-string v3, " = " // string@0004 3252 005f6e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3253 005f74: 0c02 |0022: move-result-object v2 3254 005f76: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3255 005f7c: 0c02 |0026: move-result-object v2 3256 005f7e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3257 005f84: 0c02 |002a: move-result-object v2 3258 005f86: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3259 005f8c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 3260 005f90: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3261 005f94: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 3262 005f98: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3263 005f9e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 3264 005fa2: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3265 005fa8: 0c02 |003c: move-result-object v2 3266 005faa: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3267 005fb0: 0c02 |0040: move-result-object v2 3268 005fb2: 1a03 0100 |0041: const-string v3, " != " // string@0001 3269 005fb6: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3270 005fbc: 0c02 |0046: move-result-object v2 3271 005fbe: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3272 005fc4: 0c02 |004a: move-result-object v2 3273 005fc6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3274 005fcc: 0c02 |004e: move-result-object v2 3275 005fce: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3276 005fd4: 0f00 |0052: return v0 3277 catches : (none) 3278 positions : 3279 0x0000 line=68 3280 0x0002 line=69 3281 0x002e line=70 3282 0x0030 line=71 3283 0x0052 line=73 3284 locals : 3285 0x0000 - 0x0053 reg=4 (null) I 3286 0x0000 - 0x0053 reg=5 (null) I 3287 0x0000 - 0x0053 reg=6 (null) I 3288 3289 #13 : (in Linvokecustom/InvokeCustom5;) 3290 name : 'targetMethodTest6' 3291 type : '(JJJ)J' 3292 access : 0x0009 (PUBLIC STATIC) 3293 code - 3294 registers : 12 3295 ins : 6 3296 outs : 3 3297 insns size : 85 16-bit code units 3298 005fd8: |[005fd8] invokecustom.InvokeCustom5.targetMethodTest6:(JJJ)J 3299 005fe8: 9b00 0608 |0000: add-long v0, v6, v8 3300 005fec: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3301 005ff0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3302 005ff4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3303 005ffa: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 3304 005ffe: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3305 006004: 0c03 |000e: move-result-object v3 3306 006006: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 3307 00600c: 0c03 |0012: move-result-object v3 3308 00600e: 1a04 0300 |0013: const-string v4, " + " // string@0003 3309 006012: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3310 006018: 0c03 |0018: move-result-object v3 3311 00601a: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 3312 006020: 0c03 |001c: move-result-object v3 3313 006022: 1a04 0400 |001d: const-string v4, " = " // string@0004 3314 006026: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3315 00602c: 0c03 |0022: move-result-object v3 3316 00602e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 3317 006034: 0c03 |0026: move-result-object v3 3318 006036: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3319 00603c: 0c03 |002a: move-result-object v3 3320 00603e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3321 006044: 3102 000a |002e: cmp-long v2, v0, v10 3322 006048: 3802 2400 |0030: if-eqz v2, 0054 // +0024 3323 00604c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3324 006050: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3325 006054: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3326 00605a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 3327 00605e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3328 006064: 0c03 |003e: move-result-object v3 3329 006066: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 3330 00606c: 0c03 |0042: move-result-object v3 3331 00606e: 1a04 0100 |0043: const-string v4, " != " // string@0001 3332 006072: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3333 006078: 0c03 |0048: move-result-object v3 3334 00607a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 3335 006080: 0c03 |004c: move-result-object v3 3336 006082: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3337 006088: 0c03 |0050: move-result-object v3 3338 00608a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3339 006090: 1000 |0054: return-wide v0 3340 catches : (none) 3341 positions : 3342 0x0000 line=77 3343 0x0002 line=78 3344 0x002e line=79 3345 0x0032 line=80 3346 0x0054 line=82 3347 locals : 3348 0x0000 - 0x0055 reg=6 (null) J 3349 0x0000 - 0x0055 reg=8 (null) J 3350 0x0000 - 0x0055 reg=10 (null) J 3351 3352 #14 : (in Linvokecustom/InvokeCustom5;) 3353 name : 'targetMethodTest7' 3354 type : '(FFD)D' 3355 access : 0x0009 (PUBLIC STATIC) 3356 code - 3357 registers : 10 3358 ins : 4 3359 outs : 3 3360 insns size : 86 16-bit code units 3361 006094: |[006094] invokecustom.InvokeCustom5.targetMethodTest7:(FFD)D 3362 0060a4: a800 0607 |0000: mul-float v0, v6, v7 3363 0060a8: 8900 |0002: float-to-double v0, v0 3364 0060aa: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3365 0060ae: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3366 0060b2: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3367 0060b8: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 3368 0060bc: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3369 0060c2: 0c03 |000f: move-result-object v3 3370 0060c4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3371 0060ca: 0c03 |0013: move-result-object v3 3372 0060cc: 1a04 0200 |0014: const-string v4, " * " // string@0002 3373 0060d0: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3374 0060d6: 0c03 |0019: move-result-object v3 3375 0060d8: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3376 0060de: 0c03 |001d: move-result-object v3 3377 0060e0: 1a04 0400 |001e: const-string v4, " = " // string@0004 3378 0060e4: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3379 0060ea: 0c03 |0023: move-result-object v3 3380 0060ec: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 3381 0060f2: 0c03 |0027: move-result-object v3 3382 0060f4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3383 0060fa: 0c03 |002b: move-result-object v3 3384 0060fc: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3385 006102: 2f02 0008 |002f: cmpl-double v2, v0, v8 3386 006106: 3802 2400 |0031: if-eqz v2, 0055 // +0024 3387 00610a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3388 00610e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3389 006112: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3390 006118: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 3391 00611c: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3392 006122: 0c03 |003f: move-result-object v3 3393 006124: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 3394 00612a: 0c03 |0043: move-result-object v3 3395 00612c: 1a04 0100 |0044: const-string v4, " != " // string@0001 3396 006130: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3397 006136: 0c03 |0049: move-result-object v3 3398 006138: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 3399 00613e: 0c03 |004d: move-result-object v3 3400 006140: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3401 006146: 0c03 |0051: move-result-object v3 3402 006148: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3403 00614e: 1000 |0055: return-wide v0 3404 catches : (none) 3405 positions : 3406 0x0000 line=86 3407 0x0003 line=87 3408 0x002f line=88 3409 0x0033 line=89 3410 0x0055 line=91 3411 locals : 3412 0x0000 - 0x0056 reg=6 (null) F 3413 0x0000 - 0x0056 reg=7 (null) F 3414 0x0000 - 0x0056 reg=8 (null) D 3415 3416 #15 : (in Linvokecustom/InvokeCustom5;) 3417 name : 'targetMethodTest8' 3418 type : '(Ljava/lang/String;)V' 3419 access : 0x0009 (PUBLIC STATIC) 3420 code - 3421 registers : 4 3422 ins : 1 3423 outs : 2 3424 insns size : 25 16-bit code units 3425 006150: |[006150] invokecustom.InvokeCustom5.targetMethodTest8:(Ljava/lang/String;)V 3426 006160: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3427 006164: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3428 006168: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3429 00616e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 3430 006172: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3431 006178: 0c01 |000c: move-result-object v1 3432 00617a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3433 006180: 0c01 |0010: move-result-object v1 3434 006182: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3435 006188: 0c01 |0014: move-result-object v1 3436 00618a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3437 006190: 0e00 |0018: return-void 3438 catches : (none) 3439 positions : 3440 0x0000 line=95 3441 0x0018 line=96 3442 locals : 3443 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 3444 3445 #16 : (in Linvokecustom/InvokeCustom5;) 3446 name : 'targetMethodTest9' 3447 type : '()V' 3448 access : 0x000a (PRIVATE STATIC) 3449 code - 3450 registers : 2 3451 ins : 0 3452 outs : 2 3453 insns size : 8 16-bit code units 3454 006194: |[006194] invokecustom.InvokeCustom5.targetMethodTest9:()V 3455 0061a4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3456 0061a8: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 3457 0061ac: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3458 0061b2: 0e00 |0007: return-void 3459 catches : (none) 3460 positions : 3461 0x0000 line=129 3462 0x0007 line=130 3463 locals : 3464 3465 #17 : (in Linvokecustom/InvokeCustom5;) 3466 name : 'test5' 3467 type : '()V' 3468 access : 0x0009 (PUBLIC STATIC) 3469 code - 3470 registers : 4 3471 ins : 0 3472 outs : 3 3473 insns size : 35 16-bit code units 3474 0061b4: |[0061b4] invokecustom.InvokeCustom5.test5:()V 3475 0061c4: 1300 e803 |0000: const/16 v0, #int 1000 // #3e8 3476 0061c8: 1301 65fc |0002: const/16 v1, #int -923 // #fc65 3477 0061cc: 1302 4d00 |0004: const/16 v2, #int 77 // #4d 3478 0061d0: fc30 0300 1002 |0006: invoke-custom {v0, v1, v2}, call_site@0003 3479 0061d6: 0a00 |0009: move-result v0 3480 0061d8: 6201 1000 |000a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3481 0061dc: 2202 1700 |000c: new-instance v2, Ljava/lang/StringBuilder; // type@0017 3482 0061e0: 7010 b400 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3483 0061e6: 1a03 7900 |0011: const-string v3, "targetMethodTest5 returned: " // string@0079 3484 0061ea: 6e20 ba00 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3485 0061f0: 0c02 |0016: move-result-object v2 3486 0061f2: 6e20 b700 0200 |0017: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3487 0061f8: 0c00 |001a: move-result-object v0 3488 0061fa: 6e10 bb00 0000 |001b: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3489 006200: 0c00 |001e: move-result-object v0 3490 006202: 6e20 b100 0100 |001f: invoke-virtual {v1, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3491 006208: 0e00 |0022: return-void 3492 catches : (none) 3493 positions : 3494 locals : 3495 3496 Virtual methods - 3497 #0 : (in Linvokecustom/InvokeCustom5;) 3498 name : 'helperMethodTest9' 3499 type : '()V' 3500 access : 0x0001 (PUBLIC) 3501 code - 3502 registers : 4 3503 ins : 1 3504 outs : 2 3505 insns size : 27 16-bit code units 3506 00620c: |[00620c] invokecustom.InvokeCustom5.helperMethodTest9:()V 3507 00621c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3508 006220: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3509 006224: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3510 00622a: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 3511 00622e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3512 006234: 0c01 |000c: move-result-object v1 3513 006236: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 3514 00623a: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3515 006240: 0c01 |0012: move-result-object v1 3516 006242: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3517 006248: 0c01 |0016: move-result-object v1 3518 00624a: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3519 006250: 0e00 |001a: return-void 3520 catches : (none) 3521 positions : 3522 0x0000 line=125 3523 0x001a line=126 3524 locals : 3525 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom5; 3526 3527 #1 : (in Linvokecustom/InvokeCustom5;) 3528 name : 'run' 3529 type : '()V' 3530 access : 0x0001 (PUBLIC) 3531 code - 3532 registers : 3 3533 ins : 1 3534 outs : 2 3535 insns size : 8 16-bit code units 3536 006254: |[006254] invokecustom.InvokeCustom5.run:()V 3537 006264: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3538 006268: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 3539 00626c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3540 006272: 0e00 |0007: return-void 3541 catches : (none) 3542 positions : 3543 0x0000 line=133 3544 0x0007 line=134 3545 locals : 3546 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom5; 3547 3548 #2 : (in Linvokecustom/InvokeCustom5;) 3549 name : 'targetMethodTest4' 3550 type : '()V' 3551 access : 0x0001 (PUBLIC) 3552 code - 3553 registers : 3 3554 ins : 1 3555 outs : 2 3556 insns size : 8 16-bit code units 3557 006274: |[006274] invokecustom.InvokeCustom5.targetMethodTest4:()V 3558 006284: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3559 006288: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 3560 00628c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3561 006292: 0e00 |0007: return-void 3562 catches : (none) 3563 positions : 3564 0x0000 line=64 3565 0x0007 line=65 3566 locals : 3567 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom5; 3568 3569 source_file_idx : 25 (InvokeCustom.java) 3570 3571 Class #5 - 3572 Class descriptor : 'Linvokecustom/InvokeCustom6;' 3573 Access flags : 0x0001 (PUBLIC) 3574 Superclass : 'Linvokecustom/Super;' 3575 Interfaces - 3576 #0 : 'Ljava/lang/Runnable;' 3577 Static fields - 3578 #0 : (in Linvokecustom/InvokeCustom6;) 3579 name : 'staticFieldTest9' 3580 type : 'I' 3581 access : 0x000a (PRIVATE STATIC) 3582 Instance fields - 3583 #0 : (in Linvokecustom/InvokeCustom6;) 3584 name : 'fieldTest9' 3585 type : 'F' 3586 access : 0x0002 (PRIVATE) 3587 Direct methods - 3588 #0 : (in Linvokecustom/InvokeCustom6;) 3589 name : '<clinit>' 3590 type : '()V' 3591 access : 0x10008 (STATIC CONSTRUCTOR) 3592 code - 3593 registers : 1 3594 ins : 0 3595 outs : 0 3596 insns size : 4 16-bit code units 3597 006294: |[006294] invokecustom.InvokeCustom6.<clinit>:()V 3598 0062a4: 1200 |0000: const/4 v0, #int 0 // #0 3599 0062a6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 3600 0062aa: 0e00 |0003: return-void 3601 catches : (none) 3602 positions : 3603 0x0000 line=98 3604 locals : 3605 3606 #1 : (in Linvokecustom/InvokeCustom6;) 3607 name : '<init>' 3608 type : '()V' 3609 access : 0x10001 (PUBLIC CONSTRUCTOR) 3610 code - 3611 registers : 2 3612 ins : 1 3613 outs : 1 3614 insns size : 7 16-bit code units 3615 0062ac: |[0062ac] invokecustom.InvokeCustom6.<init>:()V 3616 0062bc: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 3617 0062c2: 1200 |0003: const/4 v0, #int 0 // #0 3618 0062c4: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 3619 0062c8: 0e00 |0006: return-void 3620 catches : (none) 3621 positions : 3622 0x0000 line=35 3623 0x0003 line=111 3624 0x0006 line=35 3625 locals : 3626 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom6; 3627 3628 #2 : (in Linvokecustom/InvokeCustom6;) 3629 name : '<init>' 3630 type : '(I)V' 3631 access : 0x10001 (PUBLIC CONSTRUCTOR) 3632 code - 3633 registers : 5 3634 ins : 2 3635 outs : 2 3636 insns size : 37 16-bit code units 3637 0062cc: |[0062cc] invokecustom.InvokeCustom6.<init>:(I)V 3638 0062dc: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 3639 0062e2: 1200 |0003: const/4 v0, #int 0 // #0 3640 0062e4: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 3641 0062e8: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3642 0062ec: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3643 0062f0: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3644 0062f6: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 3645 0062fa: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3646 006300: 0c01 |0012: move-result-object v1 3647 006302: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3648 006308: 0c01 |0016: move-result-object v1 3649 00630a: 1a02 0700 |0017: const-string v2, ")" // string@0007 3650 00630e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3651 006314: 0c01 |001c: move-result-object v1 3652 006316: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3653 00631c: 0c01 |0020: move-result-object v1 3654 00631e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3655 006324: 0e00 |0024: return-void 3656 catches : (none) 3657 positions : 3658 0x0000 line=36 3659 0x0003 line=111 3660 0x0006 line=37 3661 0x0024 line=38 3662 locals : 3663 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom6; 3664 0x0000 - 0x0025 reg=4 (null) I 3665 3666 #3 : (in Linvokecustom/InvokeCustom6;) 3667 name : 'bsmCreateCallSite' 3668 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 3669 access : 0x0009 (PUBLIC STATIC) 3670 code - 3671 registers : 7 3672 ins : 4 3673 outs : 2 3674 insns size : 36 16-bit code units 3675 006328: |[006328] invokecustom.InvokeCustom6.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 3676 006338: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3677 00633c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3678 006340: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3679 006346: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 3680 00634a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3681 006350: 0c01 |000c: move-result-object v1 3682 006352: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3683 006358: 0c01 |0010: move-result-object v1 3684 00635a: 1a02 5200 |0011: const-string v2, "]" // string@0052 3685 00635e: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3686 006364: 0c01 |0016: move-result-object v1 3687 006366: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3688 00636c: 0c01 |001a: move-result-object v1 3689 00636e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3690 006374: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 3691 006378: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 3692 00637e: 1100 |0023: return-object v0 3693 catches : (none) 3694 positions : 3695 0x0000 line=156 3696 0x001e line=157 3697 locals : 3698 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 3699 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 3700 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 3701 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 3702 3703 #4 : (in Linvokecustom/InvokeCustom6;) 3704 name : 'bsmLookupStatic' 3705 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 3706 access : 0x0009 (PUBLIC STATIC) 3707 code - 3708 registers : 5 3709 ins : 3 3710 outs : 4 3711 insns size : 29 16-bit code units 3712 006380: |[006380] invokecustom.InvokeCustom6.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 3713 006390: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3714 006394: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 3715 006398: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3716 00639e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 3717 0063a4: 0c00 |000a: move-result-object v0 3718 0063a6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 3719 0063ac: 0c01 |000e: move-result-object v1 3720 0063ae: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 3721 0063b4: 0c00 |0012: move-result-object v0 3722 0063b6: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 3723 0063ba: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 3724 0063c0: 0c00 |0018: move-result-object v0 3725 0063c2: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 3726 0063c8: 1101 |001c: return-object v1 3727 catches : (none) 3728 positions : 3729 0x0000 line=138 3730 0x0007 line=139 3731 0x000b line=140 3732 0x0013 line=141 3733 locals : 3734 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 3735 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 3736 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 3737 3738 #5 : (in Linvokecustom/InvokeCustom6;) 3739 name : 'bsmLookupStaticWithExtraArgs' 3740 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 3741 access : 0x0009 (PUBLIC STATIC) 3742 code - 3743 registers : 12 3744 ins : 9 3745 outs : 4 3746 insns size : 82 16-bit code units 3747 0063cc: |[0063cc] invokecustom.InvokeCustom6.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 3748 0063dc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3749 0063e0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3750 0063e4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3751 0063ea: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 3752 0063ee: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3753 0063f4: 0c01 |000c: move-result-object v1 3754 0063f6: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3755 0063fc: 0c01 |0010: move-result-object v1 3756 0063fe: 1a02 0800 |0011: const-string v2, ", " // string@0008 3757 006402: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3758 006408: 0c01 |0016: move-result-object v1 3759 00640a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 3760 006410: 0c01 |001a: move-result-object v1 3761 006412: 1a02 0800 |001b: const-string v2, ", " // string@0008 3762 006416: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3763 00641c: 0c01 |0020: move-result-object v1 3764 00641e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3765 006424: 0c01 |0024: move-result-object v1 3766 006426: 1a02 0800 |0025: const-string v2, ", " // string@0008 3767 00642a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3768 006430: 0c01 |002a: move-result-object v1 3769 006432: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 3770 006438: 0c01 |002e: move-result-object v1 3771 00643a: 1a02 5200 |002f: const-string v2, "]" // string@0052 3772 00643e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3773 006444: 0c01 |0034: move-result-object v1 3774 006446: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3775 00644c: 0c01 |0038: move-result-object v1 3776 00644e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3777 006454: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 3778 00645a: 0c00 |003f: move-result-object v0 3779 00645c: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 3780 006462: 0c01 |0043: move-result-object v1 3781 006464: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 3782 00646a: 0c00 |0047: move-result-object v0 3783 00646c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 3784 006470: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 3785 006476: 0c00 |004d: move-result-object v0 3786 006478: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 3787 00647e: 1101 |0051: return-object v1 3788 catches : (none) 3789 positions : 3790 0x0000 line=147 3791 0x003c line=148 3792 0x0040 line=149 3793 0x0048 line=150 3794 locals : 3795 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 3796 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 3797 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 3798 0x0000 - 0x0052 reg=6 (null) I 3799 0x0000 - 0x0052 reg=7 (null) J 3800 0x0000 - 0x0052 reg=9 (null) F 3801 0x0000 - 0x0052 reg=10 (null) D 3802 3803 #6 : (in Linvokecustom/InvokeCustom6;) 3804 name : 'bsmLookupTest9' 3805 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 3806 access : 0x0009 (PUBLIC STATIC) 3807 code - 3808 registers : 13 3809 ins : 10 3810 outs : 4 3811 insns size : 135 16-bit code units 3812 006480: |[006480] invokecustom.InvokeCustom6.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 3813 006490: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3814 006494: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3815 006498: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3816 00649e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 3817 0064a2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3818 0064a8: 0c01 |000c: move-result-object v1 3819 0064aa: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3820 0064b0: 0c01 |0010: move-result-object v1 3821 0064b2: 1a02 0800 |0011: const-string v2, ", " // string@0008 3822 0064b6: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3823 0064bc: 0c01 |0016: move-result-object v1 3824 0064be: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3825 0064c4: 0c01 |001a: move-result-object v1 3826 0064c6: 1a02 0800 |001b: const-string v2, ", " // string@0008 3827 0064ca: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3828 0064d0: 0c01 |0020: move-result-object v1 3829 0064d2: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3830 0064d8: 0c01 |0024: move-result-object v1 3831 0064da: 1a02 0800 |0025: const-string v2, ", " // string@0008 3832 0064de: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3833 0064e4: 0c01 |002a: move-result-object v1 3834 0064e6: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3835 0064ec: 0c01 |002e: move-result-object v1 3836 0064ee: 1a02 5200 |002f: const-string v2, "]" // string@0052 3837 0064f2: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3838 0064f8: 0c01 |0034: move-result-object v1 3839 0064fa: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3840 006500: 0c01 |0038: move-result-object v1 3841 006502: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3842 006508: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3843 00650c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 3844 006510: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3845 006516: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3846 00651c: 0c01 |0046: move-result-object v1 3847 00651e: 1a02 0000 |0047: const-string v2, " " // string@0000 3848 006522: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3849 006528: 0c01 |004c: move-result-object v1 3850 00652a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 3851 006530: 0c01 |0050: move-result-object v1 3852 006532: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3853 006538: 0c01 |0054: move-result-object v1 3854 00653a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3855 006540: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 3856 006546: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 3857 00654a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 3858 006550: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 3859 006556: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 3860 00655e: 1230 |0067: const/4 v0, #int 3 // #3 3861 006560: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 3862 006568: 0c00 |006c: move-result-object v0 3863 00656a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 3864 006572: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 3865 006578: 0c00 |0074: move-result-object v0 3866 00657a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 3867 006580: 0c01 |0078: move-result-object v1 3868 006582: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 3869 006588: 0c00 |007c: move-result-object v0 3870 00658a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 3871 00658e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 3872 006594: 0c00 |0082: move-result-object v0 3873 006596: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 3874 00659c: 1101 |0086: return-object v1 3875 catches : (none) 3876 positions : 3877 0x0000 line=166 3878 0x003c line=168 3879 0x0058 line=171 3880 0x005b line=172 3881 0x0060 line=173 3882 0x0063 line=176 3883 0x0067 line=178 3884 0x006d line=179 3885 0x0071 line=181 3886 0x0075 line=182 3887 0x007d line=183 3888 locals : 3889 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 3890 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 3891 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 3892 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 3893 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 3894 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 3895 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 3896 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 3897 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 3898 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 3899 3900 #7 : (in Linvokecustom/InvokeCustom6;) 3901 name : 'checkFieldTest9' 3902 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 3903 access : 0x0002 (PRIVATE) 3904 code - 3905 registers : 9 3906 ins : 3 3907 outs : 3 3908 insns size : 82 16-bit code units 3909 0065a0: |[0065a0] invokecustom.InvokeCustom6.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 3910 0065b0: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 3911 0065b6: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 3912 0065be: 0a00 |0007: move-result v0 3913 0065c0: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 3914 0065c8: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 3915 0065d0: 0a01 |0010: move-result v1 3916 0065d2: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3917 0065d6: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3918 0065da: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3919 0065e0: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 3920 0065e4: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3921 0065ea: 0c03 |001d: move-result-object v3 3922 0065ec: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3923 0065f2: 0c00 |0021: move-result-object v0 3924 0065f4: 1a03 0600 |0022: const-string v3, " new " // string@0006 3925 0065f8: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3926 0065fe: 0c00 |0027: move-result-object v0 3927 006600: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3928 006606: 0c00 |002b: move-result-object v0 3929 006608: 1a03 0500 |002c: const-string v3, " expected " // string@0005 3930 00660c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3931 006612: 0c00 |0031: move-result-object v0 3932 006614: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 3933 00661a: 0c00 |0035: move-result-object v0 3934 00661c: 1a03 0000 |0036: const-string v3, " " // string@0000 3935 006620: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3936 006626: 0c00 |003b: move-result-object v0 3937 006628: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 3938 00662e: 0c00 |003f: move-result-object v0 3939 006630: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 3940 006636: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3941 00663a: 2d00 0105 |0045: cmpl-float v0, v1, v5 3942 00663e: 3900 0800 |0047: if-nez v0, 004f // +0008 3943 006642: 1a00 4000 |0049: const-string v0, "OK" // string@0040 3944 006646: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 3945 00664c: 0e00 |004e: return-void 3946 00664e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 3947 006652: 28fa |0051: goto 004b // -0006 3948 catches : (none) 3949 positions : 3950 0x0003 line=116 3951 0x0008 line=117 3952 0x000c line=118 3953 0x0011 line=119 3954 0x0043 line=121 3955 0x004e line=122 3956 0x004f line=121 3957 locals : 3958 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom6; 3959 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 3960 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 3961 3962 #8 : (in Linvokecustom/InvokeCustom6;) 3963 name : 'checkStaticFieldTest9' 3964 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 3965 access : 0x000a (PRIVATE STATIC) 3966 code - 3967 registers : 8 3968 ins : 2 3969 outs : 2 3970 insns size : 80 16-bit code units 3971 006654: |[006654] invokecustom.InvokeCustom6.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 3972 006664: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 3973 00666a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 3974 006672: 0a00 |0007: move-result v0 3975 006674: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 3976 00667c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 3977 006684: 0a01 |0010: move-result v1 3978 006686: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 3979 00668a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 3980 00668e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 3981 006694: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 3982 006698: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3983 00669e: 0c03 |001d: move-result-object v3 3984 0066a0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3985 0066a6: 0c00 |0021: move-result-object v0 3986 0066a8: 1a03 0600 |0022: const-string v3, " new " // string@0006 3987 0066ac: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3988 0066b2: 0c00 |0027: move-result-object v0 3989 0066b4: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3990 0066ba: 0c00 |002b: move-result-object v0 3991 0066bc: 1a03 0500 |002c: const-string v3, " expected " // string@0005 3992 0066c0: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3993 0066c6: 0c00 |0031: move-result-object v0 3994 0066c8: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 3995 0066ce: 0c00 |0035: move-result-object v0 3996 0066d0: 1a03 0000 |0036: const-string v3, " " // string@0000 3997 0066d4: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 3998 0066da: 0c00 |003b: move-result-object v0 3999 0066dc: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4000 0066e2: 0c00 |003f: move-result-object v0 4001 0066e4: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 4002 0066ea: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4003 0066ee: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 4004 0066f2: 1a00 4000 |0047: const-string v0, "OK" // string@0040 4005 0066f6: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4006 0066fc: 0e00 |004c: return-void 4007 0066fe: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 4008 006702: 28fa |004f: goto 0049 // -0006 4009 catches : (none) 4010 positions : 4011 0x0003 line=103 4012 0x0008 line=104 4013 0x000c line=105 4014 0x0011 line=106 4015 0x0043 line=108 4016 0x004c line=109 4017 0x004d line=108 4018 locals : 4019 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 4020 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 4021 4022 #9 : (in Linvokecustom/InvokeCustom6;) 4023 name : 'targetMethodTest1' 4024 type : '()V' 4025 access : 0x000a (PRIVATE STATIC) 4026 code - 4027 registers : 2 4028 ins : 0 4029 outs : 2 4030 insns size : 8 16-bit code units 4031 006704: |[006704] invokecustom.InvokeCustom6.targetMethodTest1:()V 4032 006714: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4033 006718: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 4034 00671c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4035 006722: 0e00 |0007: return-void 4036 catches : (none) 4037 positions : 4038 0x0000 line=41 4039 0x0007 line=42 4040 locals : 4041 4042 #10 : (in Linvokecustom/InvokeCustom6;) 4043 name : 'targetMethodTest2' 4044 type : '(ZBCSIFJDLjava/lang/String;)V' 4045 access : 0x000a (PRIVATE STATIC) 4046 code - 4047 registers : 13 4048 ins : 11 4049 outs : 3 4050 insns size : 46 16-bit code units 4051 006724: |[006724] invokecustom.InvokeCustom6.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 4052 006734: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4053 006738: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 4054 00673e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4055 006742: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 4056 006748: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4057 00674c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 4058 006752: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4059 006756: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 4060 00675c: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4061 006760: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 4062 006766: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4063 00676a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 4064 006770: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4065 006774: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 4066 00677a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4067 00677e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 4068 006784: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4069 006788: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4070 00678e: 0e00 |002d: return-void 4071 catches : (none) 4072 positions : 4073 0x0000 line=46 4074 0x0005 line=47 4075 0x000a line=48 4076 0x000f line=49 4077 0x0014 line=50 4078 0x0019 line=51 4079 0x001e line=52 4080 0x0023 line=53 4081 0x0028 line=54 4082 0x002d line=55 4083 locals : 4084 0x0000 - 0x002e reg=2 (null) Z 4085 0x0000 - 0x002e reg=3 (null) B 4086 0x0000 - 0x002e reg=4 (null) C 4087 0x0000 - 0x002e reg=5 (null) S 4088 0x0000 - 0x002e reg=6 (null) I 4089 0x0000 - 0x002e reg=7 (null) F 4090 0x0000 - 0x002e reg=8 (null) J 4091 0x0000 - 0x002e reg=10 (null) D 4092 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 4093 4094 #11 : (in Linvokecustom/InvokeCustom6;) 4095 name : 'targetMethodTest3' 4096 type : '()V' 4097 access : 0x000a (PRIVATE STATIC) 4098 code - 4099 registers : 2 4100 ins : 0 4101 outs : 2 4102 insns size : 8 16-bit code units 4103 006790: |[006790] invokecustom.InvokeCustom6.targetMethodTest3:()V 4104 0067a0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4105 0067a4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 4106 0067a8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4107 0067ae: 0e00 |0007: return-void 4108 catches : (none) 4109 positions : 4110 0x0000 line=58 4111 0x0007 line=59 4112 locals : 4113 4114 #12 : (in Linvokecustom/InvokeCustom6;) 4115 name : 'targetMethodTest5' 4116 type : '(III)I' 4117 access : 0x0009 (PUBLIC STATIC) 4118 code - 4119 registers : 7 4120 ins : 3 4121 outs : 2 4122 insns size : 83 16-bit code units 4123 0067b0: |[0067b0] invokecustom.InvokeCustom6.targetMethodTest5:(III)I 4124 0067c0: 9000 0405 |0000: add-int v0, v4, v5 4125 0067c4: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4126 0067c8: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 4127 0067cc: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4128 0067d2: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 4129 0067d6: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4130 0067dc: 0c02 |000e: move-result-object v2 4131 0067de: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4132 0067e4: 0c02 |0012: move-result-object v2 4133 0067e6: 1a03 0300 |0013: const-string v3, " + " // string@0003 4134 0067ea: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4135 0067f0: 0c02 |0018: move-result-object v2 4136 0067f2: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4137 0067f8: 0c02 |001c: move-result-object v2 4138 0067fa: 1a03 0400 |001d: const-string v3, " = " // string@0004 4139 0067fe: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4140 006804: 0c02 |0022: move-result-object v2 4141 006806: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4142 00680c: 0c02 |0026: move-result-object v2 4143 00680e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4144 006814: 0c02 |002a: move-result-object v2 4145 006816: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4146 00681c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 4147 006820: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4148 006824: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 4149 006828: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4150 00682e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 4151 006832: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4152 006838: 0c02 |003c: move-result-object v2 4153 00683a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4154 006840: 0c02 |0040: move-result-object v2 4155 006842: 1a03 0100 |0041: const-string v3, " != " // string@0001 4156 006846: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4157 00684c: 0c02 |0046: move-result-object v2 4158 00684e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4159 006854: 0c02 |004a: move-result-object v2 4160 006856: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4161 00685c: 0c02 |004e: move-result-object v2 4162 00685e: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4163 006864: 0f00 |0052: return v0 4164 catches : (none) 4165 positions : 4166 0x0000 line=68 4167 0x0002 line=69 4168 0x002e line=70 4169 0x0030 line=71 4170 0x0052 line=73 4171 locals : 4172 0x0000 - 0x0053 reg=4 (null) I 4173 0x0000 - 0x0053 reg=5 (null) I 4174 0x0000 - 0x0053 reg=6 (null) I 4175 4176 #13 : (in Linvokecustom/InvokeCustom6;) 4177 name : 'targetMethodTest6' 4178 type : '(JJJ)J' 4179 access : 0x0009 (PUBLIC STATIC) 4180 code - 4181 registers : 12 4182 ins : 6 4183 outs : 3 4184 insns size : 85 16-bit code units 4185 006868: |[006868] invokecustom.InvokeCustom6.targetMethodTest6:(JJJ)J 4186 006878: 9b00 0608 |0000: add-long v0, v6, v8 4187 00687c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4188 006880: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4189 006884: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4190 00688a: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 4191 00688e: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4192 006894: 0c03 |000e: move-result-object v3 4193 006896: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4194 00689c: 0c03 |0012: move-result-object v3 4195 00689e: 1a04 0300 |0013: const-string v4, " + " // string@0003 4196 0068a2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4197 0068a8: 0c03 |0018: move-result-object v3 4198 0068aa: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4199 0068b0: 0c03 |001c: move-result-object v3 4200 0068b2: 1a04 0400 |001d: const-string v4, " = " // string@0004 4201 0068b6: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4202 0068bc: 0c03 |0022: move-result-object v3 4203 0068be: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4204 0068c4: 0c03 |0026: move-result-object v3 4205 0068c6: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4206 0068cc: 0c03 |002a: move-result-object v3 4207 0068ce: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4208 0068d4: 3102 000a |002e: cmp-long v2, v0, v10 4209 0068d8: 3802 2400 |0030: if-eqz v2, 0054 // +0024 4210 0068dc: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4211 0068e0: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4212 0068e4: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4213 0068ea: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 4214 0068ee: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4215 0068f4: 0c03 |003e: move-result-object v3 4216 0068f6: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4217 0068fc: 0c03 |0042: move-result-object v3 4218 0068fe: 1a04 0100 |0043: const-string v4, " != " // string@0001 4219 006902: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4220 006908: 0c03 |0048: move-result-object v3 4221 00690a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4222 006910: 0c03 |004c: move-result-object v3 4223 006912: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4224 006918: 0c03 |0050: move-result-object v3 4225 00691a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4226 006920: 1000 |0054: return-wide v0 4227 catches : (none) 4228 positions : 4229 0x0000 line=77 4230 0x0002 line=78 4231 0x002e line=79 4232 0x0032 line=80 4233 0x0054 line=82 4234 locals : 4235 0x0000 - 0x0055 reg=6 (null) J 4236 0x0000 - 0x0055 reg=8 (null) J 4237 0x0000 - 0x0055 reg=10 (null) J 4238 4239 #14 : (in Linvokecustom/InvokeCustom6;) 4240 name : 'targetMethodTest7' 4241 type : '(FFD)D' 4242 access : 0x0009 (PUBLIC STATIC) 4243 code - 4244 registers : 10 4245 ins : 4 4246 outs : 3 4247 insns size : 86 16-bit code units 4248 006924: |[006924] invokecustom.InvokeCustom6.targetMethodTest7:(FFD)D 4249 006934: a800 0607 |0000: mul-float v0, v6, v7 4250 006938: 8900 |0002: float-to-double v0, v0 4251 00693a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4252 00693e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4253 006942: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4254 006948: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 4255 00694c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4256 006952: 0c03 |000f: move-result-object v3 4257 006954: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 4258 00695a: 0c03 |0013: move-result-object v3 4259 00695c: 1a04 0200 |0014: const-string v4, " * " // string@0002 4260 006960: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4261 006966: 0c03 |0019: move-result-object v3 4262 006968: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 4263 00696e: 0c03 |001d: move-result-object v3 4264 006970: 1a04 0400 |001e: const-string v4, " = " // string@0004 4265 006974: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4266 00697a: 0c03 |0023: move-result-object v3 4267 00697c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 4268 006982: 0c03 |0027: move-result-object v3 4269 006984: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4270 00698a: 0c03 |002b: move-result-object v3 4271 00698c: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4272 006992: 2f02 0008 |002f: cmpl-double v2, v0, v8 4273 006996: 3802 2400 |0031: if-eqz v2, 0055 // +0024 4274 00699a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4275 00699e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4276 0069a2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4277 0069a8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 4278 0069ac: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4279 0069b2: 0c03 |003f: move-result-object v3 4280 0069b4: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 4281 0069ba: 0c03 |0043: move-result-object v3 4282 0069bc: 1a04 0100 |0044: const-string v4, " != " // string@0001 4283 0069c0: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4284 0069c6: 0c03 |0049: move-result-object v3 4285 0069c8: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 4286 0069ce: 0c03 |004d: move-result-object v3 4287 0069d0: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4288 0069d6: 0c03 |0051: move-result-object v3 4289 0069d8: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4290 0069de: 1000 |0055: return-wide v0 4291 catches : (none) 4292 positions : 4293 0x0000 line=86 4294 0x0003 line=87 4295 0x002f line=88 4296 0x0033 line=89 4297 0x0055 line=91 4298 locals : 4299 0x0000 - 0x0056 reg=6 (null) F 4300 0x0000 - 0x0056 reg=7 (null) F 4301 0x0000 - 0x0056 reg=8 (null) D 4302 4303 #15 : (in Linvokecustom/InvokeCustom6;) 4304 name : 'targetMethodTest8' 4305 type : '(Ljava/lang/String;)V' 4306 access : 0x0009 (PUBLIC STATIC) 4307 code - 4308 registers : 4 4309 ins : 1 4310 outs : 2 4311 insns size : 25 16-bit code units 4312 0069e0: |[0069e0] invokecustom.InvokeCustom6.targetMethodTest8:(Ljava/lang/String;)V 4313 0069f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4314 0069f4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4315 0069f8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4316 0069fe: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 4317 006a02: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4318 006a08: 0c01 |000c: move-result-object v1 4319 006a0a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4320 006a10: 0c01 |0010: move-result-object v1 4321 006a12: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4322 006a18: 0c01 |0014: move-result-object v1 4323 006a1a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4324 006a20: 0e00 |0018: return-void 4325 catches : (none) 4326 positions : 4327 0x0000 line=95 4328 0x0018 line=96 4329 locals : 4330 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 4331 4332 #16 : (in Linvokecustom/InvokeCustom6;) 4333 name : 'targetMethodTest9' 4334 type : '()V' 4335 access : 0x000a (PRIVATE STATIC) 4336 code - 4337 registers : 2 4338 ins : 0 4339 outs : 2 4340 insns size : 8 16-bit code units 4341 006a24: |[006a24] invokecustom.InvokeCustom6.targetMethodTest9:()V 4342 006a34: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4343 006a38: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 4344 006a3c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4345 006a42: 0e00 |0007: return-void 4346 catches : (none) 4347 positions : 4348 0x0000 line=129 4349 0x0007 line=130 4350 locals : 4351 4352 #17 : (in Linvokecustom/InvokeCustom6;) 4353 name : 'test6' 4354 type : '()V' 4355 access : 0x0009 (PUBLIC STATIC) 4356 code - 4357 registers : 6 4358 ins : 0 4359 outs : 6 4360 insns size : 44 16-bit code units 4361 006a44: |[006a44] invokecustom.InvokeCustom6.test6:()V 4362 006a54: 1800 7777 7777 7707 0000 |0000: const-wide v0, #double 4.05612e-311 // #0000077777777777 4363 006a5e: 1802 efee eeee eefe ffff |0005: const-wide v2, #double -nan // #fffffeeeeeeeeeef 4364 006a68: 1804 6666 6666 6606 0000 |000a: const-wide v4, #double 3.47668e-311 // #0000066666666666 4365 006a72: fd06 0400 0000 |000f: invoke-custom/range {v0, v1, v2, v3, v4, v5}, call_site@0004 4366 006a78: 0b00 |0012: move-result-wide v0 4367 006a7a: 6202 1000 |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4368 006a7e: 2203 1700 |0015: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4369 006a82: 7010 b400 0300 |0017: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4370 006a88: 1a04 7c00 |001a: const-string v4, "targetMethodTest6 returned: " // string@007c 4371 006a8c: 6e20 ba00 4300 |001c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4372 006a92: 0c03 |001f: move-result-object v3 4373 006a94: 6e30 b800 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4374 006a9a: 0c00 |0023: move-result-object v0 4375 006a9c: 6e10 bb00 0000 |0024: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4376 006aa2: 0c00 |0027: move-result-object v0 4377 006aa4: 6e20 b100 0200 |0028: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4378 006aaa: 0e00 |002b: return-void 4379 catches : (none) 4380 positions : 4381 locals : 4382 4383 Virtual methods - 4384 #0 : (in Linvokecustom/InvokeCustom6;) 4385 name : 'helperMethodTest9' 4386 type : '()V' 4387 access : 0x0001 (PUBLIC) 4388 code - 4389 registers : 4 4390 ins : 1 4391 outs : 2 4392 insns size : 27 16-bit code units 4393 006aac: |[006aac] invokecustom.InvokeCustom6.helperMethodTest9:()V 4394 006abc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4395 006ac0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4396 006ac4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4397 006aca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 4398 006ace: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4399 006ad4: 0c01 |000c: move-result-object v1 4400 006ad6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 4401 006ada: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4402 006ae0: 0c01 |0012: move-result-object v1 4403 006ae2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4404 006ae8: 0c01 |0016: move-result-object v1 4405 006aea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4406 006af0: 0e00 |001a: return-void 4407 catches : (none) 4408 positions : 4409 0x0000 line=125 4410 0x001a line=126 4411 locals : 4412 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom6; 4413 4414 #1 : (in Linvokecustom/InvokeCustom6;) 4415 name : 'run' 4416 type : '()V' 4417 access : 0x0001 (PUBLIC) 4418 code - 4419 registers : 3 4420 ins : 1 4421 outs : 2 4422 insns size : 8 16-bit code units 4423 006af4: |[006af4] invokecustom.InvokeCustom6.run:()V 4424 006b04: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4425 006b08: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 4426 006b0c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4427 006b12: 0e00 |0007: return-void 4428 catches : (none) 4429 positions : 4430 0x0000 line=133 4431 0x0007 line=134 4432 locals : 4433 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom6; 4434 4435 #2 : (in Linvokecustom/InvokeCustom6;) 4436 name : 'targetMethodTest4' 4437 type : '()V' 4438 access : 0x0001 (PUBLIC) 4439 code - 4440 registers : 3 4441 ins : 1 4442 outs : 2 4443 insns size : 8 16-bit code units 4444 006b14: |[006b14] invokecustom.InvokeCustom6.targetMethodTest4:()V 4445 006b24: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4446 006b28: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 4447 006b2c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4448 006b32: 0e00 |0007: return-void 4449 catches : (none) 4450 positions : 4451 0x0000 line=64 4452 0x0007 line=65 4453 locals : 4454 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom6; 4455 4456 source_file_idx : 25 (InvokeCustom.java) 4457 4458 Class #6 - 4459 Class descriptor : 'Linvokecustom/InvokeCustom7;' 4460 Access flags : 0x0001 (PUBLIC) 4461 Superclass : 'Linvokecustom/Super;' 4462 Interfaces - 4463 #0 : 'Ljava/lang/Runnable;' 4464 Static fields - 4465 #0 : (in Linvokecustom/InvokeCustom7;) 4466 name : 'staticFieldTest9' 4467 type : 'I' 4468 access : 0x000a (PRIVATE STATIC) 4469 Instance fields - 4470 #0 : (in Linvokecustom/InvokeCustom7;) 4471 name : 'fieldTest9' 4472 type : 'F' 4473 access : 0x0002 (PRIVATE) 4474 Direct methods - 4475 #0 : (in Linvokecustom/InvokeCustom7;) 4476 name : '<clinit>' 4477 type : '()V' 4478 access : 0x10008 (STATIC CONSTRUCTOR) 4479 code - 4480 registers : 1 4481 ins : 0 4482 outs : 0 4483 insns size : 4 16-bit code units 4484 006b34: |[006b34] invokecustom.InvokeCustom7.<clinit>:()V 4485 006b44: 1200 |0000: const/4 v0, #int 0 // #0 4486 006b46: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 4487 006b4a: 0e00 |0003: return-void 4488 catches : (none) 4489 positions : 4490 0x0000 line=98 4491 locals : 4492 4493 #1 : (in Linvokecustom/InvokeCustom7;) 4494 name : '<init>' 4495 type : '()V' 4496 access : 0x10001 (PUBLIC CONSTRUCTOR) 4497 code - 4498 registers : 2 4499 ins : 1 4500 outs : 1 4501 insns size : 7 16-bit code units 4502 006b4c: |[006b4c] invokecustom.InvokeCustom7.<init>:()V 4503 006b5c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 4504 006b62: 1200 |0003: const/4 v0, #int 0 // #0 4505 006b64: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 4506 006b68: 0e00 |0006: return-void 4507 catches : (none) 4508 positions : 4509 0x0000 line=35 4510 0x0003 line=111 4511 0x0006 line=35 4512 locals : 4513 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom7; 4514 4515 #2 : (in Linvokecustom/InvokeCustom7;) 4516 name : '<init>' 4517 type : '(I)V' 4518 access : 0x10001 (PUBLIC CONSTRUCTOR) 4519 code - 4520 registers : 5 4521 ins : 2 4522 outs : 2 4523 insns size : 37 16-bit code units 4524 006b6c: |[006b6c] invokecustom.InvokeCustom7.<init>:(I)V 4525 006b7c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 4526 006b82: 1200 |0003: const/4 v0, #int 0 // #0 4527 006b84: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 4528 006b88: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4529 006b8c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4530 006b90: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4531 006b96: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 4532 006b9a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4533 006ba0: 0c01 |0012: move-result-object v1 4534 006ba2: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4535 006ba8: 0c01 |0016: move-result-object v1 4536 006baa: 1a02 0700 |0017: const-string v2, ")" // string@0007 4537 006bae: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4538 006bb4: 0c01 |001c: move-result-object v1 4539 006bb6: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4540 006bbc: 0c01 |0020: move-result-object v1 4541 006bbe: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4542 006bc4: 0e00 |0024: return-void 4543 catches : (none) 4544 positions : 4545 0x0000 line=36 4546 0x0003 line=111 4547 0x0006 line=37 4548 0x0024 line=38 4549 locals : 4550 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom7; 4551 0x0000 - 0x0025 reg=4 (null) I 4552 4553 #3 : (in Linvokecustom/InvokeCustom7;) 4554 name : 'bsmCreateCallSite' 4555 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 4556 access : 0x0009 (PUBLIC STATIC) 4557 code - 4558 registers : 7 4559 ins : 4 4560 outs : 2 4561 insns size : 36 16-bit code units 4562 006bc8: |[006bc8] invokecustom.InvokeCustom7.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 4563 006bd8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4564 006bdc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4565 006be0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4566 006be6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 4567 006bea: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4568 006bf0: 0c01 |000c: move-result-object v1 4569 006bf2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4570 006bf8: 0c01 |0010: move-result-object v1 4571 006bfa: 1a02 5200 |0011: const-string v2, "]" // string@0052 4572 006bfe: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4573 006c04: 0c01 |0016: move-result-object v1 4574 006c06: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4575 006c0c: 0c01 |001a: move-result-object v1 4576 006c0e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4577 006c14: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 4578 006c18: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 4579 006c1e: 1100 |0023: return-object v0 4580 catches : (none) 4581 positions : 4582 0x0000 line=156 4583 0x001e line=157 4584 locals : 4585 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 4586 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 4587 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 4588 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 4589 4590 #4 : (in Linvokecustom/InvokeCustom7;) 4591 name : 'bsmLookupStatic' 4592 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 4593 access : 0x0009 (PUBLIC STATIC) 4594 code - 4595 registers : 5 4596 ins : 3 4597 outs : 4 4598 insns size : 29 16-bit code units 4599 006c20: |[006c20] invokecustom.InvokeCustom7.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 4600 006c30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4601 006c34: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 4602 006c38: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4603 006c3e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 4604 006c44: 0c00 |000a: move-result-object v0 4605 006c46: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 4606 006c4c: 0c01 |000e: move-result-object v1 4607 006c4e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 4608 006c54: 0c00 |0012: move-result-object v0 4609 006c56: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 4610 006c5a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 4611 006c60: 0c00 |0018: move-result-object v0 4612 006c62: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 4613 006c68: 1101 |001c: return-object v1 4614 catches : (none) 4615 positions : 4616 0x0000 line=138 4617 0x0007 line=139 4618 0x000b line=140 4619 0x0013 line=141 4620 locals : 4621 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 4622 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 4623 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 4624 4625 #5 : (in Linvokecustom/InvokeCustom7;) 4626 name : 'bsmLookupStaticWithExtraArgs' 4627 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 4628 access : 0x0009 (PUBLIC STATIC) 4629 code - 4630 registers : 12 4631 ins : 9 4632 outs : 4 4633 insns size : 82 16-bit code units 4634 006c6c: |[006c6c] invokecustom.InvokeCustom7.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 4635 006c7c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4636 006c80: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4637 006c84: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4638 006c8a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 4639 006c8e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4640 006c94: 0c01 |000c: move-result-object v1 4641 006c96: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4642 006c9c: 0c01 |0010: move-result-object v1 4643 006c9e: 1a02 0800 |0011: const-string v2, ", " // string@0008 4644 006ca2: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4645 006ca8: 0c01 |0016: move-result-object v1 4646 006caa: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 4647 006cb0: 0c01 |001a: move-result-object v1 4648 006cb2: 1a02 0800 |001b: const-string v2, ", " // string@0008 4649 006cb6: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4650 006cbc: 0c01 |0020: move-result-object v1 4651 006cbe: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 4652 006cc4: 0c01 |0024: move-result-object v1 4653 006cc6: 1a02 0800 |0025: const-string v2, ", " // string@0008 4654 006cca: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4655 006cd0: 0c01 |002a: move-result-object v1 4656 006cd2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 4657 006cd8: 0c01 |002e: move-result-object v1 4658 006cda: 1a02 5200 |002f: const-string v2, "]" // string@0052 4659 006cde: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4660 006ce4: 0c01 |0034: move-result-object v1 4661 006ce6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4662 006cec: 0c01 |0038: move-result-object v1 4663 006cee: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4664 006cf4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 4665 006cfa: 0c00 |003f: move-result-object v0 4666 006cfc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 4667 006d02: 0c01 |0043: move-result-object v1 4668 006d04: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 4669 006d0a: 0c00 |0047: move-result-object v0 4670 006d0c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 4671 006d10: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 4672 006d16: 0c00 |004d: move-result-object v0 4673 006d18: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 4674 006d1e: 1101 |0051: return-object v1 4675 catches : (none) 4676 positions : 4677 0x0000 line=147 4678 0x003c line=148 4679 0x0040 line=149 4680 0x0048 line=150 4681 locals : 4682 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 4683 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 4684 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 4685 0x0000 - 0x0052 reg=6 (null) I 4686 0x0000 - 0x0052 reg=7 (null) J 4687 0x0000 - 0x0052 reg=9 (null) F 4688 0x0000 - 0x0052 reg=10 (null) D 4689 4690 #6 : (in Linvokecustom/InvokeCustom7;) 4691 name : 'bsmLookupTest9' 4692 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 4693 access : 0x0009 (PUBLIC STATIC) 4694 code - 4695 registers : 13 4696 ins : 10 4697 outs : 4 4698 insns size : 135 16-bit code units 4699 006d20: |[006d20] invokecustom.InvokeCustom7.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 4700 006d30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4701 006d34: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4702 006d38: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4703 006d3e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 4704 006d42: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4705 006d48: 0c01 |000c: move-result-object v1 4706 006d4a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4707 006d50: 0c01 |0010: move-result-object v1 4708 006d52: 1a02 0800 |0011: const-string v2, ", " // string@0008 4709 006d56: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4710 006d5c: 0c01 |0016: move-result-object v1 4711 006d5e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4712 006d64: 0c01 |001a: move-result-object v1 4713 006d66: 1a02 0800 |001b: const-string v2, ", " // string@0008 4714 006d6a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4715 006d70: 0c01 |0020: move-result-object v1 4716 006d72: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4717 006d78: 0c01 |0024: move-result-object v1 4718 006d7a: 1a02 0800 |0025: const-string v2, ", " // string@0008 4719 006d7e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4720 006d84: 0c01 |002a: move-result-object v1 4721 006d86: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4722 006d8c: 0c01 |002e: move-result-object v1 4723 006d8e: 1a02 5200 |002f: const-string v2, "]" // string@0052 4724 006d92: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4725 006d98: 0c01 |0034: move-result-object v1 4726 006d9a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4727 006da0: 0c01 |0038: move-result-object v1 4728 006da2: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4729 006da8: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4730 006dac: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 4731 006db0: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4732 006db6: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4733 006dbc: 0c01 |0046: move-result-object v1 4734 006dbe: 1a02 0000 |0047: const-string v2, " " // string@0000 4735 006dc2: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4736 006dc8: 0c01 |004c: move-result-object v1 4737 006dca: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 4738 006dd0: 0c01 |0050: move-result-object v1 4739 006dd2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4740 006dd8: 0c01 |0054: move-result-object v1 4741 006dda: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4742 006de0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 4743 006de6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 4744 006dea: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 4745 006df0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 4746 006df6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 4747 006dfe: 1230 |0067: const/4 v0, #int 3 // #3 4748 006e00: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 4749 006e08: 0c00 |006c: move-result-object v0 4750 006e0a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 4751 006e12: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 4752 006e18: 0c00 |0074: move-result-object v0 4753 006e1a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 4754 006e20: 0c01 |0078: move-result-object v1 4755 006e22: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 4756 006e28: 0c00 |007c: move-result-object v0 4757 006e2a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 4758 006e2e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 4759 006e34: 0c00 |0082: move-result-object v0 4760 006e36: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 4761 006e3c: 1101 |0086: return-object v1 4762 catches : (none) 4763 positions : 4764 0x0000 line=166 4765 0x003c line=168 4766 0x0058 line=171 4767 0x005b line=172 4768 0x0060 line=173 4769 0x0063 line=176 4770 0x0067 line=178 4771 0x006d line=179 4772 0x0071 line=181 4773 0x0075 line=182 4774 0x007d line=183 4775 locals : 4776 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 4777 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 4778 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 4779 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 4780 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 4781 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 4782 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 4783 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 4784 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 4785 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 4786 4787 #7 : (in Linvokecustom/InvokeCustom7;) 4788 name : 'checkFieldTest9' 4789 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 4790 access : 0x0002 (PRIVATE) 4791 code - 4792 registers : 9 4793 ins : 3 4794 outs : 3 4795 insns size : 82 16-bit code units 4796 006e40: |[006e40] invokecustom.InvokeCustom7.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 4797 006e50: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 4798 006e56: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 4799 006e5e: 0a00 |0007: move-result v0 4800 006e60: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 4801 006e68: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 4802 006e70: 0a01 |0010: move-result v1 4803 006e72: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4804 006e76: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4805 006e7a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4806 006e80: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 4807 006e84: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4808 006e8a: 0c03 |001d: move-result-object v3 4809 006e8c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 4810 006e92: 0c00 |0021: move-result-object v0 4811 006e94: 1a03 0600 |0022: const-string v3, " new " // string@0006 4812 006e98: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4813 006e9e: 0c00 |0027: move-result-object v0 4814 006ea0: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 4815 006ea6: 0c00 |002b: move-result-object v0 4816 006ea8: 1a03 0500 |002c: const-string v3, " expected " // string@0005 4817 006eac: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4818 006eb2: 0c00 |0031: move-result-object v0 4819 006eb4: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 4820 006eba: 0c00 |0035: move-result-object v0 4821 006ebc: 1a03 0000 |0036: const-string v3, " " // string@0000 4822 006ec0: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4823 006ec6: 0c00 |003b: move-result-object v0 4824 006ec8: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4825 006ece: 0c00 |003f: move-result-object v0 4826 006ed0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 4827 006ed6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4828 006eda: 2d00 0105 |0045: cmpl-float v0, v1, v5 4829 006ede: 3900 0800 |0047: if-nez v0, 004f // +0008 4830 006ee2: 1a00 4000 |0049: const-string v0, "OK" // string@0040 4831 006ee6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4832 006eec: 0e00 |004e: return-void 4833 006eee: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 4834 006ef2: 28fa |0051: goto 004b // -0006 4835 catches : (none) 4836 positions : 4837 0x0003 line=116 4838 0x0008 line=117 4839 0x000c line=118 4840 0x0011 line=119 4841 0x0043 line=121 4842 0x004e line=122 4843 0x004f line=121 4844 locals : 4845 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom7; 4846 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 4847 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 4848 4849 #8 : (in Linvokecustom/InvokeCustom7;) 4850 name : 'checkStaticFieldTest9' 4851 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 4852 access : 0x000a (PRIVATE STATIC) 4853 code - 4854 registers : 8 4855 ins : 2 4856 outs : 2 4857 insns size : 80 16-bit code units 4858 006ef4: |[006ef4] invokecustom.InvokeCustom7.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 4859 006f04: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 4860 006f0a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 4861 006f12: 0a00 |0007: move-result v0 4862 006f14: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 4863 006f1c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 4864 006f24: 0a01 |0010: move-result v1 4865 006f26: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4866 006f2a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 4867 006f2e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 4868 006f34: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 4869 006f38: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4870 006f3e: 0c03 |001d: move-result-object v3 4871 006f40: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4872 006f46: 0c00 |0021: move-result-object v0 4873 006f48: 1a03 0600 |0022: const-string v3, " new " // string@0006 4874 006f4c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4875 006f52: 0c00 |0027: move-result-object v0 4876 006f54: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4877 006f5a: 0c00 |002b: move-result-object v0 4878 006f5c: 1a03 0500 |002c: const-string v3, " expected " // string@0005 4879 006f60: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4880 006f66: 0c00 |0031: move-result-object v0 4881 006f68: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 4882 006f6e: 0c00 |0035: move-result-object v0 4883 006f70: 1a03 0000 |0036: const-string v3, " " // string@0000 4884 006f74: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 4885 006f7a: 0c00 |003b: move-result-object v0 4886 006f7c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 4887 006f82: 0c00 |003f: move-result-object v0 4888 006f84: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 4889 006f8a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4890 006f8e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 4891 006f92: 1a00 4000 |0047: const-string v0, "OK" // string@0040 4892 006f96: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4893 006f9c: 0e00 |004c: return-void 4894 006f9e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 4895 006fa2: 28fa |004f: goto 0049 // -0006 4896 catches : (none) 4897 positions : 4898 0x0003 line=103 4899 0x0008 line=104 4900 0x000c line=105 4901 0x0011 line=106 4902 0x0043 line=108 4903 0x004c line=109 4904 0x004d line=108 4905 locals : 4906 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 4907 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 4908 4909 #9 : (in Linvokecustom/InvokeCustom7;) 4910 name : 'targetMethodTest1' 4911 type : '()V' 4912 access : 0x000a (PRIVATE STATIC) 4913 code - 4914 registers : 2 4915 ins : 0 4916 outs : 2 4917 insns size : 8 16-bit code units 4918 006fa4: |[006fa4] invokecustom.InvokeCustom7.targetMethodTest1:()V 4919 006fb4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4920 006fb8: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 4921 006fbc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4922 006fc2: 0e00 |0007: return-void 4923 catches : (none) 4924 positions : 4925 0x0000 line=41 4926 0x0007 line=42 4927 locals : 4928 4929 #10 : (in Linvokecustom/InvokeCustom7;) 4930 name : 'targetMethodTest2' 4931 type : '(ZBCSIFJDLjava/lang/String;)V' 4932 access : 0x000a (PRIVATE STATIC) 4933 code - 4934 registers : 13 4935 ins : 11 4936 outs : 3 4937 insns size : 46 16-bit code units 4938 006fc4: |[006fc4] invokecustom.InvokeCustom7.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 4939 006fd4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4940 006fd8: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 4941 006fde: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4942 006fe2: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 4943 006fe8: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4944 006fec: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 4945 006ff2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4946 006ff6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 4947 006ffc: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4948 007000: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 4949 007006: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4950 00700a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 4951 007010: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4952 007014: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 4953 00701a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4954 00701e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 4955 007024: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4956 007028: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4957 00702e: 0e00 |002d: return-void 4958 catches : (none) 4959 positions : 4960 0x0000 line=46 4961 0x0005 line=47 4962 0x000a line=48 4963 0x000f line=49 4964 0x0014 line=50 4965 0x0019 line=51 4966 0x001e line=52 4967 0x0023 line=53 4968 0x0028 line=54 4969 0x002d line=55 4970 locals : 4971 0x0000 - 0x002e reg=2 (null) Z 4972 0x0000 - 0x002e reg=3 (null) B 4973 0x0000 - 0x002e reg=4 (null) C 4974 0x0000 - 0x002e reg=5 (null) S 4975 0x0000 - 0x002e reg=6 (null) I 4976 0x0000 - 0x002e reg=7 (null) F 4977 0x0000 - 0x002e reg=8 (null) J 4978 0x0000 - 0x002e reg=10 (null) D 4979 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 4980 4981 #11 : (in Linvokecustom/InvokeCustom7;) 4982 name : 'targetMethodTest3' 4983 type : '()V' 4984 access : 0x000a (PRIVATE STATIC) 4985 code - 4986 registers : 2 4987 ins : 0 4988 outs : 2 4989 insns size : 8 16-bit code units 4990 007030: |[007030] invokecustom.InvokeCustom7.targetMethodTest3:()V 4991 007040: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 4992 007044: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 4993 007048: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 4994 00704e: 0e00 |0007: return-void 4995 catches : (none) 4996 positions : 4997 0x0000 line=58 4998 0x0007 line=59 4999 locals : 5000 5001 #12 : (in Linvokecustom/InvokeCustom7;) 5002 name : 'targetMethodTest5' 5003 type : '(III)I' 5004 access : 0x0009 (PUBLIC STATIC) 5005 code - 5006 registers : 7 5007 ins : 3 5008 outs : 2 5009 insns size : 83 16-bit code units 5010 007050: |[007050] invokecustom.InvokeCustom7.targetMethodTest5:(III)I 5011 007060: 9000 0405 |0000: add-int v0, v4, v5 5012 007064: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5013 007068: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 5014 00706c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5015 007072: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 5016 007076: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5017 00707c: 0c02 |000e: move-result-object v2 5018 00707e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5019 007084: 0c02 |0012: move-result-object v2 5020 007086: 1a03 0300 |0013: const-string v3, " + " // string@0003 5021 00708a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5022 007090: 0c02 |0018: move-result-object v2 5023 007092: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5024 007098: 0c02 |001c: move-result-object v2 5025 00709a: 1a03 0400 |001d: const-string v3, " = " // string@0004 5026 00709e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5027 0070a4: 0c02 |0022: move-result-object v2 5028 0070a6: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5029 0070ac: 0c02 |0026: move-result-object v2 5030 0070ae: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5031 0070b4: 0c02 |002a: move-result-object v2 5032 0070b6: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5033 0070bc: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 5034 0070c0: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5035 0070c4: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 5036 0070c8: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5037 0070ce: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 5038 0070d2: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5039 0070d8: 0c02 |003c: move-result-object v2 5040 0070da: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5041 0070e0: 0c02 |0040: move-result-object v2 5042 0070e2: 1a03 0100 |0041: const-string v3, " != " // string@0001 5043 0070e6: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5044 0070ec: 0c02 |0046: move-result-object v2 5045 0070ee: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5046 0070f4: 0c02 |004a: move-result-object v2 5047 0070f6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5048 0070fc: 0c02 |004e: move-result-object v2 5049 0070fe: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5050 007104: 0f00 |0052: return v0 5051 catches : (none) 5052 positions : 5053 0x0000 line=68 5054 0x0002 line=69 5055 0x002e line=70 5056 0x0030 line=71 5057 0x0052 line=73 5058 locals : 5059 0x0000 - 0x0053 reg=4 (null) I 5060 0x0000 - 0x0053 reg=5 (null) I 5061 0x0000 - 0x0053 reg=6 (null) I 5062 5063 #13 : (in Linvokecustom/InvokeCustom7;) 5064 name : 'targetMethodTest6' 5065 type : '(JJJ)J' 5066 access : 0x0009 (PUBLIC STATIC) 5067 code - 5068 registers : 12 5069 ins : 6 5070 outs : 3 5071 insns size : 85 16-bit code units 5072 007108: |[007108] invokecustom.InvokeCustom7.targetMethodTest6:(JJJ)J 5073 007118: 9b00 0608 |0000: add-long v0, v6, v8 5074 00711c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5075 007120: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5076 007124: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5077 00712a: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 5078 00712e: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5079 007134: 0c03 |000e: move-result-object v3 5080 007136: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5081 00713c: 0c03 |0012: move-result-object v3 5082 00713e: 1a04 0300 |0013: const-string v4, " + " // string@0003 5083 007142: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5084 007148: 0c03 |0018: move-result-object v3 5085 00714a: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5086 007150: 0c03 |001c: move-result-object v3 5087 007152: 1a04 0400 |001d: const-string v4, " = " // string@0004 5088 007156: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5089 00715c: 0c03 |0022: move-result-object v3 5090 00715e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5091 007164: 0c03 |0026: move-result-object v3 5092 007166: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5093 00716c: 0c03 |002a: move-result-object v3 5094 00716e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5095 007174: 3102 000a |002e: cmp-long v2, v0, v10 5096 007178: 3802 2400 |0030: if-eqz v2, 0054 // +0024 5097 00717c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5098 007180: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5099 007184: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5100 00718a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 5101 00718e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5102 007194: 0c03 |003e: move-result-object v3 5103 007196: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5104 00719c: 0c03 |0042: move-result-object v3 5105 00719e: 1a04 0100 |0043: const-string v4, " != " // string@0001 5106 0071a2: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5107 0071a8: 0c03 |0048: move-result-object v3 5108 0071aa: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5109 0071b0: 0c03 |004c: move-result-object v3 5110 0071b2: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5111 0071b8: 0c03 |0050: move-result-object v3 5112 0071ba: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5113 0071c0: 1000 |0054: return-wide v0 5114 catches : (none) 5115 positions : 5116 0x0000 line=77 5117 0x0002 line=78 5118 0x002e line=79 5119 0x0032 line=80 5120 0x0054 line=82 5121 locals : 5122 0x0000 - 0x0055 reg=6 (null) J 5123 0x0000 - 0x0055 reg=8 (null) J 5124 0x0000 - 0x0055 reg=10 (null) J 5125 5126 #14 : (in Linvokecustom/InvokeCustom7;) 5127 name : 'targetMethodTest7' 5128 type : '(FFD)D' 5129 access : 0x0009 (PUBLIC STATIC) 5130 code - 5131 registers : 10 5132 ins : 4 5133 outs : 3 5134 insns size : 86 16-bit code units 5135 0071c4: |[0071c4] invokecustom.InvokeCustom7.targetMethodTest7:(FFD)D 5136 0071d4: a800 0607 |0000: mul-float v0, v6, v7 5137 0071d8: 8900 |0002: float-to-double v0, v0 5138 0071da: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5139 0071de: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5140 0071e2: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5141 0071e8: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 5142 0071ec: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5143 0071f2: 0c03 |000f: move-result-object v3 5144 0071f4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 5145 0071fa: 0c03 |0013: move-result-object v3 5146 0071fc: 1a04 0200 |0014: const-string v4, " * " // string@0002 5147 007200: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5148 007206: 0c03 |0019: move-result-object v3 5149 007208: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 5150 00720e: 0c03 |001d: move-result-object v3 5151 007210: 1a04 0400 |001e: const-string v4, " = " // string@0004 5152 007214: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5153 00721a: 0c03 |0023: move-result-object v3 5154 00721c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 5155 007222: 0c03 |0027: move-result-object v3 5156 007224: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5157 00722a: 0c03 |002b: move-result-object v3 5158 00722c: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5159 007232: 2f02 0008 |002f: cmpl-double v2, v0, v8 5160 007236: 3802 2400 |0031: if-eqz v2, 0055 // +0024 5161 00723a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5162 00723e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5163 007242: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5164 007248: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 5165 00724c: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5166 007252: 0c03 |003f: move-result-object v3 5167 007254: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 5168 00725a: 0c03 |0043: move-result-object v3 5169 00725c: 1a04 0100 |0044: const-string v4, " != " // string@0001 5170 007260: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5171 007266: 0c03 |0049: move-result-object v3 5172 007268: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 5173 00726e: 0c03 |004d: move-result-object v3 5174 007270: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5175 007276: 0c03 |0051: move-result-object v3 5176 007278: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5177 00727e: 1000 |0055: return-wide v0 5178 catches : (none) 5179 positions : 5180 0x0000 line=86 5181 0x0003 line=87 5182 0x002f line=88 5183 0x0033 line=89 5184 0x0055 line=91 5185 locals : 5186 0x0000 - 0x0056 reg=6 (null) F 5187 0x0000 - 0x0056 reg=7 (null) F 5188 0x0000 - 0x0056 reg=8 (null) D 5189 5190 #15 : (in Linvokecustom/InvokeCustom7;) 5191 name : 'targetMethodTest8' 5192 type : '(Ljava/lang/String;)V' 5193 access : 0x0009 (PUBLIC STATIC) 5194 code - 5195 registers : 4 5196 ins : 1 5197 outs : 2 5198 insns size : 25 16-bit code units 5199 007280: |[007280] invokecustom.InvokeCustom7.targetMethodTest8:(Ljava/lang/String;)V 5200 007290: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5201 007294: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5202 007298: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5203 00729e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 5204 0072a2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5205 0072a8: 0c01 |000c: move-result-object v1 5206 0072aa: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5207 0072b0: 0c01 |0010: move-result-object v1 5208 0072b2: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5209 0072b8: 0c01 |0014: move-result-object v1 5210 0072ba: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5211 0072c0: 0e00 |0018: return-void 5212 catches : (none) 5213 positions : 5214 0x0000 line=95 5215 0x0018 line=96 5216 locals : 5217 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 5218 5219 #16 : (in Linvokecustom/InvokeCustom7;) 5220 name : 'targetMethodTest9' 5221 type : '()V' 5222 access : 0x000a (PRIVATE STATIC) 5223 code - 5224 registers : 2 5225 ins : 0 5226 outs : 2 5227 insns size : 8 16-bit code units 5228 0072c4: |[0072c4] invokecustom.InvokeCustom7.targetMethodTest9:()V 5229 0072d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5230 0072d8: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 5231 0072dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5232 0072e2: 0e00 |0007: return-void 5233 catches : (none) 5234 positions : 5235 0x0000 line=129 5236 0x0007 line=130 5237 locals : 5238 5239 #17 : (in Linvokecustom/InvokeCustom7;) 5240 name : 'test7' 5241 type : '()V' 5242 access : 0x0009 (PUBLIC STATIC) 5243 code - 5244 registers : 5 5245 ins : 0 5246 outs : 4 5247 insns size : 40 16-bit code units 5248 0072e4: |[0072e4] invokecustom.InvokeCustom7.test7:()V 5249 0072f4: 1400 0040 003f |0000: const v0, #float 0.500977 // #3f004000 5250 0072fa: 1401 0040 00bf |0003: const v1, #float -0.500977 // #bf004000 5251 007300: 1802 0000 0000 0410 d0bf |0006: const-wide v2, #double -0.250978 // #bfd0100400000000 5252 00730a: fc40 0500 1032 |000b: invoke-custom {v0, v1, v2, v3}, call_site@0005 5253 007310: 0b00 |000e: move-result-wide v0 5254 007312: 6202 1000 |000f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5255 007316: 2203 1700 |0011: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5256 00731a: 7010 b400 0300 |0013: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5257 007320: 1a04 7c00 |0016: const-string v4, "targetMethodTest6 returned: " // string@007c 5258 007324: 6e20 ba00 4300 |0018: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5259 00732a: 0c03 |001b: move-result-object v3 5260 00732c: 6e30 b500 0301 |001c: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 5261 007332: 0c00 |001f: move-result-object v0 5262 007334: 6e10 bb00 0000 |0020: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5263 00733a: 0c00 |0023: move-result-object v0 5264 00733c: 6e20 b100 0200 |0024: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5265 007342: 0e00 |0027: return-void 5266 catches : (none) 5267 positions : 5268 locals : 5269 5270 Virtual methods - 5271 #0 : (in Linvokecustom/InvokeCustom7;) 5272 name : 'helperMethodTest9' 5273 type : '()V' 5274 access : 0x0001 (PUBLIC) 5275 code - 5276 registers : 4 5277 ins : 1 5278 outs : 2 5279 insns size : 27 16-bit code units 5280 007344: |[007344] invokecustom.InvokeCustom7.helperMethodTest9:()V 5281 007354: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5282 007358: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5283 00735c: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5284 007362: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 5285 007366: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5286 00736c: 0c01 |000c: move-result-object v1 5287 00736e: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 5288 007372: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5289 007378: 0c01 |0012: move-result-object v1 5290 00737a: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5291 007380: 0c01 |0016: move-result-object v1 5292 007382: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5293 007388: 0e00 |001a: return-void 5294 catches : (none) 5295 positions : 5296 0x0000 line=125 5297 0x001a line=126 5298 locals : 5299 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom7; 5300 5301 #1 : (in Linvokecustom/InvokeCustom7;) 5302 name : 'run' 5303 type : '()V' 5304 access : 0x0001 (PUBLIC) 5305 code - 5306 registers : 3 5307 ins : 1 5308 outs : 2 5309 insns size : 8 16-bit code units 5310 00738c: |[00738c] invokecustom.InvokeCustom7.run:()V 5311 00739c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5312 0073a0: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 5313 0073a4: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5314 0073aa: 0e00 |0007: return-void 5315 catches : (none) 5316 positions : 5317 0x0000 line=133 5318 0x0007 line=134 5319 locals : 5320 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom7; 5321 5322 #2 : (in Linvokecustom/InvokeCustom7;) 5323 name : 'targetMethodTest4' 5324 type : '()V' 5325 access : 0x0001 (PUBLIC) 5326 code - 5327 registers : 3 5328 ins : 1 5329 outs : 2 5330 insns size : 8 16-bit code units 5331 0073ac: |[0073ac] invokecustom.InvokeCustom7.targetMethodTest4:()V 5332 0073bc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5333 0073c0: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 5334 0073c4: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5335 0073ca: 0e00 |0007: return-void 5336 catches : (none) 5337 positions : 5338 0x0000 line=64 5339 0x0007 line=65 5340 locals : 5341 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom7; 5342 5343 source_file_idx : 25 (InvokeCustom.java) 5344 5345 Class #7 - 5346 Class descriptor : 'Linvokecustom/InvokeCustom8;' 5347 Access flags : 0x0001 (PUBLIC) 5348 Superclass : 'Linvokecustom/Super;' 5349 Interfaces - 5350 #0 : 'Ljava/lang/Runnable;' 5351 Static fields - 5352 #0 : (in Linvokecustom/InvokeCustom8;) 5353 name : 'staticFieldTest9' 5354 type : 'I' 5355 access : 0x000a (PRIVATE STATIC) 5356 Instance fields - 5357 #0 : (in Linvokecustom/InvokeCustom8;) 5358 name : 'fieldTest9' 5359 type : 'F' 5360 access : 0x0002 (PRIVATE) 5361 Direct methods - 5362 #0 : (in Linvokecustom/InvokeCustom8;) 5363 name : '<clinit>' 5364 type : '()V' 5365 access : 0x10008 (STATIC CONSTRUCTOR) 5366 code - 5367 registers : 1 5368 ins : 0 5369 outs : 0 5370 insns size : 4 16-bit code units 5371 0073cc: |[0073cc] invokecustom.InvokeCustom8.<clinit>:()V 5372 0073dc: 1200 |0000: const/4 v0, #int 0 // #0 5373 0073de: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 5374 0073e2: 0e00 |0003: return-void 5375 catches : (none) 5376 positions : 5377 0x0000 line=98 5378 locals : 5379 5380 #1 : (in Linvokecustom/InvokeCustom8;) 5381 name : '<init>' 5382 type : '()V' 5383 access : 0x10001 (PUBLIC CONSTRUCTOR) 5384 code - 5385 registers : 2 5386 ins : 1 5387 outs : 1 5388 insns size : 7 16-bit code units 5389 0073e4: |[0073e4] invokecustom.InvokeCustom8.<init>:()V 5390 0073f4: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 5391 0073fa: 1200 |0003: const/4 v0, #int 0 // #0 5392 0073fc: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 5393 007400: 0e00 |0006: return-void 5394 catches : (none) 5395 positions : 5396 0x0000 line=35 5397 0x0003 line=111 5398 0x0006 line=35 5399 locals : 5400 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom8; 5401 5402 #2 : (in Linvokecustom/InvokeCustom8;) 5403 name : '<init>' 5404 type : '(I)V' 5405 access : 0x10001 (PUBLIC CONSTRUCTOR) 5406 code - 5407 registers : 5 5408 ins : 2 5409 outs : 2 5410 insns size : 37 16-bit code units 5411 007404: |[007404] invokecustom.InvokeCustom8.<init>:(I)V 5412 007414: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 5413 00741a: 1200 |0003: const/4 v0, #int 0 // #0 5414 00741c: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 5415 007420: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5416 007424: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5417 007428: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5418 00742e: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 5419 007432: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5420 007438: 0c01 |0012: move-result-object v1 5421 00743a: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5422 007440: 0c01 |0016: move-result-object v1 5423 007442: 1a02 0700 |0017: const-string v2, ")" // string@0007 5424 007446: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5425 00744c: 0c01 |001c: move-result-object v1 5426 00744e: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5427 007454: 0c01 |0020: move-result-object v1 5428 007456: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5429 00745c: 0e00 |0024: return-void 5430 catches : (none) 5431 positions : 5432 0x0000 line=36 5433 0x0003 line=111 5434 0x0006 line=37 5435 0x0024 line=38 5436 locals : 5437 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom8; 5438 0x0000 - 0x0025 reg=4 (null) I 5439 5440 #3 : (in Linvokecustom/InvokeCustom8;) 5441 name : 'bsmCreateCallSite' 5442 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 5443 access : 0x0009 (PUBLIC STATIC) 5444 code - 5445 registers : 7 5446 ins : 4 5447 outs : 2 5448 insns size : 36 16-bit code units 5449 007460: |[007460] invokecustom.InvokeCustom8.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 5450 007470: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5451 007474: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5452 007478: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5453 00747e: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 5454 007482: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5455 007488: 0c01 |000c: move-result-object v1 5456 00748a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5457 007490: 0c01 |0010: move-result-object v1 5458 007492: 1a02 5200 |0011: const-string v2, "]" // string@0052 5459 007496: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5460 00749c: 0c01 |0016: move-result-object v1 5461 00749e: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5462 0074a4: 0c01 |001a: move-result-object v1 5463 0074a6: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5464 0074ac: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 5465 0074b0: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 5466 0074b6: 1100 |0023: return-object v0 5467 catches : (none) 5468 positions : 5469 0x0000 line=156 5470 0x001e line=157 5471 locals : 5472 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 5473 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 5474 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 5475 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 5476 5477 #4 : (in Linvokecustom/InvokeCustom8;) 5478 name : 'bsmLookupStatic' 5479 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 5480 access : 0x0009 (PUBLIC STATIC) 5481 code - 5482 registers : 5 5483 ins : 3 5484 outs : 4 5485 insns size : 29 16-bit code units 5486 0074b8: |[0074b8] invokecustom.InvokeCustom8.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5487 0074c8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5488 0074cc: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 5489 0074d0: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5490 0074d6: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 5491 0074dc: 0c00 |000a: move-result-object v0 5492 0074de: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 5493 0074e4: 0c01 |000e: move-result-object v1 5494 0074e6: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 5495 0074ec: 0c00 |0012: move-result-object v0 5496 0074ee: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 5497 0074f2: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 5498 0074f8: 0c00 |0018: move-result-object v0 5499 0074fa: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 5500 007500: 1101 |001c: return-object v1 5501 catches : (none) 5502 positions : 5503 0x0000 line=138 5504 0x0007 line=139 5505 0x000b line=140 5506 0x0013 line=141 5507 locals : 5508 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 5509 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 5510 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 5511 5512 #5 : (in Linvokecustom/InvokeCustom8;) 5513 name : 'bsmLookupStaticWithExtraArgs' 5514 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 5515 access : 0x0009 (PUBLIC STATIC) 5516 code - 5517 registers : 12 5518 ins : 9 5519 outs : 4 5520 insns size : 82 16-bit code units 5521 007504: |[007504] invokecustom.InvokeCustom8.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 5522 007514: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5523 007518: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5524 00751c: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5525 007522: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 5526 007526: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5527 00752c: 0c01 |000c: move-result-object v1 5528 00752e: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5529 007534: 0c01 |0010: move-result-object v1 5530 007536: 1a02 0800 |0011: const-string v2, ", " // string@0008 5531 00753a: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5532 007540: 0c01 |0016: move-result-object v1 5533 007542: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5534 007548: 0c01 |001a: move-result-object v1 5535 00754a: 1a02 0800 |001b: const-string v2, ", " // string@0008 5536 00754e: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5537 007554: 0c01 |0020: move-result-object v1 5538 007556: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 5539 00755c: 0c01 |0024: move-result-object v1 5540 00755e: 1a02 0800 |0025: const-string v2, ", " // string@0008 5541 007562: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5542 007568: 0c01 |002a: move-result-object v1 5543 00756a: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 5544 007570: 0c01 |002e: move-result-object v1 5545 007572: 1a02 5200 |002f: const-string v2, "]" // string@0052 5546 007576: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5547 00757c: 0c01 |0034: move-result-object v1 5548 00757e: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5549 007584: 0c01 |0038: move-result-object v1 5550 007586: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5551 00758c: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 5552 007592: 0c00 |003f: move-result-object v0 5553 007594: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 5554 00759a: 0c01 |0043: move-result-object v1 5555 00759c: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 5556 0075a2: 0c00 |0047: move-result-object v0 5557 0075a4: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 5558 0075a8: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 5559 0075ae: 0c00 |004d: move-result-object v0 5560 0075b0: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 5561 0075b6: 1101 |0051: return-object v1 5562 catches : (none) 5563 positions : 5564 0x0000 line=147 5565 0x003c line=148 5566 0x0040 line=149 5567 0x0048 line=150 5568 locals : 5569 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 5570 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 5571 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 5572 0x0000 - 0x0052 reg=6 (null) I 5573 0x0000 - 0x0052 reg=7 (null) J 5574 0x0000 - 0x0052 reg=9 (null) F 5575 0x0000 - 0x0052 reg=10 (null) D 5576 5577 #6 : (in Linvokecustom/InvokeCustom8;) 5578 name : 'bsmLookupTest9' 5579 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 5580 access : 0x0009 (PUBLIC STATIC) 5581 code - 5582 registers : 13 5583 ins : 10 5584 outs : 4 5585 insns size : 135 16-bit code units 5586 0075b8: |[0075b8] invokecustom.InvokeCustom8.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 5587 0075c8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5588 0075cc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5589 0075d0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5590 0075d6: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 5591 0075da: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5592 0075e0: 0c01 |000c: move-result-object v1 5593 0075e2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5594 0075e8: 0c01 |0010: move-result-object v1 5595 0075ea: 1a02 0800 |0011: const-string v2, ", " // string@0008 5596 0075ee: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5597 0075f4: 0c01 |0016: move-result-object v1 5598 0075f6: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5599 0075fc: 0c01 |001a: move-result-object v1 5600 0075fe: 1a02 0800 |001b: const-string v2, ", " // string@0008 5601 007602: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5602 007608: 0c01 |0020: move-result-object v1 5603 00760a: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5604 007610: 0c01 |0024: move-result-object v1 5605 007612: 1a02 0800 |0025: const-string v2, ", " // string@0008 5606 007616: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5607 00761c: 0c01 |002a: move-result-object v1 5608 00761e: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5609 007624: 0c01 |002e: move-result-object v1 5610 007626: 1a02 5200 |002f: const-string v2, "]" // string@0052 5611 00762a: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5612 007630: 0c01 |0034: move-result-object v1 5613 007632: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5614 007638: 0c01 |0038: move-result-object v1 5615 00763a: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5616 007640: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5617 007644: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 5618 007648: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5619 00764e: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5620 007654: 0c01 |0046: move-result-object v1 5621 007656: 1a02 0000 |0047: const-string v2, " " // string@0000 5622 00765a: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5623 007660: 0c01 |004c: move-result-object v1 5624 007662: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 5625 007668: 0c01 |0050: move-result-object v1 5626 00766a: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5627 007670: 0c01 |0054: move-result-object v1 5628 007672: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5629 007678: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 5630 00767e: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 5631 007682: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 5632 007688: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 5633 00768e: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 5634 007696: 1230 |0067: const/4 v0, #int 3 // #3 5635 007698: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 5636 0076a0: 0c00 |006c: move-result-object v0 5637 0076a2: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 5638 0076aa: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 5639 0076b0: 0c00 |0074: move-result-object v0 5640 0076b2: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 5641 0076b8: 0c01 |0078: move-result-object v1 5642 0076ba: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 5643 0076c0: 0c00 |007c: move-result-object v0 5644 0076c2: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 5645 0076c6: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 5646 0076cc: 0c00 |0082: move-result-object v0 5647 0076ce: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 5648 0076d4: 1101 |0086: return-object v1 5649 catches : (none) 5650 positions : 5651 0x0000 line=166 5652 0x003c line=168 5653 0x0058 line=171 5654 0x005b line=172 5655 0x0060 line=173 5656 0x0063 line=176 5657 0x0067 line=178 5658 0x006d line=179 5659 0x0071 line=181 5660 0x0075 line=182 5661 0x007d line=183 5662 locals : 5663 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 5664 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 5665 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 5666 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 5667 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 5668 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 5669 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 5670 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 5671 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 5672 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 5673 5674 #7 : (in Linvokecustom/InvokeCustom8;) 5675 name : 'checkFieldTest9' 5676 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 5677 access : 0x0002 (PRIVATE) 5678 code - 5679 registers : 9 5680 ins : 3 5681 outs : 3 5682 insns size : 82 16-bit code units 5683 0076d8: |[0076d8] invokecustom.InvokeCustom8.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 5684 0076e8: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 5685 0076ee: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 5686 0076f6: 0a00 |0007: move-result v0 5687 0076f8: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 5688 007700: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 5689 007708: 0a01 |0010: move-result v1 5690 00770a: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5691 00770e: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5692 007712: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5693 007718: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 5694 00771c: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5695 007722: 0c03 |001d: move-result-object v3 5696 007724: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 5697 00772a: 0c00 |0021: move-result-object v0 5698 00772c: 1a03 0600 |0022: const-string v3, " new " // string@0006 5699 007730: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5700 007736: 0c00 |0027: move-result-object v0 5701 007738: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 5702 00773e: 0c00 |002b: move-result-object v0 5703 007740: 1a03 0500 |002c: const-string v3, " expected " // string@0005 5704 007744: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5705 00774a: 0c00 |0031: move-result-object v0 5706 00774c: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 5707 007752: 0c00 |0035: move-result-object v0 5708 007754: 1a03 0000 |0036: const-string v3, " " // string@0000 5709 007758: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5710 00775e: 0c00 |003b: move-result-object v0 5711 007760: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5712 007766: 0c00 |003f: move-result-object v0 5713 007768: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 5714 00776e: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5715 007772: 2d00 0105 |0045: cmpl-float v0, v1, v5 5716 007776: 3900 0800 |0047: if-nez v0, 004f // +0008 5717 00777a: 1a00 4000 |0049: const-string v0, "OK" // string@0040 5718 00777e: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5719 007784: 0e00 |004e: return-void 5720 007786: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 5721 00778a: 28fa |0051: goto 004b // -0006 5722 catches : (none) 5723 positions : 5724 0x0003 line=116 5725 0x0008 line=117 5726 0x000c line=118 5727 0x0011 line=119 5728 0x0043 line=121 5729 0x004e line=122 5730 0x004f line=121 5731 locals : 5732 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom8; 5733 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 5734 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 5735 5736 #8 : (in Linvokecustom/InvokeCustom8;) 5737 name : 'checkStaticFieldTest9' 5738 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 5739 access : 0x000a (PRIVATE STATIC) 5740 code - 5741 registers : 8 5742 ins : 2 5743 outs : 2 5744 insns size : 80 16-bit code units 5745 00778c: |[00778c] invokecustom.InvokeCustom8.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 5746 00779c: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 5747 0077a2: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 5748 0077aa: 0a00 |0007: move-result v0 5749 0077ac: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 5750 0077b4: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 5751 0077bc: 0a01 |0010: move-result v1 5752 0077be: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5753 0077c2: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5754 0077c6: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5755 0077cc: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 5756 0077d0: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5757 0077d6: 0c03 |001d: move-result-object v3 5758 0077d8: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5759 0077de: 0c00 |0021: move-result-object v0 5760 0077e0: 1a03 0600 |0022: const-string v3, " new " // string@0006 5761 0077e4: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5762 0077ea: 0c00 |0027: move-result-object v0 5763 0077ec: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5764 0077f2: 0c00 |002b: move-result-object v0 5765 0077f4: 1a03 0500 |002c: const-string v3, " expected " // string@0005 5766 0077f8: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5767 0077fe: 0c00 |0031: move-result-object v0 5768 007800: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5769 007806: 0c00 |0035: move-result-object v0 5770 007808: 1a03 0000 |0036: const-string v3, " " // string@0000 5771 00780c: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5772 007812: 0c00 |003b: move-result-object v0 5773 007814: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5774 00781a: 0c00 |003f: move-result-object v0 5775 00781c: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 5776 007822: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5777 007826: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 5778 00782a: 1a00 4000 |0047: const-string v0, "OK" // string@0040 5779 00782e: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5780 007834: 0e00 |004c: return-void 5781 007836: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 5782 00783a: 28fa |004f: goto 0049 // -0006 5783 catches : (none) 5784 positions : 5785 0x0003 line=103 5786 0x0008 line=104 5787 0x000c line=105 5788 0x0011 line=106 5789 0x0043 line=108 5790 0x004c line=109 5791 0x004d line=108 5792 locals : 5793 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 5794 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 5795 5796 #9 : (in Linvokecustom/InvokeCustom8;) 5797 name : 'targetMethodTest1' 5798 type : '()V' 5799 access : 0x000a (PRIVATE STATIC) 5800 code - 5801 registers : 2 5802 ins : 0 5803 outs : 2 5804 insns size : 8 16-bit code units 5805 00783c: |[00783c] invokecustom.InvokeCustom8.targetMethodTest1:()V 5806 00784c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5807 007850: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 5808 007854: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5809 00785a: 0e00 |0007: return-void 5810 catches : (none) 5811 positions : 5812 0x0000 line=41 5813 0x0007 line=42 5814 locals : 5815 5816 #10 : (in Linvokecustom/InvokeCustom8;) 5817 name : 'targetMethodTest2' 5818 type : '(ZBCSIFJDLjava/lang/String;)V' 5819 access : 0x000a (PRIVATE STATIC) 5820 code - 5821 registers : 13 5822 ins : 11 5823 outs : 3 5824 insns size : 46 16-bit code units 5825 00785c: |[00785c] invokecustom.InvokeCustom8.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 5826 00786c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5827 007870: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 5828 007876: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5829 00787a: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 5830 007880: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5831 007884: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 5832 00788a: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5833 00788e: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 5834 007894: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5835 007898: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 5836 00789e: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5837 0078a2: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 5838 0078a8: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5839 0078ac: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 5840 0078b2: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5841 0078b6: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 5842 0078bc: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5843 0078c0: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5844 0078c6: 0e00 |002d: return-void 5845 catches : (none) 5846 positions : 5847 0x0000 line=46 5848 0x0005 line=47 5849 0x000a line=48 5850 0x000f line=49 5851 0x0014 line=50 5852 0x0019 line=51 5853 0x001e line=52 5854 0x0023 line=53 5855 0x0028 line=54 5856 0x002d line=55 5857 locals : 5858 0x0000 - 0x002e reg=2 (null) Z 5859 0x0000 - 0x002e reg=3 (null) B 5860 0x0000 - 0x002e reg=4 (null) C 5861 0x0000 - 0x002e reg=5 (null) S 5862 0x0000 - 0x002e reg=6 (null) I 5863 0x0000 - 0x002e reg=7 (null) F 5864 0x0000 - 0x002e reg=8 (null) J 5865 0x0000 - 0x002e reg=10 (null) D 5866 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 5867 5868 #11 : (in Linvokecustom/InvokeCustom8;) 5869 name : 'targetMethodTest3' 5870 type : '()V' 5871 access : 0x000a (PRIVATE STATIC) 5872 code - 5873 registers : 2 5874 ins : 0 5875 outs : 2 5876 insns size : 8 16-bit code units 5877 0078c8: |[0078c8] invokecustom.InvokeCustom8.targetMethodTest3:()V 5878 0078d8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5879 0078dc: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 5880 0078e0: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5881 0078e6: 0e00 |0007: return-void 5882 catches : (none) 5883 positions : 5884 0x0000 line=58 5885 0x0007 line=59 5886 locals : 5887 5888 #12 : (in Linvokecustom/InvokeCustom8;) 5889 name : 'targetMethodTest5' 5890 type : '(III)I' 5891 access : 0x0009 (PUBLIC STATIC) 5892 code - 5893 registers : 7 5894 ins : 3 5895 outs : 2 5896 insns size : 83 16-bit code units 5897 0078e8: |[0078e8] invokecustom.InvokeCustom8.targetMethodTest5:(III)I 5898 0078f8: 9000 0405 |0000: add-int v0, v4, v5 5899 0078fc: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5900 007900: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 5901 007904: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5902 00790a: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 5903 00790e: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5904 007914: 0c02 |000e: move-result-object v2 5905 007916: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5906 00791c: 0c02 |0012: move-result-object v2 5907 00791e: 1a03 0300 |0013: const-string v3, " + " // string@0003 5908 007922: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5909 007928: 0c02 |0018: move-result-object v2 5910 00792a: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5911 007930: 0c02 |001c: move-result-object v2 5912 007932: 1a03 0400 |001d: const-string v3, " = " // string@0004 5913 007936: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5914 00793c: 0c02 |0022: move-result-object v2 5915 00793e: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5916 007944: 0c02 |0026: move-result-object v2 5917 007946: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5918 00794c: 0c02 |002a: move-result-object v2 5919 00794e: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5920 007954: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 5921 007958: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5922 00795c: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 5923 007960: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5924 007966: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 5925 00796a: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5926 007970: 0c02 |003c: move-result-object v2 5927 007972: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5928 007978: 0c02 |0040: move-result-object v2 5929 00797a: 1a03 0100 |0041: const-string v3, " != " // string@0001 5930 00797e: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5931 007984: 0c02 |0046: move-result-object v2 5932 007986: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 5933 00798c: 0c02 |004a: move-result-object v2 5934 00798e: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5935 007994: 0c02 |004e: move-result-object v2 5936 007996: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5937 00799c: 0f00 |0052: return v0 5938 catches : (none) 5939 positions : 5940 0x0000 line=68 5941 0x0002 line=69 5942 0x002e line=70 5943 0x0030 line=71 5944 0x0052 line=73 5945 locals : 5946 0x0000 - 0x0053 reg=4 (null) I 5947 0x0000 - 0x0053 reg=5 (null) I 5948 0x0000 - 0x0053 reg=6 (null) I 5949 5950 #13 : (in Linvokecustom/InvokeCustom8;) 5951 name : 'targetMethodTest6' 5952 type : '(JJJ)J' 5953 access : 0x0009 (PUBLIC STATIC) 5954 code - 5955 registers : 12 5956 ins : 6 5957 outs : 3 5958 insns size : 85 16-bit code units 5959 0079a0: |[0079a0] invokecustom.InvokeCustom8.targetMethodTest6:(JJJ)J 5960 0079b0: 9b00 0608 |0000: add-long v0, v6, v8 5961 0079b4: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5962 0079b8: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5963 0079bc: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5964 0079c2: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 5965 0079c6: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5966 0079cc: 0c03 |000e: move-result-object v3 5967 0079ce: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5968 0079d4: 0c03 |0012: move-result-object v3 5969 0079d6: 1a04 0300 |0013: const-string v4, " + " // string@0003 5970 0079da: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5971 0079e0: 0c03 |0018: move-result-object v3 5972 0079e2: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5973 0079e8: 0c03 |001c: move-result-object v3 5974 0079ea: 1a04 0400 |001d: const-string v4, " = " // string@0004 5975 0079ee: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5976 0079f4: 0c03 |0022: move-result-object v3 5977 0079f6: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5978 0079fc: 0c03 |0026: move-result-object v3 5979 0079fe: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5980 007a04: 0c03 |002a: move-result-object v3 5981 007a06: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 5982 007a0c: 3102 000a |002e: cmp-long v2, v0, v10 5983 007a10: 3802 2400 |0030: if-eqz v2, 0054 // +0024 5984 007a14: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 5985 007a18: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 5986 007a1c: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 5987 007a22: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 5988 007a26: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5989 007a2c: 0c03 |003e: move-result-object v3 5990 007a2e: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5991 007a34: 0c03 |0042: move-result-object v3 5992 007a36: 1a04 0100 |0043: const-string v4, " != " // string@0001 5993 007a3a: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 5994 007a40: 0c03 |0048: move-result-object v3 5995 007a42: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 5996 007a48: 0c03 |004c: move-result-object v3 5997 007a4a: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 5998 007a50: 0c03 |0050: move-result-object v3 5999 007a52: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6000 007a58: 1000 |0054: return-wide v0 6001 catches : (none) 6002 positions : 6003 0x0000 line=77 6004 0x0002 line=78 6005 0x002e line=79 6006 0x0032 line=80 6007 0x0054 line=82 6008 locals : 6009 0x0000 - 0x0055 reg=6 (null) J 6010 0x0000 - 0x0055 reg=8 (null) J 6011 0x0000 - 0x0055 reg=10 (null) J 6012 6013 #14 : (in Linvokecustom/InvokeCustom8;) 6014 name : 'targetMethodTest7' 6015 type : '(FFD)D' 6016 access : 0x0009 (PUBLIC STATIC) 6017 code - 6018 registers : 10 6019 ins : 4 6020 outs : 3 6021 insns size : 86 16-bit code units 6022 007a5c: |[007a5c] invokecustom.InvokeCustom8.targetMethodTest7:(FFD)D 6023 007a6c: a800 0607 |0000: mul-float v0, v6, v7 6024 007a70: 8900 |0002: float-to-double v0, v0 6025 007a72: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6026 007a76: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6027 007a7a: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6028 007a80: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 6029 007a84: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6030 007a8a: 0c03 |000f: move-result-object v3 6031 007a8c: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6032 007a92: 0c03 |0013: move-result-object v3 6033 007a94: 1a04 0200 |0014: const-string v4, " * " // string@0002 6034 007a98: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6035 007a9e: 0c03 |0019: move-result-object v3 6036 007aa0: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6037 007aa6: 0c03 |001d: move-result-object v3 6038 007aa8: 1a04 0400 |001e: const-string v4, " = " // string@0004 6039 007aac: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6040 007ab2: 0c03 |0023: move-result-object v3 6041 007ab4: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6042 007aba: 0c03 |0027: move-result-object v3 6043 007abc: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6044 007ac2: 0c03 |002b: move-result-object v3 6045 007ac4: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6046 007aca: 2f02 0008 |002f: cmpl-double v2, v0, v8 6047 007ace: 3802 2400 |0031: if-eqz v2, 0055 // +0024 6048 007ad2: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6049 007ad6: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6050 007ada: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6051 007ae0: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 6052 007ae4: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6053 007aea: 0c03 |003f: move-result-object v3 6054 007aec: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6055 007af2: 0c03 |0043: move-result-object v3 6056 007af4: 1a04 0100 |0044: const-string v4, " != " // string@0001 6057 007af8: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6058 007afe: 0c03 |0049: move-result-object v3 6059 007b00: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6060 007b06: 0c03 |004d: move-result-object v3 6061 007b08: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6062 007b0e: 0c03 |0051: move-result-object v3 6063 007b10: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6064 007b16: 1000 |0055: return-wide v0 6065 catches : (none) 6066 positions : 6067 0x0000 line=86 6068 0x0003 line=87 6069 0x002f line=88 6070 0x0033 line=89 6071 0x0055 line=91 6072 locals : 6073 0x0000 - 0x0056 reg=6 (null) F 6074 0x0000 - 0x0056 reg=7 (null) F 6075 0x0000 - 0x0056 reg=8 (null) D 6076 6077 #15 : (in Linvokecustom/InvokeCustom8;) 6078 name : 'targetMethodTest8' 6079 type : '(Ljava/lang/String;)V' 6080 access : 0x0009 (PUBLIC STATIC) 6081 code - 6082 registers : 4 6083 ins : 1 6084 outs : 2 6085 insns size : 25 16-bit code units 6086 007b18: |[007b18] invokecustom.InvokeCustom8.targetMethodTest8:(Ljava/lang/String;)V 6087 007b28: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6088 007b2c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6089 007b30: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6090 007b36: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 6091 007b3a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6092 007b40: 0c01 |000c: move-result-object v1 6093 007b42: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6094 007b48: 0c01 |0010: move-result-object v1 6095 007b4a: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6096 007b50: 0c01 |0014: move-result-object v1 6097 007b52: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6098 007b58: 0e00 |0018: return-void 6099 catches : (none) 6100 positions : 6101 0x0000 line=95 6102 0x0018 line=96 6103 locals : 6104 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 6105 6106 #16 : (in Linvokecustom/InvokeCustom8;) 6107 name : 'targetMethodTest9' 6108 type : '()V' 6109 access : 0x000a (PRIVATE STATIC) 6110 code - 6111 registers : 2 6112 ins : 0 6113 outs : 2 6114 insns size : 8 16-bit code units 6115 007b5c: |[007b5c] invokecustom.InvokeCustom8.targetMethodTest9:()V 6116 007b6c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6117 007b70: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 6118 007b74: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6119 007b7a: 0e00 |0007: return-void 6120 catches : (none) 6121 positions : 6122 0x0000 line=129 6123 0x0007 line=130 6124 locals : 6125 6126 #17 : (in Linvokecustom/InvokeCustom8;) 6127 name : 'test8' 6128 type : '()V' 6129 access : 0x0009 (PUBLIC STATIC) 6130 code - 6131 registers : 1 6132 ins : 0 6133 outs : 1 6134 insns size : 16 16-bit code units 6135 007b7c: |[007b7c] invokecustom.InvokeCustom8.test8:()V 6136 007b8c: 1a00 1400 |0000: const-string v0, "First invokedynamic invocation" // string@0014 6137 007b90: fc10 0600 0000 |0002: invoke-custom {v0}, call_site@0006 6138 007b96: 1a00 4200 |0005: const-string v0, "Second invokedynamic invocation" // string@0042 6139 007b9a: fc10 0700 0000 |0007: invoke-custom {v0}, call_site@0007 6140 007ba0: 1a00 0f00 |000a: const-string v0, "Dupe first invokedynamic invocation" // string@000f 6141 007ba4: fc10 0800 0000 |000c: invoke-custom {v0}, call_site@0008 6142 007baa: 0e00 |000f: return-void 6143 catches : (none) 6144 positions : 6145 locals : 6146 6147 Virtual methods - 6148 #0 : (in Linvokecustom/InvokeCustom8;) 6149 name : 'helperMethodTest9' 6150 type : '()V' 6151 access : 0x0001 (PUBLIC) 6152 code - 6153 registers : 4 6154 ins : 1 6155 outs : 2 6156 insns size : 27 16-bit code units 6157 007bac: |[007bac] invokecustom.InvokeCustom8.helperMethodTest9:()V 6158 007bbc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6159 007bc0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6160 007bc4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6161 007bca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 6162 007bce: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6163 007bd4: 0c01 |000c: move-result-object v1 6164 007bd6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 6165 007bda: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6166 007be0: 0c01 |0012: move-result-object v1 6167 007be2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6168 007be8: 0c01 |0016: move-result-object v1 6169 007bea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6170 007bf0: 0e00 |001a: return-void 6171 catches : (none) 6172 positions : 6173 0x0000 line=125 6174 0x001a line=126 6175 locals : 6176 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom8; 6177 6178 #1 : (in Linvokecustom/InvokeCustom8;) 6179 name : 'run' 6180 type : '()V' 6181 access : 0x0001 (PUBLIC) 6182 code - 6183 registers : 3 6184 ins : 1 6185 outs : 2 6186 insns size : 8 16-bit code units 6187 007bf4: |[007bf4] invokecustom.InvokeCustom8.run:()V 6188 007c04: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6189 007c08: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 6190 007c0c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6191 007c12: 0e00 |0007: return-void 6192 catches : (none) 6193 positions : 6194 0x0000 line=133 6195 0x0007 line=134 6196 locals : 6197 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom8; 6198 6199 #2 : (in Linvokecustom/InvokeCustom8;) 6200 name : 'targetMethodTest4' 6201 type : '()V' 6202 access : 0x0001 (PUBLIC) 6203 code - 6204 registers : 3 6205 ins : 1 6206 outs : 2 6207 insns size : 8 16-bit code units 6208 007c14: |[007c14] invokecustom.InvokeCustom8.targetMethodTest4:()V 6209 007c24: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6210 007c28: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 6211 007c2c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6212 007c32: 0e00 |0007: return-void 6213 catches : (none) 6214 positions : 6215 0x0000 line=64 6216 0x0007 line=65 6217 locals : 6218 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom8; 6219 6220 source_file_idx : 25 (InvokeCustom.java) 6221 6222 Class #8 - 6223 Class descriptor : 'Linvokecustom/InvokeCustom;' 6224 Access flags : 0x0001 (PUBLIC) 6225 Superclass : 'Linvokecustom/Super;' 6226 Interfaces - 6227 #0 : 'Ljava/lang/Runnable;' 6228 Static fields - 6229 #0 : (in Linvokecustom/InvokeCustom;) 6230 name : 'staticFieldTest9' 6231 type : 'I' 6232 access : 0x000a (PRIVATE STATIC) 6233 Instance fields - 6234 #0 : (in Linvokecustom/InvokeCustom;) 6235 name : 'fieldTest9' 6236 type : 'F' 6237 access : 0x0002 (PRIVATE) 6238 Direct methods - 6239 #0 : (in Linvokecustom/InvokeCustom;) 6240 name : '<clinit>' 6241 type : '()V' 6242 access : 0x10008 (STATIC CONSTRUCTOR) 6243 code - 6244 registers : 1 6245 ins : 0 6246 outs : 0 6247 insns size : 4 16-bit code units 6248 007c34: |[007c34] invokecustom.InvokeCustom.<clinit>:()V 6249 007c44: 1200 |0000: const/4 v0, #int 0 // #0 6250 007c46: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f 6251 007c4a: 0e00 |0003: return-void 6252 catches : (none) 6253 positions : 6254 0x0000 line=98 6255 locals : 6256 6257 #1 : (in Linvokecustom/InvokeCustom;) 6258 name : '<init>' 6259 type : '()V' 6260 access : 0x10001 (PUBLIC CONSTRUCTOR) 6261 code - 6262 registers : 2 6263 ins : 1 6264 outs : 1 6265 insns size : 7 16-bit code units 6266 007c4c: |[007c4c] invokecustom.InvokeCustom.<init>:()V 6267 007c5c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8 6268 007c62: 1200 |0003: const/4 v0, #int 0 // #0 6269 007c64: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 6270 007c68: 0e00 |0006: return-void 6271 catches : (none) 6272 positions : 6273 0x0000 line=35 6274 0x0003 line=111 6275 0x0006 line=35 6276 locals : 6277 0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom; 6278 6279 #2 : (in Linvokecustom/InvokeCustom;) 6280 name : '<init>' 6281 type : '(I)V' 6282 access : 0x10001 (PUBLIC CONSTRUCTOR) 6283 code - 6284 registers : 5 6285 ins : 2 6286 outs : 2 6287 insns size : 37 16-bit code units 6288 007c6c: |[007c6c] invokecustom.InvokeCustom.<init>:(I)V 6289 007c7c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8 6290 007c82: 1200 |0003: const/4 v0, #int 0 // #0 6291 007c84: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e 6292 007c88: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6293 007c8c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6294 007c90: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6295 007c96: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018 6296 007c9a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6297 007ca0: 0c01 |0012: move-result-object v1 6298 007ca2: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6299 007ca8: 0c01 |0016: move-result-object v1 6300 007caa: 1a02 0700 |0017: const-string v2, ")" // string@0007 6301 007cae: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6302 007cb4: 0c01 |001c: move-result-object v1 6303 007cb6: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6304 007cbc: 0c01 |0020: move-result-object v1 6305 007cbe: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6306 007cc4: 0e00 |0024: return-void 6307 catches : (none) 6308 positions : 6309 0x0000 line=36 6310 0x0003 line=111 6311 0x0006 line=37 6312 0x0024 line=38 6313 locals : 6314 0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom; 6315 0x0000 - 0x0025 reg=4 (null) I 6316 6317 #3 : (in Linvokecustom/InvokeCustom;) 6318 name : 'bsmCreateCallSite' 6319 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 6320 access : 0x0009 (PUBLIC STATIC) 6321 code - 6322 registers : 7 6323 ins : 4 6324 outs : 2 6325 insns size : 36 16-bit code units 6326 007cc8: |[007cc8] invokecustom.InvokeCustom.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 6327 007cd8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6328 007cdc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6329 007ce0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6330 007ce6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056 6331 007cea: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6332 007cf0: 0c01 |000c: move-result-object v1 6333 007cf2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6334 007cf8: 0c01 |0010: move-result-object v1 6335 007cfa: 1a02 5200 |0011: const-string v2, "]" // string@0052 6336 007cfe: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6337 007d04: 0c01 |0016: move-result-object v1 6338 007d06: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6339 007d0c: 0c01 |001a: move-result-object v1 6340 007d0e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6341 007d14: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b 6342 007d18: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 6343 007d1e: 1100 |0023: return-object v0 6344 catches : (none) 6345 positions : 6346 0x0000 line=156 6347 0x001e line=157 6348 locals : 6349 0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 6350 0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 6351 0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 6352 0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 6353 6354 #4 : (in Linvokecustom/InvokeCustom;) 6355 name : 'bsmLookupStatic' 6356 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 6357 access : 0x0009 (PUBLIC STATIC) 6358 code - 6359 registers : 5 6360 ins : 3 6361 outs : 4 6362 insns size : 29 16-bit code units 6363 007d20: |[007d20] invokecustom.InvokeCustom.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 6364 007d30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6365 007d34: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058 6366 007d38: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6367 007d3e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 6368 007d44: 0c00 |000a: move-result-object v0 6369 007d46: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 6370 007d4c: 0c01 |000e: move-result-object v1 6371 007d4e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 6372 007d54: 0c00 |0012: move-result-object v0 6373 007d56: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 6374 007d5a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 6375 007d60: 0c00 |0018: move-result-object v0 6376 007d62: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 6377 007d68: 1101 |001c: return-object v1 6378 catches : (none) 6379 positions : 6380 0x0000 line=138 6381 0x0007 line=139 6382 0x000b line=140 6383 0x0013 line=141 6384 locals : 6385 0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 6386 0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 6387 0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 6388 6389 #5 : (in Linvokecustom/InvokeCustom;) 6390 name : 'bsmLookupStaticWithExtraArgs' 6391 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;' 6392 access : 0x0009 (PUBLIC STATIC) 6393 code - 6394 registers : 12 6395 ins : 9 6396 outs : 4 6397 insns size : 82 16-bit code units 6398 007d6c: |[007d6c] invokecustom.InvokeCustom.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 6399 007d7c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6400 007d80: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6401 007d84: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6402 007d8a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a 6403 007d8e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6404 007d94: 0c01 |000c: move-result-object v1 6405 007d96: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6406 007d9c: 0c01 |0010: move-result-object v1 6407 007d9e: 1a02 0800 |0011: const-string v2, ", " // string@0008 6408 007da2: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6409 007da8: 0c01 |0016: move-result-object v1 6410 007daa: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 6411 007db0: 0c01 |001a: move-result-object v1 6412 007db2: 1a02 0800 |001b: const-string v2, ", " // string@0008 6413 007db6: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6414 007dbc: 0c01 |0020: move-result-object v1 6415 007dbe: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6416 007dc4: 0c01 |0024: move-result-object v1 6417 007dc6: 1a02 0800 |0025: const-string v2, ", " // string@0008 6418 007dca: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6419 007dd0: 0c01 |002a: move-result-object v1 6420 007dd2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6421 007dd8: 0c01 |002e: move-result-object v1 6422 007dda: 1a02 5200 |002f: const-string v2, "]" // string@0052 6423 007dde: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6424 007de4: 0c01 |0034: move-result-object v1 6425 007de6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6426 007dec: 0c01 |0038: move-result-object v1 6427 007dee: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6428 007df4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 6429 007dfa: 0c00 |003f: move-result-object v0 6430 007dfc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 6431 007e02: 0c01 |0043: move-result-object v1 6432 007e04: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 6433 007e0a: 0c00 |0047: move-result-object v0 6434 007e0c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 6435 007e10: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 6436 007e16: 0c00 |004d: move-result-object v0 6437 007e18: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 6438 007e1e: 1101 |0051: return-object v1 6439 catches : (none) 6440 positions : 6441 0x0000 line=147 6442 0x003c line=148 6443 0x0040 line=149 6444 0x0048 line=150 6445 locals : 6446 0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 6447 0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 6448 0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 6449 0x0000 - 0x0052 reg=6 (null) I 6450 0x0000 - 0x0052 reg=7 (null) J 6451 0x0000 - 0x0052 reg=9 (null) F 6452 0x0000 - 0x0052 reg=10 (null) D 6453 6454 #6 : (in Linvokecustom/InvokeCustom;) 6455 name : 'bsmLookupTest9' 6456 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;' 6457 access : 0x0009 (PUBLIC STATIC) 6458 code - 6459 registers : 13 6460 ins : 10 6461 outs : 4 6462 insns size : 135 16-bit code units 6463 007e20: |[007e20] invokecustom.InvokeCustom.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; 6464 007e30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6465 007e34: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6466 007e38: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6467 007e3e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c 6468 007e42: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6469 007e48: 0c01 |000c: move-result-object v1 6470 007e4a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6471 007e50: 0c01 |0010: move-result-object v1 6472 007e52: 1a02 0800 |0011: const-string v2, ", " // string@0008 6473 007e56: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6474 007e5c: 0c01 |0016: move-result-object v1 6475 007e5e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6476 007e64: 0c01 |001a: move-result-object v1 6477 007e66: 1a02 0800 |001b: const-string v2, ", " // string@0008 6478 007e6a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6479 007e70: 0c01 |0020: move-result-object v1 6480 007e72: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6481 007e78: 0c01 |0024: move-result-object v1 6482 007e7a: 1a02 0800 |0025: const-string v2, ", " // string@0008 6483 007e7e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6484 007e84: 0c01 |002a: move-result-object v1 6485 007e86: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6486 007e8c: 0c01 |002e: move-result-object v1 6487 007e8e: 1a02 5200 |002f: const-string v2, "]" // string@0052 6488 007e92: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6489 007e98: 0c01 |0034: move-result-object v1 6490 007e9a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6491 007ea0: 0c01 |0038: move-result-object v1 6492 007ea2: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6493 007ea8: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6494 007eac: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6495 007eb0: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6496 007eb6: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6497 007ebc: 0c01 |0046: move-result-object v1 6498 007ebe: 1a02 0000 |0047: const-string v2, " " // string@0000 6499 007ec2: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6500 007ec8: 0c01 |004c: move-result-object v1 6501 007eca: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 6502 007ed0: 0c01 |0050: move-result-object v1 6503 007ed2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6504 007ed8: 0c01 |0054: move-result-object v1 6505 007eda: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6506 007ee0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b 6507 007ee6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e 6508 007eea: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094 6509 007ef0: 7030 9a00 8009 |0060: invoke-direct {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a 6510 007ef6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c 6511 007efe: 1230 |0067: const/4 v0, #int 3 // #3 6512 007f00: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005 6513 007f08: 0c00 |006c: move-result-object v0 6514 007f0a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c 6515 007f12: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9 6516 007f18: 0c00 |0074: move-result-object v0 6517 007f1a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8 6518 007f20: 0c01 |0078: move-result-object v1 6519 007f22: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7 6520 007f28: 0c00 |007c: move-result-object v0 6521 007f2a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b 6522 007f2e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd 6523 007f34: 0c00 |0082: move-result-object v0 6524 007f36: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc 6525 007f3c: 1101 |0086: return-object v1 6526 catches : (none) 6527 positions : 6528 0x0000 line=166 6529 0x003c line=168 6530 0x0058 line=171 6531 0x005b line=172 6532 0x0060 line=173 6533 0x0063 line=176 6534 0x0067 line=178 6535 0x006d line=179 6536 0x0071 line=181 6537 0x0075 line=182 6538 0x007d line=183 6539 locals : 6540 0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 6541 0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 6542 0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 6543 0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 6544 0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 6545 0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 6546 0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 6547 0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 6548 0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 6549 0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 6550 6551 #7 : (in Linvokecustom/InvokeCustom;) 6552 name : 'checkFieldTest9' 6553 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 6554 access : 0x0002 (PRIVATE) 6555 code - 6556 registers : 9 6557 ins : 3 6558 outs : 3 6559 insns size : 82 16-bit code units 6560 007f40: |[007f40] invokecustom.InvokeCustom.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 6561 007f50: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f 6562 007f56: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 6563 007f5e: 0a00 |0007: move-result v0 6564 007f60: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d 6565 007f68: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001 6566 007f70: 0a01 |0010: move-result v1 6567 007f72: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6568 007f76: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6569 007f7a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6570 007f80: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e 6571 007f84: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6572 007f8a: 0c03 |001d: move-result-object v3 6573 007f8c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6574 007f92: 0c00 |0021: move-result-object v0 6575 007f94: 1a03 0600 |0022: const-string v3, " new " // string@0006 6576 007f98: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6577 007f9e: 0c00 |0027: move-result-object v0 6578 007fa0: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6579 007fa6: 0c00 |002b: move-result-object v0 6580 007fa8: 1a03 0500 |002c: const-string v3, " expected " // string@0005 6581 007fac: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6582 007fb2: 0c00 |0031: move-result-object v0 6583 007fb4: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6584 007fba: 0c00 |0035: move-result-object v0 6585 007fbc: 1a03 0000 |0036: const-string v3, " " // string@0000 6586 007fc0: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6587 007fc6: 0c00 |003b: move-result-object v0 6588 007fc8: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6589 007fce: 0c00 |003f: move-result-object v0 6590 007fd0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 6591 007fd6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6592 007fda: 2d00 0105 |0045: cmpl-float v0, v1, v5 6593 007fde: 3900 0800 |0047: if-nez v0, 004f // +0008 6594 007fe2: 1a00 4000 |0049: const-string v0, "OK" // string@0040 6595 007fe6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6596 007fec: 0e00 |004e: return-void 6597 007fee: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010 6598 007ff2: 28fa |0051: goto 004b // -0006 6599 catches : (none) 6600 positions : 6601 0x0003 line=116 6602 0x0008 line=117 6603 0x000c line=118 6604 0x0011 line=119 6605 0x0043 line=121 6606 0x004e line=122 6607 0x004f line=121 6608 locals : 6609 0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom; 6610 0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 6611 0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 6612 6613 #8 : (in Linvokecustom/InvokeCustom;) 6614 name : 'checkStaticFieldTest9' 6615 type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V' 6616 access : 0x000a (PRIVATE STATIC) 6617 code - 6618 registers : 8 6619 ins : 2 6620 outs : 2 6621 insns size : 80 16-bit code units 6622 007ff4: |[007ff4] invokecustom.InvokeCustom.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V 6623 008004: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210 6624 00800a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 6625 008012: 0a00 |0007: move-result v0 6626 008014: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a 6627 00801c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002 6628 008024: 0a01 |0010: move-result v1 6629 008026: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6630 00802a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6631 00802e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6632 008034: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060 6633 008038: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6634 00803e: 0c03 |001d: move-result-object v3 6635 008040: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6636 008046: 0c00 |0021: move-result-object v0 6637 008048: 1a03 0600 |0022: const-string v3, " new " // string@0006 6638 00804c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6639 008052: 0c00 |0027: move-result-object v0 6640 008054: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6641 00805a: 0c00 |002b: move-result-object v0 6642 00805c: 1a03 0500 |002c: const-string v3, " expected " // string@0005 6643 008060: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6644 008066: 0c00 |0031: move-result-object v0 6645 008068: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6646 00806e: 0c00 |0035: move-result-object v0 6647 008070: 1a03 0000 |0036: const-string v3, " " // string@0000 6648 008074: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6649 00807a: 0c00 |003b: move-result-object v0 6650 00807c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6651 008082: 0c00 |003f: move-result-object v0 6652 008084: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab 6653 00808a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6654 00808e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008 6655 008092: 1a00 4000 |0047: const-string v0, "OK" // string@0040 6656 008096: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6657 00809c: 0e00 |004c: return-void 6658 00809e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010 6659 0080a2: 28fa |004f: goto 0049 // -0006 6660 catches : (none) 6661 positions : 6662 0x0003 line=103 6663 0x0008 line=104 6664 0x000c line=105 6665 0x0011 line=106 6666 0x0043 line=108 6667 0x004c line=109 6668 0x004d line=108 6669 locals : 6670 0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 6671 0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 6672 6673 #9 : (in Linvokecustom/InvokeCustom;) 6674 name : 'main' 6675 type : '([Ljava/lang/String;)V' 6676 access : 0x0009 (PUBLIC STATIC) 6677 code - 6678 registers : 1 6679 ins : 1 6680 outs : 0 6681 insns size : 22 16-bit code units 6682 0080a4: |[0080a4] invokecustom.InvokeCustom.main:([Ljava/lang/String;)V 6683 0080b4: 7100 1400 0000 |0000: invoke-static {}, Linvokecustom/InvokeCustom1;.test1:()V // method@0014 6684 0080ba: 7100 2900 0000 |0003: invoke-static {}, Linvokecustom/InvokeCustom2;.test2:()V // method@0029 6685 0080c0: 7100 3e00 0000 |0006: invoke-static {}, Linvokecustom/InvokeCustom3;.test3:()V // method@003e 6686 0080c6: 7100 5300 0000 |0009: invoke-static {}, Linvokecustom/InvokeCustom5;.test5:()V // method@0053 6687 0080cc: 7100 6800 0000 |000c: invoke-static {}, Linvokecustom/InvokeCustom6;.test6:()V // method@0068 6688 0080d2: 7100 7d00 0000 |000f: invoke-static {}, Linvokecustom/InvokeCustom7;.test7:()V // method@007d 6689 0080d8: 7100 9200 0000 |0012: invoke-static {}, Linvokecustom/InvokeCustom8;.test8:()V // method@0092 6690 0080de: 0e00 |0015: return-void 6691 catches : (none) 6692 positions : 6693 locals : 6694 6695 #10 : (in Linvokecustom/InvokeCustom;) 6696 name : 'targetMethodTest1' 6697 type : '()V' 6698 access : 0x000a (PRIVATE STATIC) 6699 code - 6700 registers : 2 6701 ins : 0 6702 outs : 2 6703 insns size : 8 16-bit code units 6704 0080e0: |[0080e0] invokecustom.InvokeCustom.targetMethodTest1:()V 6705 0080f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6706 0080f4: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015 6707 0080f8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6708 0080fe: 0e00 |0007: return-void 6709 catches : (none) 6710 positions : 6711 0x0000 line=41 6712 0x0007 line=42 6713 locals : 6714 6715 #11 : (in Linvokecustom/InvokeCustom;) 6716 name : 'targetMethodTest2' 6717 type : '(ZBCSIFJDLjava/lang/String;)V' 6718 access : 0x000a (PRIVATE STATIC) 6719 code - 6720 registers : 13 6721 ins : 11 6722 outs : 3 6723 insns size : 46 16-bit code units 6724 008100: |[008100] invokecustom.InvokeCustom.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V 6725 008110: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6726 008114: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2 6727 00811a: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6728 00811e: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af 6729 008124: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6730 008128: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac 6731 00812e: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6732 008132: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af 6733 008138: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6734 00813c: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af 6735 008142: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6736 008146: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae 6737 00814c: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6738 008150: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0 6739 008156: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6740 00815a: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad 6741 008160: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6742 008164: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6743 00816a: 0e00 |002d: return-void 6744 catches : (none) 6745 positions : 6746 0x0000 line=46 6747 0x0005 line=47 6748 0x000a line=48 6749 0x000f line=49 6750 0x0014 line=50 6751 0x0019 line=51 6752 0x001e line=52 6753 0x0023 line=53 6754 0x0028 line=54 6755 0x002d line=55 6756 locals : 6757 0x0000 - 0x002e reg=2 (null) Z 6758 0x0000 - 0x002e reg=3 (null) B 6759 0x0000 - 0x002e reg=4 (null) C 6760 0x0000 - 0x002e reg=5 (null) S 6761 0x0000 - 0x002e reg=6 (null) I 6762 0x0000 - 0x002e reg=7 (null) F 6763 0x0000 - 0x002e reg=8 (null) J 6764 0x0000 - 0x002e reg=10 (null) D 6765 0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 6766 6767 #12 : (in Linvokecustom/InvokeCustom;) 6768 name : 'targetMethodTest3' 6769 type : '()V' 6770 access : 0x000a (PRIVATE STATIC) 6771 code - 6772 registers : 2 6773 ins : 0 6774 outs : 2 6775 insns size : 8 16-bit code units 6776 00816c: |[00816c] invokecustom.InvokeCustom.targetMethodTest3:()V 6777 00817c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6778 008180: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073 6779 008184: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6780 00818a: 0e00 |0007: return-void 6781 catches : (none) 6782 positions : 6783 0x0000 line=58 6784 0x0007 line=59 6785 locals : 6786 6787 #13 : (in Linvokecustom/InvokeCustom;) 6788 name : 'targetMethodTest5' 6789 type : '(III)I' 6790 access : 0x0009 (PUBLIC STATIC) 6791 code - 6792 registers : 7 6793 ins : 3 6794 outs : 2 6795 insns size : 83 16-bit code units 6796 00818c: |[00818c] invokecustom.InvokeCustom.targetMethodTest5:(III)I 6797 00819c: 9000 0405 |0000: add-int v0, v4, v5 6798 0081a0: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6799 0081a4: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017 6800 0081a8: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6801 0081ae: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078 6802 0081b2: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6803 0081b8: 0c02 |000e: move-result-object v2 6804 0081ba: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6805 0081c0: 0c02 |0012: move-result-object v2 6806 0081c2: 1a03 0300 |0013: const-string v3, " + " // string@0003 6807 0081c6: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6808 0081cc: 0c02 |0018: move-result-object v2 6809 0081ce: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6810 0081d4: 0c02 |001c: move-result-object v2 6811 0081d6: 1a03 0400 |001d: const-string v3, " = " // string@0004 6812 0081da: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6813 0081e0: 0c02 |0022: move-result-object v2 6814 0081e2: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6815 0081e8: 0c02 |0026: move-result-object v2 6816 0081ea: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6817 0081f0: 0c02 |002a: move-result-object v2 6818 0081f2: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6819 0081f8: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024 6820 0081fc: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6821 008200: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017 6822 008204: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6823 00820a: 1a03 1300 |0037: const-string v3, "Failed " // string@0013 6824 00820e: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6825 008214: 0c02 |003c: move-result-object v2 6826 008216: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6827 00821c: 0c02 |0040: move-result-object v2 6828 00821e: 1a03 0100 |0041: const-string v3, " != " // string@0001 6829 008222: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6830 008228: 0c02 |0046: move-result-object v2 6831 00822a: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7 6832 008230: 0c02 |004a: move-result-object v2 6833 008232: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6834 008238: 0c02 |004e: move-result-object v2 6835 00823a: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6836 008240: 0f00 |0052: return v0 6837 catches : (none) 6838 positions : 6839 0x0000 line=68 6840 0x0002 line=69 6841 0x002e line=70 6842 0x0030 line=71 6843 0x0052 line=73 6844 locals : 6845 0x0000 - 0x0053 reg=4 (null) I 6846 0x0000 - 0x0053 reg=5 (null) I 6847 0x0000 - 0x0053 reg=6 (null) I 6848 6849 #14 : (in Linvokecustom/InvokeCustom;) 6850 name : 'targetMethodTest6' 6851 type : '(JJJ)J' 6852 access : 0x0009 (PUBLIC STATIC) 6853 code - 6854 registers : 12 6855 ins : 6 6856 outs : 3 6857 insns size : 85 16-bit code units 6858 008244: |[008244] invokecustom.InvokeCustom.targetMethodTest6:(JJJ)J 6859 008254: 9b00 0608 |0000: add-long v0, v6, v8 6860 008258: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6861 00825c: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6862 008260: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6863 008266: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b 6864 00826a: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6865 008270: 0c03 |000e: move-result-object v3 6866 008272: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 6867 008278: 0c03 |0012: move-result-object v3 6868 00827a: 1a04 0300 |0013: const-string v4, " + " // string@0003 6869 00827e: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6870 008284: 0c03 |0018: move-result-object v3 6871 008286: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 6872 00828c: 0c03 |001c: move-result-object v3 6873 00828e: 1a04 0400 |001d: const-string v4, " = " // string@0004 6874 008292: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6875 008298: 0c03 |0022: move-result-object v3 6876 00829a: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 6877 0082a0: 0c03 |0026: move-result-object v3 6878 0082a2: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6879 0082a8: 0c03 |002a: move-result-object v3 6880 0082aa: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6881 0082b0: 3102 000a |002e: cmp-long v2, v0, v10 6882 0082b4: 3802 2400 |0030: if-eqz v2, 0054 // +0024 6883 0082b8: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6884 0082bc: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6885 0082c0: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6886 0082c6: 1a04 1300 |0039: const-string v4, "Failed " // string@0013 6887 0082ca: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6888 0082d0: 0c03 |003e: move-result-object v3 6889 0082d2: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 6890 0082d8: 0c03 |0042: move-result-object v3 6891 0082da: 1a04 0100 |0043: const-string v4, " != " // string@0001 6892 0082de: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6893 0082e4: 0c03 |0048: move-result-object v3 6894 0082e6: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8 6895 0082ec: 0c03 |004c: move-result-object v3 6896 0082ee: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6897 0082f4: 0c03 |0050: move-result-object v3 6898 0082f6: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6899 0082fc: 1000 |0054: return-wide v0 6900 catches : (none) 6901 positions : 6902 0x0000 line=77 6903 0x0002 line=78 6904 0x002e line=79 6905 0x0032 line=80 6906 0x0054 line=82 6907 locals : 6908 0x0000 - 0x0055 reg=6 (null) J 6909 0x0000 - 0x0055 reg=8 (null) J 6910 0x0000 - 0x0055 reg=10 (null) J 6911 6912 #15 : (in Linvokecustom/InvokeCustom;) 6913 name : 'targetMethodTest7' 6914 type : '(FFD)D' 6915 access : 0x0009 (PUBLIC STATIC) 6916 code - 6917 registers : 10 6918 ins : 4 6919 outs : 3 6920 insns size : 86 16-bit code units 6921 008300: |[008300] invokecustom.InvokeCustom.targetMethodTest7:(FFD)D 6922 008310: a800 0607 |0000: mul-float v0, v6, v7 6923 008314: 8900 |0002: float-to-double v0, v0 6924 008316: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6925 00831a: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6926 00831e: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6927 008324: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e 6928 008328: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6929 00832e: 0c03 |000f: move-result-object v3 6930 008330: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6931 008336: 0c03 |0013: move-result-object v3 6932 008338: 1a04 0200 |0014: const-string v4, " * " // string@0002 6933 00833c: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6934 008342: 0c03 |0019: move-result-object v3 6935 008344: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6 6936 00834a: 0c03 |001d: move-result-object v3 6937 00834c: 1a04 0400 |001e: const-string v4, " = " // string@0004 6938 008350: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6939 008356: 0c03 |0023: move-result-object v3 6940 008358: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6941 00835e: 0c03 |0027: move-result-object v3 6942 008360: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6943 008366: 0c03 |002b: move-result-object v3 6944 008368: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6945 00836e: 2f02 0008 |002f: cmpl-double v2, v0, v8 6946 008372: 3802 2400 |0031: if-eqz v2, 0055 // +0024 6947 008376: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6948 00837a: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017 6949 00837e: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6950 008384: 1a04 1300 |003a: const-string v4, "Failed " // string@0013 6951 008388: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6952 00838e: 0c03 |003f: move-result-object v3 6953 008390: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6954 008396: 0c03 |0043: move-result-object v3 6955 008398: 1a04 0100 |0044: const-string v4, " != " // string@0001 6956 00839c: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6957 0083a2: 0c03 |0049: move-result-object v3 6958 0083a4: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5 6959 0083aa: 0c03 |004d: move-result-object v3 6960 0083ac: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6961 0083b2: 0c03 |0051: move-result-object v3 6962 0083b4: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6963 0083ba: 1000 |0055: return-wide v0 6964 catches : (none) 6965 positions : 6966 0x0000 line=86 6967 0x0003 line=87 6968 0x002f line=88 6969 0x0033 line=89 6970 0x0055 line=91 6971 locals : 6972 0x0000 - 0x0056 reg=6 (null) F 6973 0x0000 - 0x0056 reg=7 (null) F 6974 0x0000 - 0x0056 reg=8 (null) D 6975 6976 #16 : (in Linvokecustom/InvokeCustom;) 6977 name : 'targetMethodTest8' 6978 type : '(Ljava/lang/String;)V' 6979 access : 0x0009 (PUBLIC STATIC) 6980 code - 6981 registers : 4 6982 ins : 1 6983 outs : 2 6984 insns size : 25 16-bit code units 6985 0083bc: |[0083bc] invokecustom.InvokeCustom.targetMethodTest8:(Ljava/lang/String;)V 6986 0083cc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 6987 0083d0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 6988 0083d4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 6989 0083da: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080 6990 0083de: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6991 0083e4: 0c01 |000c: move-result-object v1 6992 0083e6: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 6993 0083ec: 0c01 |0010: move-result-object v1 6994 0083ee: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 6995 0083f4: 0c01 |0014: move-result-object v1 6996 0083f6: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 6997 0083fc: 0e00 |0018: return-void 6998 catches : (none) 6999 positions : 7000 0x0000 line=95 7001 0x0018 line=96 7002 locals : 7003 0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 7004 7005 #17 : (in Linvokecustom/InvokeCustom;) 7006 name : 'targetMethodTest9' 7007 type : '()V' 7008 access : 0x000a (PRIVATE STATIC) 7009 code - 7010 registers : 2 7011 ins : 0 7012 outs : 2 7013 insns size : 8 16-bit code units 7014 008400: |[008400] invokecustom.InvokeCustom.targetMethodTest9:()V 7015 008410: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 7016 008414: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082 7017 008418: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 7018 00841e: 0e00 |0007: return-void 7019 catches : (none) 7020 positions : 7021 0x0000 line=129 7022 0x0007 line=130 7023 locals : 7024 7025 Virtual methods - 7026 #0 : (in Linvokecustom/InvokeCustom;) 7027 name : 'helperMethodTest9' 7028 type : '()V' 7029 access : 0x0001 (PUBLIC) 7030 code - 7031 registers : 4 7032 ins : 1 7033 outs : 2 7034 insns size : 27 16-bit code units 7035 008420: |[008420] invokecustom.InvokeCustom.helperMethodTest9:()V 7036 008430: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 7037 008434: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017 7038 008438: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4 7039 00843e: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064 7040 008442: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba 7041 008448: 0c01 |000c: move-result-object v1 7042 00844a: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e 7043 00844e: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9 7044 008454: 0c01 |0012: move-result-object v1 7045 008456: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb 7046 00845c: 0c01 |0016: move-result-object v1 7047 00845e: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 7048 008464: 0e00 |001a: return-void 7049 catches : (none) 7050 positions : 7051 0x0000 line=125 7052 0x001a line=126 7053 locals : 7054 0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom; 7055 7056 #1 : (in Linvokecustom/InvokeCustom;) 7057 name : 'run' 7058 type : '()V' 7059 access : 0x0001 (PUBLIC) 7060 code - 7061 registers : 3 7062 ins : 1 7063 outs : 2 7064 insns size : 8 16-bit code units 7065 008468: |[008468] invokecustom.InvokeCustom.run:()V 7066 008478: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 7067 00847c: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e 7068 008480: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 7069 008486: 0e00 |0007: return-void 7070 catches : (none) 7071 positions : 7072 0x0000 line=133 7073 0x0007 line=134 7074 locals : 7075 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom; 7076 7077 #2 : (in Linvokecustom/InvokeCustom;) 7078 name : 'targetMethodTest4' 7079 type : '()V' 7080 access : 0x0001 (PUBLIC) 7081 code - 7082 registers : 3 7083 ins : 1 7084 outs : 2 7085 insns size : 8 16-bit code units 7086 008488: |[008488] invokecustom.InvokeCustom.targetMethodTest4:()V 7087 008498: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010 7088 00849c: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075 7089 0084a0: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1 7090 0084a6: 0e00 |0007: return-void 7091 catches : (none) 7092 positions : 7093 0x0000 line=64 7094 0x0007 line=65 7095 locals : 7096 0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom; 7097 7098 source_file_idx : 25 (InvokeCustom.java) 7099 7100 Method handle #0: 7101 type : invoke-static 7102 target : Linvokecustom/InvokeCustom; bsmLookupStatic 7103 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 7104 Method handle #1: 7105 type : invoke-static 7106 target : Linvokecustom/InvokeCustom; bsmLookupStaticWithExtraArgs 7107 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite; 7108 Call site #0: // offset 57196 7109 link_argument[0] : 0 (MethodHandle) 7110 link_argument[1] : targetMethodTest1 (String) 7111 link_argument[2] : ()V (MethodType) 7112 Call site #1: // offset 57203 7113 link_argument[0] : 0 (MethodHandle) 7114 link_argument[1] : targetMethodTest2 (String) 7115 link_argument[2] : (ZBCSIFJDLjava/lang/String;)V (MethodType) 7116 Call site #2: // offset 57210 7117 link_argument[0] : 0 (MethodHandle) 7118 link_argument[1] : targetMethodTest3 (String) 7119 link_argument[2] : ()V (MethodType) 7120 link_argument[3] : 1 (int) 7121 link_argument[4] : 123456789 (long) 7122 link_argument[5] : 123.456 (float) 7123 link_argument[6] : 123457 (double) 7124 Call site #3: // offset 57238 7125 link_argument[0] : 0 (MethodHandle) 7126 link_argument[1] : targetMethodTest5 (String) 7127 link_argument[2] : (III)I (MethodType) 7128 Call site #4: // offset 57245 7129 link_argument[0] : 0 (MethodHandle) 7130 link_argument[1] : targetMethodTest6 (String) 7131 link_argument[2] : (JJJ)J (MethodType) 7132 Call site #5: // offset 57252 7133 link_argument[0] : 0 (MethodHandle) 7134 link_argument[1] : targetMethodTest7 (String) 7135 link_argument[2] : (FFD)D (MethodType) 7136 Call site #6: // offset 57259 7137 link_argument[0] : 0 (MethodHandle) 7138 link_argument[1] : targetMethodTest8 (String) 7139 link_argument[2] : (Ljava/lang/String;)V (MethodType) 7140 Call site #7: // offset 57259 7141 link_argument[0] : 0 (MethodHandle) 7142 link_argument[1] : targetMethodTest8 (String) 7143 link_argument[2] : (Ljava/lang/String;)V (MethodType) 7144 Call site #8: // offset 57259 7145 link_argument[0] : 0 (MethodHandle) 7146 link_argument[1] : targetMethodTest8 (String) 7147 link_argument[2] : (Ljava/lang/String;)V (MethodType) 7148