1Processing 'invoke-custom.dex'... 2Opened 'invoke-custom.dex', DEX version '038' 3DEX file header: 4magic : 'dex\n038\0' 5checksum : dc722174 6signature : b59a...f803 7file_size : 31732 8header_size : 112 9link_size : 0 10link_off : 0 (0x000000) 11string_ids_size : 478 12string_ids_off : 112 (0x000070) 13type_ids_size : 77 14type_ids_off : 2024 (0x0007e8) 15proto_ids_size : 91 16proto_ids_off : 2332 (0x00091c) 17field_ids_size : 21 18field_ids_off : 3424 (0x000d60) 19method_ids_size : 243 20method_ids_off : 3592 (0x000e08) 21class_defs_size : 14 22class_defs_off : 5536 (0x0015a0) 23data_size : 25332 24data_off : 6400 (0x001900) 25 26Class #0 header: 27class_idx : 7 28access_flags : 0 (0x0000) 29superclass_idx : 52 30interfaces_off : 0 (0x000000) 31source_file_idx : 144 32annotations_off : 30700 (0x0077ec) 33class_data_off : 28922 (0x0070fa) 34static_fields_size : 0 35instance_fields_size: 0 36direct_methods_size : 1 37virtual_methods_size: 0 38 39Class #0 annotations: 40Annotations on class 41 VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestBadBootstrapArguments; 42 VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name="TestersConstantCallSite" 43 44Class #0 - 45 Class descriptor : 'LTestBadBootstrapArguments$TestersConstantCallSite;' 46 Access flags : 0x0000 () 47 Superclass : 'Ljava/lang/invoke/ConstantCallSite;' 48 Interfaces - 49 Static fields - 50 Instance fields - 51 Direct methods - 52 #0 : (in LTestBadBootstrapArguments$TestersConstantCallSite;) 53 name : '<init>' 54 type : '(Ljava/lang/invoke/MethodHandle;)V' 55 access : 0x10001 (PUBLIC CONSTRUCTOR) 56 code - 57 registers : 2 58 ins : 2 59 outs : 2 60 insns size : 4 16-bit code units 61001b18: |[001b18] TestBadBootstrapArguments$TestersConstantCallSite.<init>:(Ljava/lang/invoke/MethodHandle;)V 62001b28: 7020 d200 1000 |0000: invoke-direct {v0, v1}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 63001b2e: 0e00 |0003: return-void 64 catches : (none) 65 positions : 66 0x0000 line=449 67 0x0003 line=450 68 locals : 69 0x0000 - 0x0004 reg=0 this LTestBadBootstrapArguments$TestersConstantCallSite; 70 0x0000 - 0x0004 reg=1 mh Ljava/lang/invoke/MethodHandle; 71 72 Virtual methods - 73 source_file_idx : 144 (TestBadBootstrapArguments.java) 74 75Class #1 header: 76class_idx : 9 77access_flags : 1024 (0x0400) 78superclass_idx : 42 79interfaces_off : 0 (0x000000) 80source_file_idx : 145 81annotations_off : 0 (0x000000) 82class_data_off : 28932 (0x007104) 83static_fields_size : 0 84instance_fields_size: 0 85direct_methods_size : 13 86virtual_methods_size: 0 87 88Class #1 - 89 Class descriptor : 'LTestBase;' 90 Access flags : 0x0400 (ABSTRACT) 91 Superclass : 'Ljava/lang/Object;' 92 Interfaces - 93 Static fields - 94 Instance fields - 95 Direct methods - 96 #0 : (in LTestBase;) 97 name : '<init>' 98 type : '()V' 99 access : 0x10000 (CONSTRUCTOR) 100 code - 101 registers : 1 102 ins : 1 103 outs : 1 104 insns size : 4 16-bit code units 105002544: |[002544] TestBase.<init>:()V 106002554: 7010 bf00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf 10700255a: 0e00 |0003: return-void 108 catches : (none) 109 positions : 110 0x0000 line=19 111 locals : 112 0x0000 - 0x0004 reg=0 this LTestBase; 113 114 #1 : (in LTestBase;) 115 name : 'assertEquals' 116 type : '(BB)V' 117 access : 0x0008 (STATIC) 118 code - 119 registers : 5 120 ins : 2 121 outs : 2 122 insns size : 34 16-bit code units 12300255c: |[00255c] TestBase.assertEquals:(BB)V 12400256c: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 125002570: 0e00 |0002: return-void 126002572: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 127002576: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 12800257a: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 129002580: 1a02 d300 |000a: const-string v2, "assertEquals b1: " // string@00d3 130002584: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 13100258a: 6e20 c500 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 132002590: 1a02 0d00 |0012: const-string v2, ", b2: " // string@000d 133002594: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 13400259a: 6e20 c500 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 1350025a0: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 1360025a6: 0c01 |001d: move-result-object v1 1370025a8: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 1380025ae: 2700 |0021: throw v0 139 catches : (none) 140 positions : 141 0x0000 line=27 142 0x0002 line=28 143 0x0003 line=30 144 locals : 145 0x0000 - 0x0022 reg=3 b1 B 146 0x0000 - 0x0022 reg=4 b2 B 147 148 #2 : (in LTestBase;) 149 name : 'assertEquals' 150 type : '(CC)V' 151 access : 0x0008 (STATIC) 152 code - 153 registers : 5 154 ins : 2 155 outs : 2 156 insns size : 34 16-bit code units 1570025b0: |[0025b0] TestBase.assertEquals:(CC)V 1580025c0: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 1590025c4: 0e00 |0002: return-void 1600025c6: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 1610025ca: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 1620025ce: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 1630025d4: 1a02 d400 |000a: const-string v2, "assertEquals c1: " // string@00d4 1640025d8: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 1650025de: 6e20 c200 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@00c2 1660025e4: 1a02 0e00 |0012: const-string v2, ", c2: " // string@000e 1670025e8: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 1680025ee: 6e20 c200 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@00c2 1690025f4: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 1700025fa: 0c01 |001d: move-result-object v1 1710025fc: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 172002602: 2700 |0021: throw v0 173 catches : (none) 174 positions : 175 0x0000 line=34 176 0x0002 line=35 177 0x0003 line=37 178 locals : 179 0x0000 - 0x0022 reg=3 c1 C 180 0x0000 - 0x0022 reg=4 c2 C 181 182 #3 : (in LTestBase;) 183 name : 'assertEquals' 184 type : '(DD)V' 185 access : 0x0008 (STATIC) 186 code - 187 registers : 7 188 ins : 4 189 outs : 3 190 insns size : 36 16-bit code units 191002604: |[002604] TestBase.assertEquals:(DD)V 192002614: 2f00 0305 |0000: cmpl-double v0, v3, v5 193002618: 3900 0300 |0002: if-nez v0, 0005 // +0003 19400261c: 0e00 |0004: return-void 19500261e: 2200 1e00 |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e 196002622: 2201 2d00 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d 197002626: 7010 c100 0100 |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 19800262c: 1a02 d500 |000c: const-string v2, "assertEquals d1: " // string@00d5 199002630: 6e20 c800 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 200002636: 6e30 c300 3104 |0011: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00c3 20100263c: 1a02 0f00 |0014: const-string v2, ", d2: " // string@000f 202002640: 6e20 c800 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 203002646: 6e30 c300 5106 |0019: invoke-virtual {v1, v5, v6}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00c3 20400264c: 6e10 ca00 0100 |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 205002652: 0c01 |001f: move-result-object v1 206002654: 7020 b500 1000 |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 20700265a: 2700 |0023: throw v0 208 catches : (none) 209 positions : 210 0x0000 line=69 211 0x0004 line=70 212 0x0005 line=72 213 locals : 214 0x0000 - 0x0024 reg=3 d1 D 215 0x0000 - 0x0024 reg=5 d2 D 216 217 #4 : (in LTestBase;) 218 name : 'assertEquals' 219 type : '(FF)V' 220 access : 0x0008 (STATIC) 221 code - 222 registers : 5 223 ins : 2 224 outs : 2 225 insns size : 36 16-bit code units 22600265c: |[00265c] TestBase.assertEquals:(FF)V 22700266c: 2d00 0304 |0000: cmpl-float v0, v3, v4 228002670: 3900 0300 |0002: if-nez v0, 0005 // +0003 229002674: 0e00 |0004: return-void 230002676: 2200 1e00 |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e 23100267a: 2201 2d00 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d 23200267e: 7010 c100 0100 |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 233002684: 1a02 d600 |000c: const-string v2, "assertEquals f1: " // string@00d6 234002688: 6e20 c800 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 23500268e: 6e20 c400 3100 |0011: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00c4 236002694: 1a02 1000 |0014: const-string v2, ", f2: " // string@0010 237002698: 6e20 c800 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 23800269e: 6e20 c400 4100 |0019: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00c4 2390026a4: 6e10 ca00 0100 |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 2400026aa: 0c01 |001f: move-result-object v1 2410026ac: 7020 b500 1000 |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 2420026b2: 2700 |0023: throw v0 243 catches : (none) 244 positions : 245 0x0000 line=62 246 0x0004 line=63 247 0x0005 line=65 248 locals : 249 0x0000 - 0x0024 reg=3 f1 F 250 0x0000 - 0x0024 reg=4 f2 F 251 252 #5 : (in LTestBase;) 253 name : 'assertEquals' 254 type : '(II)V' 255 access : 0x0008 (STATIC) 256 code - 257 registers : 5 258 ins : 2 259 outs : 2 260 insns size : 34 16-bit code units 2610026b4: |[0026b4] TestBase.assertEquals:(II)V 2620026c4: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 2630026c8: 0e00 |0002: return-void 2640026ca: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 2650026ce: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 2660026d2: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 2670026d8: 1a02 d700 |000a: const-string v2, "assertEquals i1: " // string@00d7 2680026dc: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 2690026e2: 6e20 c500 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 2700026e8: 1a02 1100 |0012: const-string v2, ", i2: " // string@0011 2710026ec: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 2720026f2: 6e20 c500 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 2730026f8: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 2740026fe: 0c01 |001d: move-result-object v1 275002700: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 276002706: 2700 |0021: throw v0 277 catches : (none) 278 positions : 279 0x0000 line=48 280 0x0002 line=49 281 0x0003 line=51 282 locals : 283 0x0000 - 0x0022 reg=3 i1 I 284 0x0000 - 0x0022 reg=4 i2 I 285 286 #6 : (in LTestBase;) 287 name : 'assertEquals' 288 type : '(JJ)V' 289 access : 0x0008 (STATIC) 290 code - 291 registers : 7 292 ins : 4 293 outs : 3 294 insns size : 36 16-bit code units 295002764: |[002764] TestBase.assertEquals:(JJ)V 296002774: 3100 0305 |0000: cmp-long v0, v3, v5 297002778: 3900 0300 |0002: if-nez v0, 0005 // +0003 29800277c: 0e00 |0004: return-void 29900277e: 2200 1e00 |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e 300002782: 2201 2d00 |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d 301002786: 7010 c100 0100 |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 30200278c: 1a02 d800 |000c: const-string v2, "assertEquals l1: " // string@00d8 303002790: 6e20 c800 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 304002796: 6e30 c600 3104 |0011: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6 30500279c: 1a02 1200 |0014: const-string v2, ", l2: " // string@0012 3060027a0: 6e20 c800 2100 |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3070027a6: 6e30 c600 5106 |0019: invoke-virtual {v1, v5, v6}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6 3080027ac: 6e10 ca00 0100 |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 3090027b2: 0c01 |001f: move-result-object v1 3100027b4: 7020 b500 1000 |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 3110027ba: 2700 |0023: throw v0 312 catches : (none) 313 positions : 314 0x0000 line=55 315 0x0004 line=56 316 0x0005 line=58 317 locals : 318 0x0000 - 0x0024 reg=3 l1 J 319 0x0000 - 0x0024 reg=5 l2 J 320 321 #7 : (in LTestBase;) 322 name : 'assertEquals' 323 type : '(Ljava/lang/Object;Ljava/lang/Object;)V' 324 access : 0x0008 (STATIC) 325 code - 326 registers : 5 327 ins : 2 328 outs : 2 329 insns size : 38 16-bit code units 330002708: |[002708] TestBase.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 331002718: 7120 ec00 4300 |0000: invoke-static {v3, v4}, Ljava/util/Objects;.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z // method@00ec 33200271e: 0a00 |0003: move-result v0 333002720: 3800 0300 |0004: if-eqz v0, 0007 // +0003 334002724: 0e00 |0006: return-void 335002726: 2200 1e00 |0007: new-instance v0, Ljava/lang/AssertionError; // type@001e 33600272a: 2201 2d00 |0009: new-instance v1, Ljava/lang/StringBuilder; // type@002d 33700272e: 7010 c100 0100 |000b: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 338002734: 1a02 da00 |000e: const-string v2, "assertEquals: o1: " // string@00da 339002738: 6e20 c800 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 34000273e: 6e20 c700 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 341002744: 1a02 1300 |0016: const-string v2, ", o2: " // string@0013 342002748: 6e20 c800 2100 |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 34300274e: 6e20 c700 4100 |001b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 344002754: 6e10 ca00 0100 |001e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 34500275a: 0c01 |0021: move-result-object v1 34600275c: 7020 b500 1000 |0022: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 347002762: 2700 |0025: throw v0 348 catches : (none) 349 positions : 350 0x0000 line=76 351 0x0006 line=79 352 0x0007 line=77 353 locals : 354 0x0000 - 0x0026 reg=3 o Ljava/lang/Object; 355 0x0000 - 0x0026 reg=4 p Ljava/lang/Object; 356 357 #8 : (in LTestBase;) 358 name : 'assertEquals' 359 type : '(SS)V' 360 access : 0x0008 (STATIC) 361 code - 362 registers : 5 363 ins : 2 364 outs : 2 365 insns size : 34 16-bit code units 3660027bc: |[0027bc] TestBase.assertEquals:(SS)V 3670027cc: 3343 0300 |0000: if-ne v3, v4, 0003 // +0003 3680027d0: 0e00 |0002: return-void 3690027d2: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 3700027d6: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 3710027da: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 3720027e0: 1a02 d900 |000a: const-string v2, "assertEquals s1: " // string@00d9 3730027e4: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3740027ea: 6e20 c500 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 3750027f0: 1a02 1400 |0012: const-string v2, ", s2: " // string@0014 3760027f4: 6e20 c800 2100 |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3770027fa: 6e20 c500 4100 |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 378002800: 6e10 ca00 0100 |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 379002806: 0c01 |001d: move-result-object v1 380002808: 7020 b500 1000 |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 38100280e: 2700 |0021: throw v0 382 catches : (none) 383 positions : 384 0x0000 line=41 385 0x0002 line=42 386 0x0003 line=44 387 locals : 388 0x0000 - 0x0022 reg=3 s1 S 389 0x0000 - 0x0022 reg=4 s2 S 390 391 #9 : (in LTestBase;) 392 name : 'assertNotEquals' 393 type : '(Ljava/lang/Object;Ljava/lang/Object;)V' 394 access : 0x0008 (STATIC) 395 code - 396 registers : 5 397 ins : 2 398 outs : 2 399 insns size : 38 16-bit code units 400002810: |[002810] TestBase.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V 401002820: 7120 ec00 4300 |0000: invoke-static {v3, v4}, Ljava/util/Objects;.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z // method@00ec 402002826: 0a00 |0003: move-result v0 403002828: 3900 0300 |0004: if-nez v0, 0007 // +0003 40400282c: 0e00 |0006: return-void 40500282e: 2200 1e00 |0007: new-instance v0, Ljava/lang/AssertionError; // type@001e 406002832: 2201 2d00 |0009: new-instance v1, Ljava/lang/StringBuilder; // type@002d 407002836: 7010 c100 0100 |000b: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 40800283c: 1a02 dc00 |000e: const-string v2, "assertNotEquals: o1: " // string@00dc 409002840: 6e20 c800 2100 |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 410002846: 6e20 c700 3100 |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 41100284c: 1a02 1300 |0016: const-string v2, ", o2: " // string@0013 412002850: 6e20 c800 2100 |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 413002856: 6e20 c700 4100 |001b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 41400285c: 6e10 ca00 0100 |001e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 415002862: 0c01 |0021: move-result-object v1 416002864: 7020 b500 1000 |0022: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 41700286a: 2700 |0025: throw v0 418 catches : (none) 419 positions : 420 0x0000 line=82 421 0x0006 line=85 422 0x0007 line=83 423 locals : 424 0x0000 - 0x0026 reg=3 o Ljava/lang/Object; 425 0x0000 - 0x0026 reg=4 p Ljava/lang/Object; 426 427 #10 : (in LTestBase;) 428 name : 'assertNotReached' 429 type : '()V' 430 access : 0x0008 (STATIC) 431 code - 432 registers : 2 433 ins : 0 434 outs : 2 435 insns size : 8 16-bit code units 43600286c: |[00286c] TestBase.assertNotReached:()V 43700287c: 2200 1e00 |0000: new-instance v0, Ljava/lang/AssertionError; // type@001e 438002880: 1a01 a300 |0002: const-string v1, "Unreachable" // string@00a3 439002884: 7020 b500 1000 |0004: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 44000288a: 2700 |0007: throw v0 441 catches : (none) 442 positions : 443 0x0000 line=88 444 locals : 445 446 #11 : (in LTestBase;) 447 name : 'assertTrue' 448 type : '(Z)V' 449 access : 0x0008 (STATIC) 450 code - 451 registers : 4 452 ins : 1 453 outs : 2 454 insns size : 26 16-bit code units 45500288c: |[00288c] TestBase.assertTrue:(Z)V 45600289c: 3803 0300 |0000: if-eqz v3, 0003 // +0003 4570028a0: 0e00 |0002: return-void 4580028a2: 2200 1e00 |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e 4590028a6: 2201 2d00 |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d 4600028aa: 7010 c100 0100 |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 4610028b0: 1a02 df00 |000a: const-string v2, "assertTrue value: " // string@00df 4620028b4: 6e20 c800 2100 |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 4630028ba: 6e20 c900 3100 |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@00c9 4640028c0: 6e10 ca00 0100 |0012: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 4650028c6: 0c01 |0015: move-result-object v1 4660028c8: 7020 b500 1000 |0016: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5 4670028ce: 2700 |0019: throw v0 468 catches : (none) 469 positions : 470 0x0000 line=21 471 0x0002 line=24 472 0x0003 line=22 473 locals : 474 0x0000 - 0x001a reg=3 value Z 475 476 #12 : (in LTestBase;) 477 name : 'fail' 478 type : '()V' 479 access : 0x0008 (STATIC) 480 code - 481 registers : 2 482 ins : 0 483 outs : 2 484 insns size : 11 16-bit code units 4850028d0: |[0028d0] TestBase.fail:()V 4860028e0: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4870028e4: 1a01 2601 |0002: const-string v1, "fail" // string@0126 4880028e8: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4890028ee: 7100 cc00 0000 |0007: invoke-static {}, Ljava/lang/Thread;.dumpStack:()V // method@00cc 4900028f4: 0e00 |000a: return-void 491 catches : (none) 492 positions : 493 0x0000 line=92 494 0x0007 line=93 495 0x000a line=94 496 locals : 497 498 Virtual methods - 499 source_file_idx : 145 (TestBase.java) 500 501Class #2 header: 502class_idx : 11 503access_flags : 0 (0x0000) 504superclass_idx : 42 505interfaces_off : 0 (0x000000) 506source_file_idx : 148 507annotations_off : 30716 (0x0077fc) 508class_data_off : 28990 (0x00713e) 509static_fields_size : 0 510instance_fields_size: 1 511direct_methods_size : 1 512virtual_methods_size: 0 513 514Class #2 annotations: 515Annotations on class 516 VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestInvocationKinds; 517 VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name="Widget" 518 519Class #2 - 520 Class descriptor : 'LTestInvocationKinds$Widget;' 521 Access flags : 0x0000 () 522 Superclass : 'Ljava/lang/Object;' 523 Interfaces - 524 Static fields - 525 Instance fields - 526 #0 : (in LTestInvocationKinds$Widget;) 527 name : 'value' 528 type : 'I' 529 access : 0x0000 () 530 Direct methods - 531 #0 : (in LTestInvocationKinds$Widget;) 532 name : '<init>' 533 type : '(I)V' 534 access : 0x10001 (PUBLIC CONSTRUCTOR) 535 code - 536 registers : 2 537 ins : 2 538 outs : 1 539 insns size : 4 16-bit code units 540002abc: |[002abc] TestInvocationKinds$Widget.<init>:(I)V 541002acc: 7010 bf00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf 542002ad2: 0e00 |0003: return-void 543 catches : (none) 544 positions : 545 0x0000 line=177 546 locals : 547 0x0000 - 0x0004 reg=0 this LTestInvocationKinds$Widget; 548 0x0000 - 0x0004 reg=1 value I 549 550 Virtual methods - 551 source_file_idx : 148 (TestInvocationKinds.java) 552 553Class #3 header: 554class_idx : 13 555access_flags : 0 (0x0000) 556superclass_idx : 48 557interfaces_off : 0 (0x000000) 558source_file_idx : 149 559annotations_off : 30732 (0x00780c) 560class_data_off : 29002 (0x00714a) 561static_fields_size : 0 562instance_fields_size: 0 563direct_methods_size : 1 564virtual_methods_size: 2 565 566Class #3 annotations: 567Annotations on class 568 VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestInvokeCustomWithConcurrentThreads; 569 VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null 570 VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/ThreadLocal<" "Ljava/lang/Integer;" ">;" } 571 572Class #3 - 573 Class descriptor : 'LTestInvokeCustomWithConcurrentThreads$1;' 574 Access flags : 0x0000 () 575 Superclass : 'Ljava/lang/ThreadLocal;' 576 Interfaces - 577 Static fields - 578 Instance fields - 579 Direct methods - 580 #0 : (in LTestInvokeCustomWithConcurrentThreads$1;) 581 name : '<init>' 582 type : '()V' 583 access : 0x10000 (CONSTRUCTOR) 584 code - 585 registers : 1 586 ins : 1 587 outs : 1 588 insns size : 4 16-bit code units 589002ee8: |[002ee8] TestInvokeCustomWithConcurrentThreads$1.<init>:()V 590002ef8: 7010 cf00 0000 |0000: invoke-direct {v0}, Ljava/lang/ThreadLocal;.<init>:()V // method@00cf 591002efe: 0e00 |0003: return-void 592 catches : (none) 593 positions : 594 0x0000 line=33 595 locals : 596 0x0000 - 0x0004 reg=0 this LTestInvokeCustomWithConcurrentThreads$1; 597 598 Virtual methods - 599 #0 : (in LTestInvokeCustomWithConcurrentThreads$1;) 600 name : 'initialValue' 601 type : '()Ljava/lang/Integer;' 602 access : 0x0004 (PROTECTED) 603 code - 604 registers : 2 605 ins : 1 606 outs : 1 607 insns size : 13 16-bit code units 608002ea0: |[002ea0] TestInvokeCustomWithConcurrentThreads$1.initialValue:()Ljava/lang/Integer; 609002eb0: 7100 6500 0000 |0000: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.access$000:()Ljava/util/concurrent/atomic/AtomicInteger; // method@0065 610002eb6: 0c00 |0003: move-result-object v0 611002eb8: 6e10 f100 0000 |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@00f1 612002ebe: 0a00 |0007: move-result v0 613002ec0: 7110 bd00 0000 |0008: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 614002ec6: 0c00 |000b: move-result-object v0 615002ec8: 1100 |000c: return-object v0 616 catches : (none) 617 positions : 618 0x0000 line=36 619 locals : 620 0x0000 - 0x000d reg=1 this LTestInvokeCustomWithConcurrentThreads$1; 621 622 #1 : (in LTestInvokeCustomWithConcurrentThreads$1;) 623 name : 'initialValue' 624 type : '()Ljava/lang/Object;' 625 access : 0x1044 (PROTECTED BRIDGE SYNTHETIC) 626 code - 627 registers : 2 628 ins : 1 629 outs : 1 630 insns size : 5 16-bit code units 631002ecc: |[002ecc] TestInvokeCustomWithConcurrentThreads$1.initialValue:()Ljava/lang/Object; 632002edc: 6e10 6100 0100 |0000: invoke-virtual {v1}, LTestInvokeCustomWithConcurrentThreads$1;.initialValue:()Ljava/lang/Integer; // method@0061 633002ee2: 0c00 |0003: move-result-object v0 634002ee4: 1100 |0004: return-object v0 635 catches : (none) 636 positions : 637 0x0000 line=33 638 locals : 639 0x0000 - 0x0005 reg=1 this LTestInvokeCustomWithConcurrentThreads$1; 640 641 source_file_idx : 149 (TestInvokeCustomWithConcurrentThreads.java) 642 643Class #4 header: 644class_idx : 19 645access_flags : 0 (0x0000) 646superclass_idx : 42 647interfaces_off : 0 (0x000000) 648source_file_idx : 164 649annotations_off : 30748 (0x00781c) 650class_data_off : 29021 (0x00715d) 651static_fields_size : 0 652instance_fields_size: 0 653direct_methods_size : 2 654virtual_methods_size: 0 655 656Class #4 annotations: 657Annotations on method #170 'bsm' 658 VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "Ljava/lang/Class<" "*>;)" "Ljava/lang/invoke/CallSite;" } 659 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 660 661Class #4 - 662 Class descriptor : 'LUnrelatedBSM;' 663 Access flags : 0x0000 () 664 Superclass : 'Ljava/lang/Object;' 665 Interfaces - 666 Static fields - 667 Instance fields - 668 Direct methods - 669 #0 : (in LUnrelatedBSM;) 670 name : '<init>' 671 type : '()V' 672 access : 0x10000 (CONSTRUCTOR) 673 code - 674 registers : 1 675 ins : 1 676 outs : 1 677 insns size : 4 16-bit code units 678003fc8: |[003fc8] UnrelatedBSM.<init>:()V 679003fd8: 7010 bf00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf 680003fde: 0e00 |0003: return-void 681 catches : (none) 682 positions : 683 0x0000 line=23 684 locals : 685 0x0000 - 0x0004 reg=0 this LUnrelatedBSM; 686 687 #1 : (in LUnrelatedBSM;) 688 name : 'bsm' 689 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;' 690 access : 0x0008 (STATIC) 691 code - 692 registers : 6 693 ins : 4 694 outs : 4 695 insns size : 10 16-bit code units 696003fa4: |[003fa4] UnrelatedBSM.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite; 697003fb4: 6e40 d800 5243 |0000: invoke-virtual {v2, v5, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 698003fba: 0c00 |0003: move-result-object v0 699003fbc: 2201 3400 |0004: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 700003fc0: 7020 d200 0100 |0006: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 701003fc6: 1101 |0009: return-object v1 702 catches : (none) 703 positions : 704 0x0000 line=27 705 0x0004 line=28 706 locals : 707 0x0000 - 0x0000 reg=5 (null) Ljava/lang/Class; 708 0x0004 - 0x000a reg=0 mh Ljava/lang/invoke/MethodHandle; 709 0x0000 - 0x000a reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 710 0x0000 - 0x000a reg=3 name Ljava/lang/String; 711 0x0000 - 0x000a reg=4 methodType Ljava/lang/invoke/MethodType; 712 0x0000 - 0x000a reg=5 target Ljava/lang/Class; Ljava/lang/Class<*>; 713 714 Virtual methods - 715 source_file_idx : 164 (UnrelatedBSM.java) 716 717Class #5 header: 718class_idx : 6 719access_flags : 1 (0x0001) 720superclass_idx : 9 721interfaces_off : 0 (0x000000) 722source_file_idx : 136 723annotations_off : 30772 (0x007834) 724class_data_off : 29036 (0x00716c) 725static_fields_size : 0 726instance_fields_size: 0 727direct_methods_size : 5 728virtual_methods_size: 0 729 730Class #5 annotations: 731Annotations on method #1 'TestLinkerMethodMinimalArguments' 732 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 733Annotations on method #2 'TestLinkerMethodMultipleArgumentTypes' 734 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 735Annotations on method #3 'TestUninitializedCallSite' 736 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 737Annotations on method #7 'main' 738 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 739 740Class #5 - 741 Class descriptor : 'LMain;' 742 Access flags : 0x0001 (PUBLIC) 743 Superclass : 'LTestBase;' 744 Interfaces - 745 Static fields - 746 Instance fields - 747 Direct methods - 748 #0 : (in LMain;) 749 name : '<init>' 750 type : '()V' 751 access : 0x10001 (PUBLIC CONSTRUCTOR) 752 code - 753 registers : 1 754 ins : 1 755 outs : 1 756 insns size : 4 16-bit code units 757001900: |[001900] Main.<init>:()V 758001910: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 759001916: 0e00 |0003: return-void 760 catches : (none) 761 positions : 762 0x0000 line=21 763 locals : 764 0x0000 - 0x0004 reg=0 this LMain; 765 766 #1 : (in LMain;) 767 name : 'TestLinkerMethodMinimalArguments' 768 type : '()V' 769 access : 0x000a (PRIVATE STATIC) 770 code - 771 registers : 4 772 ins : 0 773 outs : 3 774 insns size : 66 16-bit code units 775001918: |[001918] Main.TestLinkerMethodMinimalArguments:()V 776001928: 1210 |0000: const/4 v0, #int 1 // #1 77700192a: 1301 0a00 |0001: const/16 v1, #int 10 // #a 77800192e: 7130 7700 1001 |0003: invoke-static {v0, v1, v1}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 779001934: 7100 0500 0000 |0006: invoke-static {}, LMain;.assertNotReached:()V // method@0005 78000193a: 280f |0009: goto 0018 // +000f 78100193c: 0d00 |000a: move-exception v0 78200193e: 6e10 b600 0000 |000b: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 783001944: 0c02 |000e: move-result-object v2 784001946: 6e10 c000 0200 |000f: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 78500194c: 0c02 |0012: move-result-object v2 78600194e: 1c03 2200 |0013: const-class v3, Ljava/lang/ClassCastException; // type@0022 787001952: 7120 0400 3200 |0015: invoke-static {v2, v3}, LMain;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0004 788001958: 1220 |0018: const/4 v0, #int 2 // #2 78900195a: 1302 0b00 |0019: const/16 v2, #int 11 // #b 79000195e: 7130 7700 1002 |001b: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 791001964: 7100 0500 0000 |001e: invoke-static {}, LMain;.assertNotReached:()V // method@0005 79200196a: 280f |0021: goto 0030 // +000f 79300196c: 0d00 |0022: move-exception v0 79400196e: 6e10 b600 0000 |0023: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 795001974: 0c02 |0026: move-result-object v2 796001976: 6e10 c000 0200 |0027: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 79700197c: 0c02 |002a: move-result-object v2 79800197e: 1c03 2600 |002b: const-class v3, Ljava/lang/InstantiationException; // type@0026 799001982: 7120 0400 3200 |002d: invoke-static {v2, v3}, LMain;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0004 800001988: 1230 |0030: const/4 v0, #int 3 // #3 80100198a: 1302 0c00 |0031: const/16 v2, #int 12 // #c 80200198e: 7130 7700 1002 |0033: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 803001994: 7100 0500 0000 |0036: invoke-static {}, LMain;.assertNotReached:()V // method@0005 80400199a: 2802 |0039: goto 003b // +0002 80500199c: 0d00 |003a: move-exception v0 80600199e: 1200 |003b: const/4 v0, #int 0 // #0 8070019a0: 1302 0d00 |003c: const/16 v2, #int 13 // #d 8080019a4: 7130 7700 1002 |003e: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077 8090019aa: 0e00 |0041: return-void 810 catches : 3 811 0x0003 - 0x0009 812 Ljava/lang/BootstrapMethodError; -> 0x000a 813 0x001b - 0x0021 814 Ljava/lang/BootstrapMethodError; -> 0x0022 815 0x0033 - 0x0039 816 Ljava/lang/ArithmeticException; -> 0x003a 817 positions : 818 0x0000 line=49 819 0x0006 line=53 820 0x0009 line=56 821 0x000a line=54 822 0x000b line=55 823 0x0018 line=59 824 0x001e line=61 825 0x0021 line=64 826 0x0022 line=62 827 0x0023 line=63 828 0x0030 line=67 829 0x0036 line=69 830 0x0039 line=71 831 0x003a line=70 832 0x003b line=73 833 0x0041 line=75 834 locals : 835 0x000b - 0x0018 reg=0 e Ljava/lang/BootstrapMethodError; 836 0x0023 - 0x0030 reg=0 e Ljava/lang/BootstrapMethodError; 837 838 #2 : (in LMain;) 839 name : 'TestLinkerMethodMultipleArgumentTypes' 840 type : '()V' 841 access : 0x000a (PRIVATE STATIC) 842 code - 843 registers : 2 844 ins : 0 845 outs : 2 846 insns size : 22 16-bit code units 8470019d0: |[0019d0] Main.TestLinkerMethodMultipleArgumentTypes:()V 8480019e0: 1300 2100 |0000: const/16 v0, #int 33 // #21 8490019e4: 1301 4300 |0002: const/16 v1, #int 67 // #43 8500019e8: 7120 8400 1000 |0004: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084 8510019ee: 1300 f0d8 |0007: const/16 v0, #int -10000 // #d8f0 8520019f2: 1301 e803 |0009: const/16 v1, #int 1000 // #3e8 8530019f6: 7120 8400 1000 |000b: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084 8540019fc: 1300 18fc |000e: const/16 v0, #int -1000 // #fc18 855001a00: 1301 1027 |0010: const/16 v1, #int 10000 // #2710 856001a04: 7120 8400 1000 |0012: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084 857001a0a: 0e00 |0015: return-void 858 catches : (none) 859 positions : 860 0x0000 line=42 861 0x0007 line=43 862 0x000e line=44 863 0x0015 line=45 864 locals : 865 866 #3 : (in LMain;) 867 name : 'TestUninitializedCallSite' 868 type : '()V' 869 access : 0x000a (PRIVATE STATIC) 870 code - 871 registers : 7 872 ins : 0 873 outs : 3 874 insns size : 78 16-bit code units 875001a0c: |[001a0c] Main.TestUninitializedCallSite:()V 876001a1c: 2200 3900 |0000: new-instance v0, Ljava/lang/invoke/MutableCallSite; // type@0039 877001a20: 6201 1200 |0002: sget-object v1, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012 878001a24: 7110 e100 0100 |0004: invoke-static {v1}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00e1 879001a2a: 0c01 |0007: move-result-object v1 880001a2c: 7020 e600 1000 |0008: invoke-direct {v0, v1}, Ljava/lang/invoke/MutableCallSite;.<init>:(Ljava/lang/invoke/MethodType;)V // method@00e6 881001a32: 6e10 d100 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/CallSite;.getTarget:()Ljava/lang/invoke/MethodHandle; // method@00d1 882001a38: 0c01 |000e: move-result-object v1 883001a3a: fa10 d300 0100 4100 |000f: invoke-polymorphic {v1}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, ()V // method@00d3, proto@0041 884001a42: 7100 0600 0000 |0013: invoke-static {}, LMain;.fail:()V // method@0006 885001a48: 2809 |0016: goto 001f // +0009 886001a4a: 0d01 |0017: move-exception v1 887001a4c: 6202 1300 |0018: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 888001a50: 1a03 2100 |001a: const-string v3, "Caught exception from uninitialized call site" // string@0021 889001a54: 6e20 b300 3200 |001c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 890001a5a: 2201 3900 |001f: new-instance v1, Ljava/lang/invoke/MutableCallSite; // type@0039 891001a5e: 1c02 2c00 |0021: const-class v2, Ljava/lang/String; // type@002c 892001a62: 6203 1200 |0023: sget-object v3, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012 893001a66: 1214 |0025: const/4 v4, #int 1 // #1 894001a68: 2344 4600 |0026: new-array v4, v4, [Ljava/lang/Class; // type@0046 895001a6c: 1205 |0028: const/4 v5, #int 0 // #0 896001a6e: 6206 1100 |0029: sget-object v6, Ljava/lang/Character;.TYPE:Ljava/lang/Class; // field@0011 897001a72: 4d06 0405 |002b: aput-object v6, v4, v5 898001a76: 7130 e200 3204 |002d: invoke-static {v2, v3, v4}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00e2 899001a7c: 0c02 |0030: move-result-object v2 900001a7e: 7020 e600 2100 |0031: invoke-direct {v1, v2}, Ljava/lang/invoke/MutableCallSite;.<init>:(Ljava/lang/invoke/MethodType;)V // method@00e6 901001a84: 0710 |0034: move-object v0, v1 902001a86: 6e10 d100 0000 |0035: invoke-virtual {v0}, Ljava/lang/invoke/CallSite;.getTarget:()Ljava/lang/invoke/MethodHandle; // method@00d1 903001a8c: 0c01 |0038: move-result-object v1 904001a8e: 1302 ff05 |0039: const/16 v2, #int 1535 // #5ff 905001a92: 1303 6400 |003b: const/16 v3, #int 100 // #64 906001a96: fa30 d300 2103 4800 |003d: invoke-polymorphic {v1, v2, v3}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (IC)V // method@00d3, proto@0048 907001a9e: 7100 0600 0000 |0041: invoke-static {}, LMain;.fail:()V // method@0006 908001aa4: 2809 |0044: goto 004d // +0009 909001aa6: 0d01 |0045: move-exception v1 910001aa8: 6202 1300 |0046: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 911001aac: 1a03 2100 |0048: const-string v3, "Caught exception from uninitialized call site" // string@0021 912001ab0: 6e20 b300 3200 |004a: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 913001ab6: 0e00 |004d: return-void 914 catches : 2 915 0x000b - 0x0016 916 Ljava/lang/IllegalStateException; -> 0x0017 917 0x0035 - 0x0044 918 Ljava/lang/IllegalStateException; -> 0x0045 919 positions : 920 0x0000 line=24 921 0x000b line=26 922 0x0013 line=27 923 0x0016 line=30 924 0x0017 line=28 925 0x0018 line=29 926 0x001f line=32 927 0x0035 line=34 928 0x0041 line=35 929 0x0044 line=38 930 0x0045 line=36 931 0x0046 line=37 932 0x004d line=39 933 locals : 934 0x0018 - 0x001f reg=1 e Ljava/lang/IllegalStateException; 935 0x0046 - 0x004d reg=1 e Ljava/lang/IllegalStateException; 936 0x000b - 0x004e reg=0 callSite Ljava/lang/invoke/CallSite; 937 938 #4 : (in LMain;) 939 name : 'main' 940 type : '([Ljava/lang/String;)V' 941 access : 0x0009 (PUBLIC STATIC) 942 code - 943 registers : 1 944 ins : 1 945 outs : 0 946 insns size : 28 16-bit code units 947001ad0: |[001ad0] Main.main:([Ljava/lang/String;)V 948001ae0: 7100 0300 0000 |0000: invoke-static {}, LMain;.TestUninitializedCallSite:()V // method@0003 949001ae6: 7100 0100 0000 |0003: invoke-static {}, LMain;.TestLinkerMethodMinimalArguments:()V // method@0001 950001aec: 7100 0200 0000 |0006: invoke-static {}, LMain;.TestLinkerMethodMultipleArgumentTypes:()V // method@0002 951001af2: 7100 8c00 0000 |0009: invoke-static {}, LTestLinkerUnrelatedBSM;.test:()V // method@008c 952001af8: 7100 6e00 0000 |000c: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.test:()V // method@006e 953001afe: 7100 5b00 0000 |000f: invoke-static {}, LTestInvocationKinds;.test:()V // method@005b 954001b04: 7100 4500 0000 |0012: invoke-static {}, LTestDynamicBootstrapArguments;.test:()V // method@0045 955001b0a: 7100 2b00 0000 |0015: invoke-static {}, LTestBadBootstrapArguments;.test:()V // method@002b 956001b10: 7100 a800 0000 |0018: invoke-static {}, LTestVariableArityLinkerMethod;.test:()V // method@00a8 957001b16: 0e00 |001b: return-void 958 catches : (none) 959 positions : 960 0x0000 line=78 961 0x0003 line=79 962 0x0006 line=80 963 0x0009 line=81 964 0x000c line=82 965 0x000f line=83 966 0x0012 line=84 967 0x0015 line=85 968 0x0018 line=86 969 0x001b line=87 970 locals : 971 0x0000 - 0x001c reg=0 args [Ljava/lang/String; 972 973 Virtual methods - 974 source_file_idx : 136 (Main.java) 975 976Class #6 header: 977class_idx : 8 978access_flags : 1 (0x0001) 979superclass_idx : 9 980interfaces_off : 0 (0x000000) 981source_file_idx : 144 982annotations_off : 30820 (0x007864) 983class_data_off : 29062 (0x007186) 984static_fields_size : 0 985instance_fields_size: 0 986direct_methods_size : 38 987virtual_methods_size: 0 988 989Class #6 annotations: 990Annotations on class 991 VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ LTestBadBootstrapArguments$TestersConstantCallSite; } 992Annotations on method #14 'bsm' 993 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 994Annotations on method #15 'bsmDJ' 995 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 996Annotations on method #16 'bsmDoubleLong' 997 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 998Annotations on method #19 'bsmReturningTestersConstantCallsite' 999 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 1000Annotations on method #21 'bsmZBCS' 1001 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 1002Annotations on method #25 'invokeBoxingArguments' 1003 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDoubleLong" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Double; Ljava/lang/Long; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; longValue={ 9223372036854775807 } } fieldOrMethodName="boxingArguments" 1004Annotations on method #26 'invokeExtraArguments' 1005 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 1 } Lannotations/Constant; stringValue={ "2" } Lannotations/Constant; intValue={ 3 } } fieldOrMethodName="extraArguments" 1006Annotations on method #27 'invokeHappy' 1007 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; stringValue={ "very" } } fieldOrMethodName="happy" 1008Annotations on method #28 'invokeIntegerReturnType' 1009 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningInteger" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=Ljava/lang/Integer; } fieldOrMethodName="integerReturnType" 1010Annotations on method #29 'invokeMissingParameterTypes' 1011 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I D } } constantArgumentsForBootstrapMethod={ } fieldOrMethodName="missingParameterTypes" 1012 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodError; } 1013Annotations on method #30 'invokeNarrowArguments' 1014 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmZBCS" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Z B C S } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; booleanValue={ true } Lannotations/Constant; byteValue={ 127 } Lannotations/Constant; charValue={ 65 } Lannotations/Constant; shortValue={ -32768 } } fieldOrMethodName="narrowArguments" 1015Annotations on method #31 'invokeObjectReturnType' 1016 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningObject" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=Ljava/lang/Object; } fieldOrMethodName="ObjectReturnType" 1017Annotations on method #32 'invokeViaCustomCallSiteClass' 1018 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningTestersConstantCallsite" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=LTestBadBootstrapArguments$TestersConstantCallSite; } fieldOrMethodName="sayHello" 1019Annotations on method #33 'invokeVoidReturnType' 1020 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningVoid" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=V } fieldOrMethodName="voidReturnType" 1021Annotations on method #34 'invokeWideningArguments' 1022 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDJ" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; D J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; intValue={ 2147483647 } } fieldOrMethodName="wideningArguments" 1023Annotations on method #35 'invokeWideningBoxingArguments' 1024 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDoubleLong" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Double; Ljava/lang/Long; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; floatValue={ 3.40282e+38 } Lannotations/Constant; longValue={ 2147483647 } } fieldOrMethodName="wideningBoxingArguments" 1025Annotations on method #36 'invokeWrongArguments' 1026 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "1" } Lannotations/Constant; doubleValue={ 3.14159 } } fieldOrMethodName="wrongArguments" 1027Annotations on method #37 'invokeWrongArgumentsAgain' 1028 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 3.14159 } Lannotations/Constant; stringValue={ "pie" } } fieldOrMethodName="wrongArgumentsAgain" 1029Annotations on method #38 'invokeWrongParameterTypes' 1030 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I D } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; stringValue={ "very" } } fieldOrMethodName="wrongParameterTypes" 1031 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodError; } 1032 1033Class #6 - 1034 Class descriptor : 'LTestBadBootstrapArguments;' 1035 Access flags : 0x0001 (PUBLIC) 1036 Superclass : 'LTestBase;' 1037 Interfaces - 1038 Static fields - 1039 Instance fields - 1040 Direct methods - 1041 #0 : (in LTestBadBootstrapArguments;) 1042 name : '<init>' 1043 type : '()V' 1044 access : 0x10001 (PUBLIC CONSTRUCTOR) 1045 code - 1046 registers : 1 1047 ins : 1 1048 outs : 1 1049 insns size : 4 16-bit code units 1050001d64: |[001d64] TestBadBootstrapArguments.<init>:()V 1051001d74: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 1052001d7a: 0e00 |0003: return-void 1053 catches : (none) 1054 positions : 1055 0x0000 line=27 1056 locals : 1057 0x0000 - 0x0004 reg=0 this LTestBadBootstrapArguments; 1058 1059 #1 : (in LTestBadBootstrapArguments;) 1060 name : 'boxingArguments' 1061 type : '()V' 1062 access : 0x000a (PRIVATE STATIC) 1063 code - 1064 registers : 2 1065 ins : 0 1066 outs : 2 1067 insns size : 8 16-bit code units 1068001d7c: |[001d7c] TestBadBootstrapArguments.boxingArguments:()V 1069001d8c: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1070001d90: 1a01 e900 |0002: const-string v1, "boxingArguments" // string@00e9 1071001d94: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1072001d9a: 0e00 |0007: return-void 1073 catches : (none) 1074 positions : 1075 0x0000 line=348 1076 0x0007 line=349 1077 locals : 1078 1079 #2 : (in LTestBadBootstrapArguments;) 1080 name : 'bsm' 1081 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite;' 1082 access : 0x000a (PRIVATE STATIC) 1083 code - 1084 registers : 7 1085 ins : 5 1086 outs : 4 1087 insns size : 85 16-bit code units 1088001bb4: |[001bb4] TestBadBootstrapArguments.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite; 1089001bc4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1090001bc8: 1a01 ee00 |0002: const-string v1, "bsm(" // string@00ee 1091001bcc: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1092001bd2: 6200 1300 |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1093001bd6: 6e10 dc00 0200 |0009: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 1094001bdc: 0c01 |000c: move-result-object v1 1095001bde: 6e20 af00 1000 |000d: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1096001be4: 6200 1300 |0010: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1097001be8: 1a01 0c00 |0012: const-string v1, ", " // string@000c 1098001bec: 6e20 b000 1000 |0014: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1099001bf2: 6200 1300 |0017: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1100001bf6: 6e20 b000 3000 |0019: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1101001bfc: 6200 1300 |001c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1102001c00: 1a01 0c00 |001e: const-string v1, ", " // string@000c 1103001c04: 6e20 b000 1000 |0020: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1104001c0a: 6200 1300 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1105001c0e: 6e20 af00 4000 |0025: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1106001c14: 6200 1300 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1107001c18: 1a01 0c00 |002a: const-string v1, ", " // string@000c 1108001c1c: 6e20 b000 1000 |002c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1109001c22: 6200 1300 |002f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1110001c26: 6e20 ad00 5000 |0031: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.print:(I)V // method@00ad 1111001c2c: 6200 1300 |0034: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1112001c30: 1a01 0c00 |0036: const-string v1, ", " // string@000c 1113001c34: 6e20 b000 1000 |0038: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1114001c3a: 6200 1300 |003b: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1115001c3e: 6e20 b000 6000 |003d: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1116001c44: 6200 1300 |0040: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1117001c48: 1a01 0700 |0042: const-string v1, ")" // string@0007 1118001c4c: 6e20 b300 1000 |0044: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1119001c52: 6e10 dc00 0200 |0047: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 1120001c58: 0c00 |004a: move-result-object v0 1121001c5a: 6e40 d800 0243 |004b: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 1122001c60: 0c00 |004e: move-result-object v0 1123001c62: 2201 3400 |004f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 1124001c66: 7020 d200 0100 |0051: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 1125001c6c: 1101 |0054: return-object v1 1126 catches : (none) 1127 positions : 1128 0x0000 line=35 1129 0x0007 line=36 1130 0x0010 line=37 1131 0x0017 line=38 1132 0x001c line=39 1133 0x0023 line=40 1134 0x0028 line=41 1135 0x002f line=42 1136 0x0034 line=43 1137 0x003b line=44 1138 0x0040 line=45 1139 0x0047 line=46 1140 0x004f line=47 1141 locals : 1142 0x004f - 0x0055 reg=0 mh Ljava/lang/invoke/MethodHandle; 1143 0x0000 - 0x0055 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1144 0x0000 - 0x0055 reg=3 methodName Ljava/lang/String; 1145 0x0000 - 0x0055 reg=4 methodType Ljava/lang/invoke/MethodType; 1146 0x0000 - 0x0055 reg=5 extraInt I 1147 0x0000 - 0x0055 reg=6 extraString Ljava/lang/String; 1148 1149 #3 : (in LTestBadBootstrapArguments;) 1150 name : 'bsmDJ' 1151 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite;' 1152 access : 0x000a (PRIVATE STATIC) 1153 code - 1154 registers : 9 1155 ins : 7 1156 outs : 4 1157 insns size : 45 16-bit code units 1158001c70: |[001c70] TestBadBootstrapArguments.bsmDJ:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite; 1159001c80: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1160001c84: 1a01 f100 |0002: const-string v1, "bsmDJ(..., " // string@00f1 1161001c88: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1162001c8e: 6200 1300 |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1163001c92: 6e30 ac00 5006 |0009: invoke-virtual {v0, v5, v6}, Ljava/io/PrintStream;.print:(D)V // method@00ac 1164001c98: 6200 1300 |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1165001c9c: 1a01 0c00 |000e: const-string v1, ", " // string@000c 1166001ca0: 6e20 b000 1000 |0010: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1167001ca6: 6200 1300 |0013: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1168001caa: 6e30 ae00 7008 |0015: invoke-virtual {v0, v7, v8}, Ljava/io/PrintStream;.print:(J)V // method@00ae 1169001cb0: 6200 1300 |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1170001cb4: 1a01 0700 |001a: const-string v1, ")" // string@0007 1171001cb8: 6e20 b300 1000 |001c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1172001cbe: 6e10 dc00 0200 |001f: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 1173001cc4: 0c00 |0022: move-result-object v0 1174001cc6: 6e40 d800 0243 |0023: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 1175001ccc: 0c00 |0026: move-result-object v0 1176001cce: 2201 3400 |0027: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 1177001cd2: 7020 d200 0100 |0029: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 1178001cd8: 1101 |002c: return-object v1 1179 catches : (none) 1180 positions : 1181 0x0000 line=270 1182 0x0007 line=271 1183 0x000c line=272 1184 0x0013 line=273 1185 0x0018 line=274 1186 0x001f line=275 1187 0x0027 line=276 1188 locals : 1189 0x0027 - 0x002d reg=0 mh Ljava/lang/invoke/MethodHandle; 1190 0x0000 - 0x002d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1191 0x0000 - 0x002d reg=3 methodName Ljava/lang/String; 1192 0x0000 - 0x002d reg=4 methodType Ljava/lang/invoke/MethodType; 1193 0x0000 - 0x002d reg=5 extraArg0 D 1194 0x0000 - 0x002d reg=7 extraArg1 J 1195 1196 #4 : (in LTestBadBootstrapArguments;) 1197 name : 'bsmDoubleLong' 1198 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite;' 1199 access : 0x000a (PRIVATE STATIC) 1200 code - 1201 registers : 7 1202 ins : 5 1203 outs : 4 1204 insns size : 45 16-bit code units 1205001cdc: |[001cdc] TestBadBootstrapArguments.bsmDoubleLong:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite; 1206001cec: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1207001cf0: 1a01 f300 |0002: const-string v1, "bsmDoubleLong(..., " // string@00f3 1208001cf4: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1209001cfa: 6200 1300 |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1210001cfe: 6e20 af00 5000 |0009: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1211001d04: 6200 1300 |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1212001d08: 1a01 0c00 |000e: const-string v1, ", " // string@000c 1213001d0c: 6e20 b000 1000 |0010: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1214001d12: 6200 1300 |0013: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1215001d16: 6e20 af00 6000 |0015: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1216001d1c: 6200 1300 |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1217001d20: 1a01 0700 |001a: const-string v1, ")" // string@0007 1218001d24: 6e20 b300 1000 |001c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1219001d2a: 6e10 dc00 0200 |001f: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 1220001d30: 0c00 |0022: move-result-object v0 1221001d32: 6e40 d800 0243 |0023: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 1222001d38: 0c00 |0026: move-result-object v0 1223001d3a: 2201 3400 |0027: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 1224001d3e: 7020 d200 0100 |0029: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 1225001d44: 1101 |002c: return-object v1 1226 catches : (none) 1227 positions : 1228 0x0000 line=314 1229 0x0007 line=315 1230 0x000c line=316 1231 0x0013 line=317 1232 0x0018 line=318 1233 0x001f line=319 1234 0x0027 line=320 1235 locals : 1236 0x0027 - 0x002d reg=0 mh Ljava/lang/invoke/MethodHandle; 1237 0x0000 - 0x002d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1238 0x0000 - 0x002d reg=3 methodName Ljava/lang/String; 1239 0x0000 - 0x002d reg=4 methodType Ljava/lang/invoke/MethodType; 1240 0x0000 - 0x002d reg=5 extraArg0 Ljava/lang/Double; 1241 0x0000 - 0x002d reg=6 extraArg1 Ljava/lang/Long; 1242 1243 #5 : (in LTestBadBootstrapArguments;) 1244 name : 'bsmReturningInteger' 1245 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer;' 1246 access : 0x0008 (STATIC) 1247 code - 1248 registers : 5 1249 ins : 3 1250 outs : 2 1251 insns size : 13 16-bit code units 1252001b5c: |[001b5c] TestBadBootstrapArguments.bsmReturningInteger:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer; 1253001b6c: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1254001b70: 1a01 eb00 |0002: const-string v1, "bsm returning Integer value." // string@00eb 1255001b74: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1256001b7a: 1230 |0007: const/4 v0, #int 3 // #3 1257001b7c: 7110 bd00 0000 |0008: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 1258001b82: 0c00 |000b: move-result-object v0 1259001b84: 1100 |000c: return-object v0 1260 catches : (none) 1261 positions : 1262 0x0000 line=425 1263 0x0007 line=426 1264 locals : 1265 0x0000 - 0x000d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1266 0x0000 - 0x000d reg=3 name Ljava/lang/String; 1267 0x0000 - 0x000d reg=4 type Ljava/lang/invoke/MethodType; 1268 1269 #6 : (in LTestBadBootstrapArguments;) 1270 name : 'bsmReturningObject' 1271 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object;' 1272 access : 0x0008 (STATIC) 1273 code - 1274 registers : 5 1275 ins : 3 1276 outs : 2 1277 insns size : 13 16-bit code units 1278001b88: |[001b88] TestBadBootstrapArguments.bsmReturningObject:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object; 1279001b98: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1280001b9c: 1a01 ec00 |0002: const-string v1, "bsm returning Object value." // string@00ec 1281001ba0: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1282001ba6: 2200 2a00 |0007: new-instance v0, Ljava/lang/Object; // type@002a 1283001baa: 7010 bf00 0000 |0009: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf 1284001bb0: 1100 |000c: return-object v0 1285 catches : (none) 1286 positions : 1287 0x0000 line=402 1288 0x0007 line=403 1289 locals : 1290 0x0000 - 0x000d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1291 0x0000 - 0x000d reg=3 name Ljava/lang/String; 1292 0x0000 - 0x000d reg=4 type Ljava/lang/invoke/MethodType; 1293 1294 #7 : (in LTestBadBootstrapArguments;) 1295 name : 'bsmReturningTestersConstantCallsite' 1296 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite;' 1297 access : 0x0008 (STATIC) 1298 code - 1299 registers : 5 1300 ins : 3 1301 outs : 4 1302 insns size : 14 16-bit code units 1303001b30: |[001b30] TestBadBootstrapArguments.bsmReturningTestersConstantCallsite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite; 1304001b40: 2200 0700 |0000: new-instance v0, LTestBadBootstrapArguments$TestersConstantCallSite; // type@0007 1305001b44: 6e10 dc00 0200 |0002: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 1306001b4a: 0c01 |0005: move-result-object v1 1307001b4c: 6e40 d800 1243 |0006: invoke-virtual {v2, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 1308001b52: 0c01 |0009: move-result-object v1 1309001b54: 7020 0800 1000 |000a: invoke-direct {v0, v1}, LTestBadBootstrapArguments$TestersConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0008 1310001b5a: 1100 |000d: return-object v0 1311 catches : (none) 1312 positions : 1313 0x0000 line=455 1314 locals : 1315 0x0000 - 0x000e reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1316 0x0000 - 0x000e reg=3 name Ljava/lang/String; 1317 0x0000 - 0x000e reg=4 type Ljava/lang/invoke/MethodType; 1318 1319 #8 : (in LTestBadBootstrapArguments;) 1320 name : 'bsmReturningVoid' 1321 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V' 1322 access : 0x0008 (STATIC) 1323 code - 1324 registers : 5 1325 ins : 3 1326 outs : 2 1327 insns size : 8 16-bit code units 1328001d9c: |[001d9c] TestBadBootstrapArguments.bsmReturningVoid:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V 1329001dac: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1330001db0: 1a01 ed00 |0002: const-string v1, "bsm returning void value." // string@00ed 1331001db4: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1332001dba: 0e00 |0007: return-void 1333 catches : (none) 1334 positions : 1335 0x0000 line=380 1336 0x0007 line=381 1337 locals : 1338 0x0000 - 0x0008 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1339 0x0000 - 0x0008 reg=3 name Ljava/lang/String; 1340 0x0000 - 0x0008 reg=4 type Ljava/lang/invoke/MethodType; 1341 1342 #9 : (in LTestBadBootstrapArguments;) 1343 name : 'bsmZBCS' 1344 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite;' 1345 access : 0x000a (PRIVATE STATIC) 1346 code - 1347 registers : 8 1348 ins : 7 1349 outs : 0 1350 insns size : 5 16-bit code units 1351001d48: |[001d48] TestBadBootstrapArguments.bsmZBCS:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite; 1352001d58: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1353001d5e: 1200 |0003: const/4 v0, #int 0 // #0 1354001d60: 1100 |0004: return-object v0 1355 catches : (none) 1356 positions : 1357 0x0000 line=227 1358 0x0003 line=228 1359 locals : 1360 0x0000 - 0x0005 reg=1 lookup Ljava/lang/invoke/MethodHandles$Lookup; 1361 0x0000 - 0x0005 reg=2 methodName Ljava/lang/String; 1362 0x0000 - 0x0005 reg=3 methodType Ljava/lang/invoke/MethodType; 1363 0x0000 - 0x0005 reg=4 extraArg0 Z 1364 0x0000 - 0x0005 reg=5 extraArg1 B 1365 0x0000 - 0x0005 reg=6 extraArg2 C 1366 0x0000 - 0x0005 reg=7 extraArg3 S 1367 1368 #10 : (in LTestBadBootstrapArguments;) 1369 name : 'extraArguments' 1370 type : '()V' 1371 access : 0x000a (PRIVATE STATIC) 1372 code - 1373 registers : 2 1374 ins : 0 1375 outs : 2 1376 insns size : 8 16-bit code units 1377001dbc: |[001dbc] TestBadBootstrapArguments.extraArguments:()V 1378001dcc: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1379001dd0: 1a01 2001 |0002: const-string v1, "extraArguments" // string@0120 1380001dd4: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1381001dda: 0e00 |0007: return-void 1382 catches : (none) 1383 positions : 1384 0x0000 line=158 1385 0x0007 line=159 1386 locals : 1387 1388 #11 : (in LTestBadBootstrapArguments;) 1389 name : 'happy' 1390 type : '()V' 1391 access : 0x000a (PRIVATE STATIC) 1392 code - 1393 registers : 2 1394 ins : 0 1395 outs : 2 1396 insns size : 8 16-bit code units 1397001ddc: |[001ddc] TestBadBootstrapArguments.happy:()V 1398001dec: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1399001df0: 1a01 3d01 |0002: const-string v1, "happy" // string@013d 1400001df4: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1401001dfa: 0e00 |0007: return-void 1402 catches : (none) 1403 positions : 1404 0x0000 line=74 1405 0x0007 line=75 1406 locals : 1407 1408 #12 : (in LTestBadBootstrapArguments;) 1409 name : 'integerReturnType' 1410 type : '()V' 1411 access : 0x000a (PRIVATE STATIC) 1412 code - 1413 registers : 0 1414 ins : 0 1415 outs : 0 1416 insns size : 4 16-bit code units 1417001dfc: |[001dfc] TestBadBootstrapArguments.integerReturnType:()V 1418001e0c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1419001e12: 0e00 |0003: return-void 1420 catches : (none) 1421 positions : 1422 0x0000 line=444 1423 0x0003 line=445 1424 locals : 1425 1426 #13 : (in LTestBadBootstrapArguments;) 1427 name : 'invokeBoxingArguments' 1428 type : '()V' 1429 access : 0x000a (PRIVATE STATIC) 1430 code - 1431 registers : 0 1432 ins : 0 1433 outs : 0 1434 insns size : 4 16-bit code units 1435001e14: |[001e14] TestBadBootstrapArguments.invokeBoxingArguments:()V 1436001e24: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1437001e2a: 0e00 |0003: return-void 1438 catches : (none) 1439 positions : 1440 0x0000 line=344 1441 0x0003 line=345 1442 locals : 1443 1444 #14 : (in LTestBadBootstrapArguments;) 1445 name : 'invokeExtraArguments' 1446 type : '()V' 1447 access : 0x000a (PRIVATE STATIC) 1448 code - 1449 registers : 0 1450 ins : 0 1451 outs : 0 1452 insns size : 4 16-bit code units 1453001e2c: |[001e2c] TestBadBootstrapArguments.invokeExtraArguments:()V 1454001e3c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1455001e42: 0e00 |0003: return-void 1456 catches : (none) 1457 positions : 1458 0x0000 line=154 1459 0x0003 line=155 1460 locals : 1461 1462 #15 : (in LTestBadBootstrapArguments;) 1463 name : 'invokeHappy' 1464 type : '()V' 1465 access : 0x000a (PRIVATE STATIC) 1466 code - 1467 registers : 0 1468 ins : 0 1469 outs : 0 1470 insns size : 4 16-bit code units 1471001e44: |[001e44] TestBadBootstrapArguments.invokeHappy:()V 1472001e54: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1473001e5a: 0e00 |0003: return-void 1474 catches : (none) 1475 positions : 1476 0x0000 line=70 1477 0x0003 line=71 1478 locals : 1479 1480 #16 : (in LTestBadBootstrapArguments;) 1481 name : 'invokeIntegerReturnType' 1482 type : '()V' 1483 access : 0x000a (PRIVATE STATIC) 1484 code - 1485 registers : 0 1486 ins : 0 1487 outs : 0 1488 insns size : 4 16-bit code units 1489001e5c: |[001e5c] TestBadBootstrapArguments.invokeIntegerReturnType:()V 1490001e6c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1491001e72: 0e00 |0003: return-void 1492 catches : (none) 1493 positions : 1494 0x0000 line=440 1495 0x0003 line=441 1496 locals : 1497 1498 #17 : (in LTestBadBootstrapArguments;) 1499 name : 'invokeMissingParameterTypes' 1500 type : '()V' 1501 access : 0x000a (PRIVATE STATIC) 1502 code - 1503 registers : 0 1504 ins : 0 1505 outs : 0 1506 insns size : 4 16-bit code units 1507001e74: |[001e74] TestBadBootstrapArguments.invokeMissingParameterTypes:()V 1508001e84: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1509001e8a: 0e00 |0003: return-void 1510 catches : (none) 1511 positions : 1512 0x0000 line=124 1513 0x0003 line=125 1514 locals : 1515 1516 #18 : (in LTestBadBootstrapArguments;) 1517 name : 'invokeNarrowArguments' 1518 type : '()V' 1519 access : 0x000a (PRIVATE STATIC) 1520 code - 1521 registers : 0 1522 ins : 0 1523 outs : 0 1524 insns size : 4 16-bit code units 1525001e8c: |[001e8c] TestBadBootstrapArguments.invokeNarrowArguments:()V 1526001e9c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1527001ea2: 0e00 |0003: return-void 1528 catches : (none) 1529 positions : 1530 0x0000 line=256 1531 0x0003 line=257 1532 locals : 1533 1534 #19 : (in LTestBadBootstrapArguments;) 1535 name : 'invokeObjectReturnType' 1536 type : '()V' 1537 access : 0x000a (PRIVATE STATIC) 1538 code - 1539 registers : 0 1540 ins : 0 1541 outs : 0 1542 insns size : 4 16-bit code units 1543001ea4: |[001ea4] TestBadBootstrapArguments.invokeObjectReturnType:()V 1544001eb4: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1545001eba: 0e00 |0003: return-void 1546 catches : (none) 1547 positions : 1548 0x0000 line=417 1549 0x0003 line=418 1550 locals : 1551 1552 #20 : (in LTestBadBootstrapArguments;) 1553 name : 'invokeViaCustomCallSiteClass' 1554 type : '()V' 1555 access : 0x000a (PRIVATE STATIC) 1556 code - 1557 registers : 0 1558 ins : 0 1559 outs : 0 1560 insns size : 4 16-bit code units 1561001ebc: |[001ebc] TestBadBootstrapArguments.invokeViaCustomCallSiteClass:()V 1562001ecc: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1563001ed2: 0e00 |0003: return-void 1564 catches : (none) 1565 positions : 1566 0x0000 line=469 1567 0x0003 line=470 1568 locals : 1569 1570 #21 : (in LTestBadBootstrapArguments;) 1571 name : 'invokeVoidReturnType' 1572 type : '()V' 1573 access : 0x000a (PRIVATE STATIC) 1574 code - 1575 registers : 0 1576 ins : 0 1577 outs : 0 1578 insns size : 4 16-bit code units 1579001ed4: |[001ed4] TestBadBootstrapArguments.invokeVoidReturnType:()V 1580001ee4: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1581001eea: 0e00 |0003: return-void 1582 catches : (none) 1583 positions : 1584 0x0000 line=394 1585 0x0003 line=395 1586 locals : 1587 1588 #22 : (in LTestBadBootstrapArguments;) 1589 name : 'invokeWideningArguments' 1590 type : '()V' 1591 access : 0x000a (PRIVATE STATIC) 1592 code - 1593 registers : 0 1594 ins : 0 1595 outs : 0 1596 insns size : 4 16-bit code units 1597001eec: |[001eec] TestBadBootstrapArguments.invokeWideningArguments:()V 1598001efc: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1599001f02: 0e00 |0003: return-void 1600 catches : (none) 1601 positions : 1602 0x0000 line=300 1603 0x0003 line=301 1604 locals : 1605 1606 #23 : (in LTestBadBootstrapArguments;) 1607 name : 'invokeWideningBoxingArguments' 1608 type : '()V' 1609 access : 0x000a (PRIVATE STATIC) 1610 code - 1611 registers : 0 1612 ins : 0 1613 outs : 0 1614 insns size : 4 16-bit code units 1615001f04: |[001f04] TestBadBootstrapArguments.invokeWideningBoxingArguments:()V 1616001f14: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1617001f1a: 0e00 |0003: return-void 1618 catches : (none) 1619 positions : 1620 0x0000 line=372 1621 0x0003 line=373 1622 locals : 1623 1624 #24 : (in LTestBadBootstrapArguments;) 1625 name : 'invokeWrongArguments' 1626 type : '()V' 1627 access : 0x000a (PRIVATE STATIC) 1628 code - 1629 registers : 0 1630 ins : 0 1631 outs : 0 1632 insns size : 4 16-bit code units 1633001f1c: |[001f1c] TestBadBootstrapArguments.invokeWrongArguments:()V 1634001f2c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1635001f32: 0e00 |0003: return-void 1636 catches : (none) 1637 positions : 1638 0x0000 line=182 1639 0x0003 line=183 1640 locals : 1641 1642 #25 : (in LTestBadBootstrapArguments;) 1643 name : 'invokeWrongArgumentsAgain' 1644 type : '()V' 1645 access : 0x000a (PRIVATE STATIC) 1646 code - 1647 registers : 0 1648 ins : 0 1649 outs : 0 1650 insns size : 4 16-bit code units 1651001f34: |[001f34] TestBadBootstrapArguments.invokeWrongArgumentsAgain:()V 1652001f44: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1653001f4a: 0e00 |0003: return-void 1654 catches : (none) 1655 positions : 1656 0x0000 line=210 1657 0x0003 line=211 1658 locals : 1659 1660 #26 : (in LTestBadBootstrapArguments;) 1661 name : 'invokeWrongParameterTypes' 1662 type : '()V' 1663 access : 0x000a (PRIVATE STATIC) 1664 code - 1665 registers : 0 1666 ins : 0 1667 outs : 0 1668 insns size : 4 16-bit code units 1669001f4c: |[001f4c] TestBadBootstrapArguments.invokeWrongParameterTypes:()V 1670001f5c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1671001f62: 0e00 |0003: return-void 1672 catches : (none) 1673 positions : 1674 0x0000 line=98 1675 0x0003 line=99 1676 locals : 1677 1678 #27 : (in LTestBadBootstrapArguments;) 1679 name : 'missingParameterTypes' 1680 type : '()V' 1681 access : 0x000a (PRIVATE STATIC) 1682 code - 1683 registers : 2 1684 ins : 0 1685 outs : 2 1686 insns size : 8 16-bit code units 1687001f64: |[001f64] TestBadBootstrapArguments.missingParameterTypes:()V 1688001f74: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1689001f78: 1a01 8c01 |0002: const-string v1, "missingParameterTypes" // string@018c 1690001f7c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1691001f82: 0e00 |0007: return-void 1692 catches : (none) 1693 positions : 1694 0x0000 line=128 1695 0x0007 line=129 1696 locals : 1697 1698 #28 : (in LTestBadBootstrapArguments;) 1699 name : 'narrowArguments' 1700 type : '()V' 1701 access : 0x000a (PRIVATE STATIC) 1702 code - 1703 registers : 0 1704 ins : 0 1705 outs : 0 1706 insns size : 4 16-bit code units 1707001f84: |[001f84] TestBadBootstrapArguments.narrowArguments:()V 1708001f94: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1709001f9a: 0e00 |0003: return-void 1710 catches : (none) 1711 positions : 1712 0x0000 line=260 1713 0x0003 line=261 1714 locals : 1715 1716 #29 : (in LTestBadBootstrapArguments;) 1717 name : 'objectReturnType' 1718 type : '()V' 1719 access : 0x000a (PRIVATE STATIC) 1720 code - 1721 registers : 0 1722 ins : 0 1723 outs : 0 1724 insns size : 4 16-bit code units 1725001f9c: |[001f9c] TestBadBootstrapArguments.objectReturnType:()V 1726001fac: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1727001fb2: 0e00 |0003: return-void 1728 catches : (none) 1729 positions : 1730 0x0000 line=421 1731 0x0003 line=422 1732 locals : 1733 1734 #30 : (in LTestBadBootstrapArguments;) 1735 name : 'sayHello' 1736 type : '()V' 1737 access : 0x000a (PRIVATE STATIC) 1738 code - 1739 registers : 2 1740 ins : 0 1741 outs : 2 1742 insns size : 8 16-bit code units 1743001fb4: |[001fb4] TestBadBootstrapArguments.sayHello:()V 1744001fc4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1745001fc8: 1a01 2d00 |0002: const-string v1, "Hello!" // string@002d 1746001fcc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1747001fd2: 0e00 |0007: return-void 1748 catches : (none) 1749 positions : 1750 0x0000 line=473 1751 0x0007 line=474 1752 locals : 1753 1754 #31 : (in LTestBadBootstrapArguments;) 1755 name : 'test' 1756 type : '()V' 1757 access : 0x0008 (STATIC) 1758 code - 1759 registers : 3 1760 ins : 0 1761 outs : 2 1762 insns size : 529 16-bit code units 1763001fd4: |[001fd4] TestBadBootstrapArguments.test:()V 1764001fe4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1765001fe8: 1a01 8f00 |0002: const-string v1, "TestBadBootstrapArguments" // string@008f 1766001fec: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 1767001ff2: fc00 0000 0000 |0007: invoke-custom {}, call_site@0000 1768001ff8: fc00 0100 0000 |000a: invoke-custom {}, call_site@0001 1769001ffe: 7100 0b00 0000 |000d: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1770002004: 2812 |0010: goto 0022 // +0012 1771002006: 0d00 |0011: move-exception v0 1772002008: 6201 1300 |0012: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 177300200c: 1a02 6101 |0014: const-string v2, "invokeWrongParameterTypes => " // string@0161 1774002010: 6e20 b000 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1775002016: 6201 1300 |0019: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 177600201a: 6e10 c000 0000 |001b: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1777002020: 0c02 |001e: move-result-object v2 1778002022: 6e20 b200 2100 |001f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 1779002028: fc00 0200 0000 |0022: invoke-custom {}, call_site@0002 178000202e: 7100 0b00 0000 |0025: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1781002034: 2812 |0028: goto 003a // +0012 1782002036: 0d00 |0029: move-exception v0 1783002038: 6201 1300 |002a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 178400203c: 1a02 5101 |002c: const-string v2, "invokeMissingParameterTypes => " // string@0151 1785002040: 6e20 b000 2100 |002e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1786002046: 6201 1300 |0031: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 178700204a: 6e10 c000 0000 |0033: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1788002050: 0c02 |0036: move-result-object v2 1789002052: 6e20 b200 2100 |0037: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 1790002058: fc00 0300 0000 |003a: invoke-custom {}, call_site@0003 179100205e: 7100 0b00 0000 |003d: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1792002064: 2833 |0040: goto 0073 // +0033 1793002066: 0d00 |0041: move-exception v0 1794002068: 1c01 3a00 |0042: const-class v1, Ljava/lang/invoke/WrongMethodTypeException; // type@003a 179500206c: 6e10 b600 0000 |0044: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 1796002072: 0c02 |0047: move-result-object v2 1797002074: 6e10 c000 0200 |0048: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 179800207a: 0c02 |004b: move-result-object v2 179900207c: 7120 0a00 2100 |004c: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 1800002082: 6201 1300 |004f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1801002086: 1a02 4c01 |0051: const-string v2, "invokeExtraArguments => " // string@014c 180200208a: 6e20 b000 2100 |0053: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1803002090: 6201 1300 |0056: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1804002094: 6e10 c000 0000 |0058: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 180500209a: 0c02 |005b: move-result-object v2 180600209c: 6e20 af00 2100 |005c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 18070020a2: 6201 1300 |005f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 18080020a6: 1a02 0200 |0061: const-string v2, " => " // string@0002 18090020aa: 6e20 b000 2100 |0063: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 18100020b0: 6201 1300 |0066: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 18110020b4: 6e10 b600 0000 |0068: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 18120020ba: 0c02 |006b: move-result-object v2 18130020bc: 6e10 c000 0200 |006c: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 18140020c2: 0c02 |006f: move-result-object v2 18150020c4: 6e20 b200 2100 |0070: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 18160020ca: fc00 0400 0000 |0073: invoke-custom {}, call_site@0004 18170020d0: 7100 0b00 0000 |0076: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 18180020d6: 2833 |0079: goto 00ac // +0033 18190020d8: 0d00 |007a: move-exception v0 18200020da: 1c01 2200 |007b: const-class v1, Ljava/lang/ClassCastException; // type@0022 18210020de: 6e10 b600 0000 |007d: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 18220020e4: 0c02 |0080: move-result-object v2 18230020e6: 6e10 c000 0200 |0081: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 18240020ec: 0c02 |0084: move-result-object v2 18250020ee: 7120 0a00 2100 |0085: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 18260020f4: 6201 1300 |0088: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 18270020f8: 1a02 5d01 |008a: const-string v2, "invokeWrongArguments => " // string@015d 18280020fc: 6e20 b000 2100 |008c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1829002102: 6201 1300 |008f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1830002106: 6e10 c000 0000 |0091: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 183100210c: 0c02 |0094: move-result-object v2 183200210e: 6e20 af00 2100 |0095: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1833002114: 6201 1300 |0098: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1834002118: 1a02 0200 |009a: const-string v2, " => " // string@0002 183500211c: 6e20 b000 2100 |009c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1836002122: 6201 1300 |009f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1837002126: 6e10 b600 0000 |00a1: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 183800212c: 0c02 |00a4: move-result-object v2 183900212e: 6e10 c000 0200 |00a5: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1840002134: 0c02 |00a8: move-result-object v2 1841002136: 6e20 b200 2100 |00a9: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 184200213c: fc00 0500 0000 |00ac: invoke-custom {}, call_site@0005 1843002142: 7100 0b00 0000 |00af: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1844002148: 2833 |00b2: goto 00e5 // +0033 184500214a: 0d00 |00b3: move-exception v0 184600214c: 1c01 2200 |00b4: const-class v1, Ljava/lang/ClassCastException; // type@0022 1847002150: 6e10 b600 0000 |00b6: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 1848002156: 0c02 |00b9: move-result-object v2 1849002158: 6e10 c000 0200 |00ba: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 185000215e: 0c02 |00bd: move-result-object v2 1851002160: 7120 0a00 2100 |00be: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 1852002166: 6201 1300 |00c1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 185300216a: 1a02 5d01 |00c3: const-string v2, "invokeWrongArguments => " // string@015d 185400216e: 6e20 b000 2100 |00c5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1855002174: 6201 1300 |00c8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1856002178: 6e10 c000 0000 |00ca: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 185700217e: 0c02 |00cd: move-result-object v2 1858002180: 6e20 af00 2100 |00ce: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1859002186: 6201 1300 |00d1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 186000218a: 1a02 0200 |00d3: const-string v2, " => " // string@0002 186100218e: 6e20 b000 2100 |00d5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1862002194: 6201 1300 |00d8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1863002198: 6e10 b600 0000 |00da: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 186400219e: 0c02 |00dd: move-result-object v2 18650021a0: 6e10 c000 0200 |00de: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 18660021a6: 0c02 |00e1: move-result-object v2 18670021a8: 6e20 b200 2100 |00e2: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 18680021ae: fc00 0600 0000 |00e5: invoke-custom {}, call_site@0006 18690021b4: 7100 0b00 0000 |00e8: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 18700021ba: 2833 |00eb: goto 011e // +0033 18710021bc: 0d00 |00ec: move-exception v0 18720021be: 1c01 2200 |00ed: const-class v1, Ljava/lang/ClassCastException; // type@0022 18730021c2: 6e10 b600 0000 |00ef: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 18740021c8: 0c02 |00f2: move-result-object v2 18750021ca: 6e10 c000 0200 |00f3: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 18760021d0: 0c02 |00f6: move-result-object v2 18770021d2: 7120 0a00 2100 |00f7: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 18780021d8: 6201 1300 |00fa: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 18790021dc: 1a02 5f01 |00fc: const-string v2, "invokeWrongArgumentsAgain => " // string@015f 18800021e0: 6e20 b000 2100 |00fe: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 18810021e6: 6201 1300 |0101: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 18820021ea: 6e10 c000 0000 |0103: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 18830021f0: 0c02 |0106: move-result-object v2 18840021f2: 6e20 af00 2100 |0107: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 18850021f8: 6201 1300 |010a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 18860021fc: 1a02 0200 |010c: const-string v2, " => " // string@0002 1887002200: 6e20 b000 2100 |010e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1888002206: 6201 1300 |0111: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 188900220a: 6e10 b600 0000 |0113: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 1890002210: 0c02 |0116: move-result-object v2 1891002212: 6e10 c000 0200 |0117: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1892002218: 0c02 |011a: move-result-object v2 189300221a: 6e20 b200 2100 |011b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 1894002220: fc00 0700 0000 |011e: invoke-custom {}, call_site@0007 1895002226: 7100 0b00 0000 |0121: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 189600222c: 2833 |0124: goto 0157 // +0033 189700222e: 0d00 |0125: move-exception v0 1898002230: 1c01 2200 |0126: const-class v1, Ljava/lang/ClassCastException; // type@0022 1899002234: 6e10 b600 0000 |0128: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 190000223a: 0c02 |012b: move-result-object v2 190100223c: 6e10 c000 0200 |012c: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1902002242: 0c02 |012f: move-result-object v2 1903002244: 7120 0a00 2100 |0130: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a 190400224a: 6201 1300 |0133: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 190500224e: 1a02 5301 |0135: const-string v2, "invokeNarrowArguments => " // string@0153 1906002252: 6e20 b000 2100 |0137: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1907002258: 6201 1300 |013a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 190800225c: 6e10 c000 0000 |013c: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1909002262: 0c02 |013f: move-result-object v2 1910002264: 6e20 af00 2100 |0140: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 191100226a: 6201 1300 |0143: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 191200226e: 1a02 0200 |0145: const-string v2, " => " // string@0002 1913002272: 6e20 b000 2100 |0147: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1914002278: 6201 1300 |014a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 191500227c: 6e10 b600 0000 |014c: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 1916002282: 0c02 |014f: move-result-object v2 1917002284: 6e10 c000 0200 |0150: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 191800228a: 0c02 |0153: move-result-object v2 191900228c: 6e20 b200 2100 |0154: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 1920002292: fc00 0800 0000 |0157: invoke-custom {}, call_site@0008 1921002298: fc00 0900 0000 |015a: invoke-custom {}, call_site@0009 192200229e: fc00 0a00 0000 |015d: invoke-custom {}, call_site@000a 19230022a4: 7100 0b00 0000 |0160: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 19240022aa: 2826 |0163: goto 0189 // +0026 19250022ac: 0d00 |0164: move-exception v0 19260022ae: 6201 1300 |0165: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19270022b2: 1a02 5b01 |0167: const-string v2, "invokeWideningBoxingArguments => " // string@015b 19280022b6: 6e20 b000 2100 |0169: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 19290022bc: 6201 1300 |016c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19300022c0: 6e10 c000 0000 |016e: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 19310022c6: 0c02 |0171: move-result-object v2 19320022c8: 6e20 af00 2100 |0172: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 19330022ce: 6201 1300 |0175: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19340022d2: 1a02 0200 |0177: const-string v2, " => " // string@0002 19350022d6: 6e20 b000 2100 |0179: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 19360022dc: 6201 1300 |017c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19370022e0: 6e10 b600 0000 |017e: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 19380022e6: 0c02 |0181: move-result-object v2 19390022e8: 6e10 c000 0200 |0182: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 19400022ee: 0c02 |0185: move-result-object v2 19410022f0: 6e20 b200 2100 |0186: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 19420022f6: fc00 0b00 0000 |0189: invoke-custom {}, call_site@000b 19430022fc: 7100 0b00 0000 |018c: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 1944002302: 2826 |018f: goto 01b5 // +0026 1945002304: 0d00 |0190: move-exception v0 1946002306: 6201 1300 |0191: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 194700230a: 1a02 5801 |0193: const-string v2, "invokeVoidReturnType() => " // string@0158 194800230e: 6e20 b000 2100 |0195: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1949002314: 6201 1300 |0198: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1950002318: 6e10 c000 0000 |019a: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 195100231e: 0c02 |019d: move-result-object v2 1952002320: 6e20 af00 2100 |019e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 1953002326: 6201 1300 |01a1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 195400232a: 1a02 0200 |01a3: const-string v2, " => " // string@0002 195500232e: 6e20 b000 2100 |01a5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 1956002334: 6201 1300 |01a8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1957002338: 6e10 b600 0000 |01aa: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 195800233e: 0c02 |01ad: move-result-object v2 1959002340: 6e10 c000 0200 |01ae: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1960002346: 0c02 |01b1: move-result-object v2 1961002348: 6e20 b200 2100 |01b2: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 196200234e: fc00 0c00 0000 |01b5: invoke-custom {}, call_site@000c 1963002354: 7100 0b00 0000 |01b8: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 196400235a: 2826 |01bb: goto 01e1 // +0026 196500235c: 0d00 |01bc: move-exception v0 196600235e: 6201 1300 |01bd: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1967002362: 1a02 5501 |01bf: const-string v2, "invokeObjectReturnType() => " // string@0155 1968002366: 6e20 b000 2100 |01c1: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 196900236c: 6201 1300 |01c4: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1970002370: 6e10 c000 0000 |01c6: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 1971002376: 0c02 |01c9: move-result-object v2 1972002378: 6e20 af00 2100 |01ca: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 197300237e: 6201 1300 |01cd: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1974002382: 1a02 0200 |01cf: const-string v2, " => " // string@0002 1975002386: 6e20 b000 2100 |01d1: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 197600238c: 6201 1300 |01d4: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 1977002390: 6e10 b600 0000 |01d6: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 1978002396: 0c02 |01d9: move-result-object v2 1979002398: 6e10 c000 0200 |01da: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 198000239e: 0c02 |01dd: move-result-object v2 19810023a0: 6e20 b200 2100 |01de: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 19820023a6: fc00 0d00 0000 |01e1: invoke-custom {}, call_site@000d 19830023ac: 7100 0b00 0000 |01e4: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 19840023b2: 2826 |01e7: goto 020d // +0026 19850023b4: 0d00 |01e8: move-exception v0 19860023b6: 6201 1300 |01e9: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19870023ba: 1a02 4f01 |01eb: const-string v2, "invokeIntegerReturnType() => " // string@014f 19880023be: 6e20 b000 2100 |01ed: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 19890023c4: 6201 1300 |01f0: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19900023c8: 6e10 c000 0000 |01f2: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 19910023ce: 0c02 |01f5: move-result-object v2 19920023d0: 6e20 af00 2100 |01f6: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 19930023d6: 6201 1300 |01f9: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19940023da: 1a02 0200 |01fb: const-string v2, " => " // string@0002 19950023de: 6e20 b000 2100 |01fd: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 19960023e4: 6201 1300 |0200: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 19970023e8: 6e10 b600 0000 |0202: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 19980023ee: 0c02 |0205: move-result-object v2 19990023f0: 6e10 c000 0200 |0206: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 20000023f6: 0c02 |0209: move-result-object v2 20010023f8: 6e20 b200 2100 |020a: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 20020023fe: fc00 0e00 0000 |020d: invoke-custom {}, call_site@000e 2003002404: 0e00 |0210: return-void 2004 catches : 11 2005 0x000a - 0x0010 2006 Ljava/lang/NoSuchMethodError; -> 0x0011 2007 0x0022 - 0x0028 2008 Ljava/lang/NoSuchMethodError; -> 0x0029 2009 0x003a - 0x0040 2010 Ljava/lang/BootstrapMethodError; -> 0x0041 2011 0x0073 - 0x0079 2012 Ljava/lang/BootstrapMethodError; -> 0x007a 2013 0x00ac - 0x00b2 2014 Ljava/lang/BootstrapMethodError; -> 0x00b3 2015 0x00e5 - 0x00eb 2016 Ljava/lang/BootstrapMethodError; -> 0x00ec 2017 0x011e - 0x0124 2018 Ljava/lang/BootstrapMethodError; -> 0x0125 2019 0x015d - 0x0163 2020 Ljava/lang/BootstrapMethodError; -> 0x0164 2021 0x0189 - 0x018f 2022 Ljava/lang/BootstrapMethodError; -> 0x0190 2023 0x01b5 - 0x01bb 2024 Ljava/lang/BootstrapMethodError; -> 0x01bc 2025 0x01e1 - 0x01e7 2026 Ljava/lang/BootstrapMethodError; -> 0x01e8 2027 positions : 2028 0x0000 line=477 2029 0x0007 line=478 2030 0x000a line=480 2031 0x000d line=481 2032 0x0010 line=485 2033 0x0011 line=482 2034 0x0012 line=483 2035 0x0019 line=484 2036 0x0022 line=487 2037 0x0025 line=488 2038 0x0028 line=492 2039 0x0029 line=489 2040 0x002a line=490 2041 0x0031 line=491 2042 0x003a line=494 2043 0x003d line=495 2044 0x0040 line=502 2045 0x0041 line=496 2046 0x0042 line=497 2047 0x004f line=498 2048 0x0056 line=499 2049 0x005f line=500 2050 0x0066 line=501 2051 0x0073 line=504 2052 0x0076 line=505 2053 0x0079 line=512 2054 0x007a line=506 2055 0x007b line=507 2056 0x0088 line=508 2057 0x008f line=509 2058 0x0098 line=510 2059 0x009f line=511 2060 0x00ac line=514 2061 0x00af line=515 2062 0x00b2 line=522 2063 0x00b3 line=516 2064 0x00b4 line=517 2065 0x00c1 line=518 2066 0x00c8 line=519 2067 0x00d1 line=520 2068 0x00d8 line=521 2069 0x00e5 line=524 2070 0x00e8 line=525 2071 0x00eb line=532 2072 0x00ec line=526 2073 0x00ed line=527 2074 0x00fa line=528 2075 0x0101 line=529 2076 0x010a line=530 2077 0x0111 line=531 2078 0x011e line=534 2079 0x0121 line=535 2080 0x0124 line=542 2081 0x0125 line=536 2082 0x0126 line=537 2083 0x0133 line=538 2084 0x013a line=539 2085 0x0143 line=540 2086 0x014a line=541 2087 0x0157 line=543 2088 0x015a line=544 2089 0x015d line=546 2090 0x0160 line=547 2091 0x0163 line=553 2092 0x0164 line=548 2093 0x0165 line=549 2094 0x016c line=550 2095 0x0175 line=551 2096 0x017c line=552 2097 0x0189 line=555 2098 0x018c line=556 2099 0x018f line=562 2100 0x0190 line=557 2101 0x0191 line=558 2102 0x0198 line=559 2103 0x01a1 line=560 2104 0x01a8 line=561 2105 0x01b5 line=564 2106 0x01b8 line=565 2107 0x01bb line=571 2108 0x01bc line=566 2109 0x01bd line=567 2110 0x01c4 line=568 2111 0x01cd line=569 2112 0x01d4 line=570 2113 0x01e1 line=573 2114 0x01e4 line=574 2115 0x01e7 line=580 2116 0x01e8 line=575 2117 0x01e9 line=576 2118 0x01f0 line=577 2119 0x01f9 line=578 2120 0x0200 line=579 2121 0x020d line=581 2122 0x0210 line=582 2123 locals : 2124 0x0012 - 0x0022 reg=0 expected Ljava/lang/NoSuchMethodError; 2125 0x002a - 0x003a reg=0 expected Ljava/lang/NoSuchMethodError; 2126 0x0042 - 0x0073 reg=0 expected Ljava/lang/BootstrapMethodError; 2127 0x007b - 0x00ac reg=0 expected Ljava/lang/BootstrapMethodError; 2128 0x00b4 - 0x00e5 reg=0 expected Ljava/lang/BootstrapMethodError; 2129 0x00ed - 0x011e reg=0 expected Ljava/lang/BootstrapMethodError; 2130 0x0126 - 0x0157 reg=0 expected Ljava/lang/BootstrapMethodError; 2131 0x0165 - 0x0189 reg=0 expected Ljava/lang/BootstrapMethodError; 2132 0x0191 - 0x01b5 reg=0 expected Ljava/lang/BootstrapMethodError; 2133 0x01bd - 0x01e1 reg=0 expected Ljava/lang/BootstrapMethodError; 2134 0x01e9 - 0x020d reg=0 expected Ljava/lang/BootstrapMethodError; 2135 2136 #32 : (in LTestBadBootstrapArguments;) 2137 name : 'voidReturnType' 2138 type : '()V' 2139 access : 0x000a (PRIVATE STATIC) 2140 code - 2141 registers : 0 2142 ins : 0 2143 outs : 0 2144 insns size : 4 16-bit code units 214500248c: |[00248c] TestBadBootstrapArguments.voidReturnType:()V 214600249c: 7100 0b00 0000 |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b 21470024a2: 0e00 |0003: return-void 2148 catches : (none) 2149 positions : 2150 0x0000 line=398 2151 0x0003 line=399 2152 locals : 2153 2154 #33 : (in LTestBadBootstrapArguments;) 2155 name : 'wideningArguments' 2156 type : '()V' 2157 access : 0x000a (PRIVATE STATIC) 2158 code - 2159 registers : 2 2160 ins : 0 2161 outs : 2 2162 insns size : 8 16-bit code units 21630024a4: |[0024a4] TestBadBootstrapArguments.wideningArguments:()V 21640024b4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 21650024b8: 1a01 d101 |0002: const-string v1, "wideningArguments" // string@01d1 21660024bc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 21670024c2: 0e00 |0007: return-void 2168 catches : (none) 2169 positions : 2170 0x0000 line=304 2171 0x0007 line=305 2172 locals : 2173 2174 #34 : (in LTestBadBootstrapArguments;) 2175 name : 'wideningBoxingArguments' 2176 type : '()V' 2177 access : 0x000a (PRIVATE STATIC) 2178 code - 2179 registers : 2 2180 ins : 0 2181 outs : 2 2182 insns size : 8 16-bit code units 21830024c4: |[0024c4] TestBadBootstrapArguments.wideningBoxingArguments:()V 21840024d4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 21850024d8: 1a01 d201 |0002: const-string v1, "wideningBoxingArguments" // string@01d2 21860024dc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 21870024e2: 0e00 |0007: return-void 2188 catches : (none) 2189 positions : 2190 0x0000 line=376 2191 0x0007 line=377 2192 locals : 2193 2194 #35 : (in LTestBadBootstrapArguments;) 2195 name : 'wrongArguments' 2196 type : '()V' 2197 access : 0x000a (PRIVATE STATIC) 2198 code - 2199 registers : 2 2200 ins : 0 2201 outs : 2 2202 insns size : 8 16-bit code units 22030024e4: |[0024e4] TestBadBootstrapArguments.wrongArguments:()V 22040024f4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 22050024f8: 1a01 d401 |0002: const-string v1, "wrongArguments" // string@01d4 22060024fc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 2207002502: 0e00 |0007: return-void 2208 catches : (none) 2209 positions : 2210 0x0000 line=186 2211 0x0007 line=187 2212 locals : 2213 2214 #36 : (in LTestBadBootstrapArguments;) 2215 name : 'wrongArgumentsAgain' 2216 type : '()V' 2217 access : 0x000a (PRIVATE STATIC) 2218 code - 2219 registers : 2 2220 ins : 0 2221 outs : 2 2222 insns size : 8 16-bit code units 2223002504: |[002504] TestBadBootstrapArguments.wrongArgumentsAgain:()V 2224002514: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2225002518: 1a01 d501 |0002: const-string v1, "wrongArgumentsAgain" // string@01d5 222600251c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 2227002522: 0e00 |0007: return-void 2228 catches : (none) 2229 positions : 2230 0x0000 line=214 2231 0x0007 line=215 2232 locals : 2233 2234 #37 : (in LTestBadBootstrapArguments;) 2235 name : 'wrongParameterTypes' 2236 type : '()V' 2237 access : 0x000a (PRIVATE STATIC) 2238 code - 2239 registers : 2 2240 ins : 0 2241 outs : 2 2242 insns size : 8 16-bit code units 2243002524: |[002524] TestBadBootstrapArguments.wrongParameterTypes:()V 2244002534: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2245002538: 1a01 d601 |0002: const-string v1, "wrongParameterTypes" // string@01d6 224600253c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 2247002542: 0e00 |0007: return-void 2248 catches : (none) 2249 positions : 2250 0x0000 line=102 2251 0x0007 line=103 2252 locals : 2253 2254 Virtual methods - 2255 source_file_idx : 144 (TestBadBootstrapArguments.java) 2256 2257Class #7 header: 2258class_idx : 10 2259access_flags : 0 (0x0000) 2260superclass_idx : 9 2261interfaces_off : 0 (0x000000) 2262source_file_idx : 147 2263annotations_off : 30988 (0x00790c) 2264class_data_off : 29220 (0x007224) 2265static_fields_size : 1 2266instance_fields_size: 0 2267direct_methods_size : 7 2268virtual_methods_size: 0 2269 2270Class #7 annotations: 2271Annotations on method #67 'bsm' 2272 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2273Annotations on method #71 'testDynamic' 2274 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestDynamicBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/String; J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "A" } Lannotations/Constant; longValue={ 100000000 } } fieldOrMethodName="target" parameterTypes={ I Ljava/lang/String; D } returnType=I 2275 2276Class #7 - 2277 Class descriptor : 'LTestDynamicBootstrapArguments;' 2278 Access flags : 0x0000 () 2279 Superclass : 'LTestBase;' 2280 Interfaces - 2281 Static fields - 2282 #0 : (in LTestDynamicBootstrapArguments;) 2283 name : 'bsmCalls' 2284 type : 'I' 2285 access : 0x000a (PRIVATE STATIC) 2286 Instance fields - 2287 Direct methods - 2288 #0 : (in LTestDynamicBootstrapArguments;) 2289 name : '<clinit>' 2290 type : '()V' 2291 access : 0x10008 (STATIC CONSTRUCTOR) 2292 code - 2293 registers : 1 2294 ins : 0 2295 outs : 0 2296 insns size : 4 16-bit code units 22970029c8: |[0029c8] TestDynamicBootstrapArguments.<clinit>:()V 22980029d8: 1200 |0000: const/4 v0, #int 0 // #0 22990029da: 6700 0000 |0001: sput v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 23000029de: 0e00 |0003: return-void 2301 catches : (none) 2302 positions : 2303 0x0000 line=27 2304 locals : 2305 2306 #1 : (in LTestDynamicBootstrapArguments;) 2307 name : '<init>' 2308 type : '()V' 2309 access : 0x10000 (CONSTRUCTOR) 2310 code - 2311 registers : 1 2312 ins : 1 2313 outs : 1 2314 insns size : 4 16-bit code units 23150029e0: |[0029e0] TestDynamicBootstrapArguments.<init>:()V 23160029f0: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 23170029f6: 0e00 |0003: return-void 2318 catches : (none) 2319 positions : 2320 0x0000 line=26 2321 locals : 2322 0x0000 - 0x0004 reg=0 this LTestDynamicBootstrapArguments; 2323 2324 #2 : (in LTestDynamicBootstrapArguments;) 2325 name : 'bsm' 2326 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite;' 2327 access : 0x0008 (STATIC) 2328 code - 2329 registers : 11 2330 ins : 6 2331 outs : 4 2332 insns size : 43 16-bit code units 2333002960: |[002960] TestDynamicBootstrapArguments.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite; 2334002970: 6000 0000 |0000: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 2335002974: d800 0001 |0002: add-int/lit8 v0, v0, #int 1 // #01 2336002978: 6700 0000 |0004: sput v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 233700297c: 1c00 0a00 |0006: const-class v0, LTestDynamicBootstrapArguments; // type@000a 2338002980: 2201 2d00 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@002d 2339002984: 7010 c100 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 234000298a: 6e20 c800 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 2341002990: 6e20 c800 8100 |0010: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 2342002996: 6e30 c600 910a |0013: invoke-virtual {v1, v9, v10}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6 234300299c: 6e10 ca00 0100 |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 23440029a2: 0c01 |0019: move-result-object v1 23450029a4: 6e40 d800 0571 |001a: invoke-virtual {v5, v0, v1, v7}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 23460029aa: 0c02 |001d: move-result-object v2 23470029ac: 6203 1300 |001e: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 23480029b0: 1a04 ea00 |0020: const-string v4, "bsm" // string@00ea 23490029b4: 6e20 b300 4300 |0022: invoke-virtual {v3, v4}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 23500029ba: 2203 3400 |0025: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034 23510029be: 7020 d200 2300 |0027: invoke-direct {v3, v2}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 23520029c4: 1103 |002a: return-object v3 2353 catches : (none) 2354 positions : 2355 0x0000 line=36 2356 0x0006 line=37 2357 0x0008 line=38 2358 0x001a line=39 2359 0x001e line=40 2360 0x0025 line=41 2361 locals : 2362 0x0008 - 0x002b reg=0 definingClass Ljava/lang/Class; Ljava/lang/Class<*>; 2363 0x001a - 0x002b reg=1 methodName Ljava/lang/String; 2364 0x001e - 0x002b reg=2 mh Ljava/lang/invoke/MethodHandle; 2365 0x0000 - 0x002b reg=5 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2366 0x0000 - 0x002b reg=6 name Ljava/lang/String; 2367 0x0000 - 0x002b reg=7 methodType Ljava/lang/invoke/MethodType; 2368 0x0000 - 0x002b reg=8 otherNameComponent Ljava/lang/String; 2369 0x0000 - 0x002b reg=9 nameSuffix J 2370 2371 #3 : (in LTestDynamicBootstrapArguments;) 2372 name : 'targetA100000000' 2373 type : '(ILjava/lang/String;Ljava/lang/Double;)I' 2374 access : 0x000a (PRIVATE STATIC) 2375 code - 2376 registers : 5 2377 ins : 3 2378 outs : 2 2379 insns size : 30 16-bit code units 23800028f8: |[0028f8] TestDynamicBootstrapArguments.targetA100000000:(ILjava/lang/String;Ljava/lang/Double;)I 2381002908: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 238200290c: 6e20 ad00 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(I)V // method@00ad 2383002912: 6200 1300 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2384002916: 1a01 0c00 |0007: const-string v1, ", " // string@000c 238500291a: 6e20 b000 1000 |0009: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 2386002920: 6200 1300 |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2387002924: 6e20 b000 3000 |000e: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 238800292a: 6200 1300 |0011: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 238900292e: 1a01 0c00 |0013: const-string v1, ", " // string@000c 2390002932: 6e20 b000 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 2391002938: 6200 1300 |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 239200293c: 6e20 b200 4000 |001a: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 2393002942: 0f02 |001d: return v2 2394 catches : (none) 2395 positions : 2396 0x0000 line=71 2397 0x0005 line=72 2398 0x000c line=73 2399 0x0011 line=74 2400 0x0018 line=75 2401 0x001d line=76 2402 locals : 2403 0x0000 - 0x001e reg=2 i I 2404 0x0000 - 0x001e reg=3 s Ljava/lang/String; 2405 0x0000 - 0x001e reg=4 d Ljava/lang/Double; 2406 2407 #4 : (in LTestDynamicBootstrapArguments;) 2408 name : 'test' 2409 type : '()V' 2410 access : 0x0008 (STATIC) 2411 code - 2412 registers : 2 2413 ins : 0 2414 outs : 2 2415 insns size : 25 16-bit code units 24160029f8: |[0029f8] TestDynamicBootstrapArguments.test:()V 2417002a08: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2418002a0c: 1a01 9200 |0002: const-string v1, "TestDynamicArguments" // string@0092 2419002a10: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 2420002a16: 7100 4600 0000 |0007: invoke-static {}, LTestDynamicBootstrapArguments;.testCallSites:()V // method@0046 2421002a1c: 6000 0000 |000a: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 2422002a20: 1231 |000c: const/4 v1, #int 3 // #3 2423002a22: 7120 4100 0100 |000d: invoke-static {v1, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 2424002a28: 7100 4600 0000 |0010: invoke-static {}, LTestDynamicBootstrapArguments;.testCallSites:()V // method@0046 2425002a2e: 6000 0000 |0013: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000 2426002a32: 7120 4100 0100 |0015: invoke-static {v1, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 2427002a38: 0e00 |0018: return-void 2428 catches : (none) 2429 positions : 2430 0x0000 line=86 2431 0x0007 line=87 2432 0x000a line=88 2433 0x0010 line=89 2434 0x0013 line=90 2435 0x0018 line=91 2436 locals : 2437 2438 #5 : (in LTestDynamicBootstrapArguments;) 2439 name : 'testCallSites' 2440 type : '()V' 2441 access : 0x0008 (STATIC) 2442 code - 2443 registers : 3 2444 ins : 0 2445 outs : 3 2446 insns size : 55 16-bit code units 2447002a3c: |[002a3c] TestDynamicBootstrapArguments.testCallSites:()V 2448002a4c: 1a00 8b00 |0000: const-string v0, "One" // string@008b 2449002a50: 1801 182d 4454 fb21 0940 |0002: const-wide v1, #double 3.14159 // #400921fb54442d18 2450002a5a: 7120 b900 2100 |0007: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9 2451002a60: 0c01 |000a: move-result-object v1 2452002a62: 1202 |000b: const/4 v2, #int 0 // #0 2453002a64: fc30 0f00 0201 |000c: invoke-custom {v2, v0, v1}, call_site@000f 2454002a6a: 0a00 |000f: move-result v0 2455002a6c: 7120 4100 0200 |0010: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 2456002a72: 1a00 a200 |0013: const-string v0, "Two" // string@00a2 2457002a76: 1801 6957 148b 0abf 0540 |0015: const-wide v1, #double 2.71828 // #4005bf0a8b145769 2458002a80: 7120 b900 2100 |001a: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9 2459002a86: 0c01 |001d: move-result-object v1 2460002a88: 1212 |001e: const/4 v2, #int 1 // #1 2461002a8a: fc30 1000 0201 |001f: invoke-custom {v2, v0, v1}, call_site@0010 2462002a90: 0a00 |0022: move-result v0 2463002a92: 7120 4100 0200 |0023: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 2464002a98: 1a00 9f00 |0026: const-string v0, "Three" // string@009f 2465002a9c: 1601 0000 |0028: const-wide/16 v1, #int 0 // #0 2466002aa0: 7120 b900 2100 |002a: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9 2467002aa6: 0c01 |002d: move-result-object v1 2468002aa8: 1222 |002e: const/4 v2, #int 2 // #2 2469002aaa: fc30 1100 0201 |002f: invoke-custom {v2, v0, v1}, call_site@0011 2470002ab0: 0a00 |0032: move-result v0 2471002ab2: 7120 4100 0200 |0033: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041 2472002ab8: 0e00 |0036: return-void 2473 catches : (none) 2474 positions : 2475 0x0000 line=80 2476 0x0013 line=81 2477 0x0026 line=82 2478 0x0036 line=83 2479 locals : 2480 2481 #6 : (in LTestDynamicBootstrapArguments;) 2482 name : 'testDynamic' 2483 type : '(ILjava/lang/String;Ljava/lang/Double;)I' 2484 access : 0x000a (PRIVATE STATIC) 2485 code - 2486 registers : 4 2487 ins : 3 2488 outs : 0 2489 insns size : 5 16-bit code units 2490002944: |[002944] TestDynamicBootstrapArguments.testDynamic:(ILjava/lang/String;Ljava/lang/Double;)I 2491002954: 7100 4200 0000 |0000: invoke-static {}, LTestDynamicBootstrapArguments;.assertNotReached:()V // method@0042 249200295a: 1200 |0003: const/4 v0, #int 0 // #0 249300295c: 0f00 |0004: return v0 2494 catches : (none) 2495 positions : 2496 0x0000 line=66 2497 0x0003 line=67 2498 locals : 2499 0x0000 - 0x0005 reg=1 i I 2500 0x0000 - 0x0005 reg=2 s Ljava/lang/String; 2501 0x0000 - 0x0005 reg=3 d Ljava/lang/Double; 2502 2503 Virtual methods - 2504 source_file_idx : 147 (TestDynamicBootstrapArguments.java) 2505 2506Class #8 header: 2507class_idx : 12 2508access_flags : 0 (0x0000) 2509superclass_idx : 9 2510interfaces_off : 0 (0x000000) 2511source_file_idx : 148 2512annotations_off : 31020 (0x00792c) 2513class_data_off : 29258 (0x00724a) 2514static_fields_size : 1 2515instance_fields_size: 1 2516direct_methods_size : 18 2517virtual_methods_size: 1 2518 2519Class #8 annotations: 2520Annotations on class 2521 VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ LTestInvocationKinds$Widget; } 2522Annotations on method #78 'getInstanceField' 2523 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupInstanceFieldGetter" } fieldOrMethodName="instance_field" parameterTypes={ LTestInvocationKinds; } returnType=D 2524Annotations on method #80 'getStaticField' 2525 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupStaticFieldGetter" } fieldOrMethodName="static_field" parameterTypes={ } returnType=I 2526Annotations on method #81 'lookupConstructor' 2527 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2528Annotations on method #82 'lookupInstanceFieldGetter' 2529 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2530Annotations on method #83 'lookupInstanceFieldSetter' 2531 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2532Annotations on method #84 'lookupStaticFieldGetter' 2533 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2534Annotations on method #85 'lookupStaticFieldSetter' 2535 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2536Annotations on method #86 'lookupVirtual' 2537 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 2538Annotations on method #87 'makeWidget' 2539 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupConstructor" } fieldOrMethodName="unused" parameterTypes={ I } returnType=LTestInvocationKinds$Widget; 2540Annotations on method #88 'maxIntegerValue' 2541 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupVirtual" } fieldOrMethodName="getMaxIntegerValue" parameterTypes={ LTestInvocationKinds; I I } returnType=I 2542Annotations on method #89 'setInstanceField' 2543 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupInstanceFieldSetter" } fieldOrMethodName="instance_field" parameterTypes={ LTestInvocationKinds; D } returnType=V 2544Annotations on method #90 'setStaticField' 2545 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupStaticFieldSetter" } fieldOrMethodName="static_field" parameterTypes={ I } returnType=V 2546 2547Class #8 - 2548 Class descriptor : 'LTestInvocationKinds;' 2549 Access flags : 0x0000 () 2550 Superclass : 'LTestBase;' 2551 Interfaces - 2552 Static fields - 2553 #0 : (in LTestInvocationKinds;) 2554 name : 'static_field' 2555 type : 'I' 2556 access : 0x000a (PRIVATE STATIC) 2557 Instance fields - 2558 #0 : (in LTestInvocationKinds;) 2559 name : 'instance_field' 2560 type : 'D' 2561 access : 0x0002 (PRIVATE) 2562 Direct methods - 2563 #0 : (in LTestInvocationKinds;) 2564 name : '<init>' 2565 type : '()V' 2566 access : 0x10000 (CONSTRUCTOR) 2567 code - 2568 registers : 1 2569 ins : 1 2570 outs : 1 2571 insns size : 4 16-bit code units 2572002ca4: |[002ca4] TestInvocationKinds.<init>:()V 2573002cb4: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 2574002cba: 0e00 |0003: return-void 2575 catches : (none) 2576 positions : 2577 0x0000 line=25 2578 locals : 2579 0x0000 - 0x0004 reg=0 this LTestInvocationKinds; 2580 2581 #1 : (in LTestInvocationKinds;) 2582 name : 'getInstanceField' 2583 type : '(LTestInvocationKinds;)D' 2584 access : 0x000a (PRIVATE STATIC) 2585 code - 2586 registers : 3 2587 ins : 1 2588 outs : 0 2589 insns size : 6 16-bit code units 2590002af0: |[002af0] TestInvocationKinds.getInstanceField:(LTestInvocationKinds;)D 2591002b00: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 2592002b06: 1900 f87f |0003: const-wide/high16 v0, #long 9221120237041090560 // #7ff8 2593002b0a: 1000 |0005: return-wide v0 2594 catches : (none) 2595 positions : 2596 0x0000 line=117 2597 0x0003 line=118 2598 locals : 2599 0x0000 - 0x0006 reg=2 instance LTestInvocationKinds; 2600 2601 #2 : (in LTestInvocationKinds;) 2602 name : 'getStaticField' 2603 type : '()I' 2604 access : 0x000a (PRIVATE STATIC) 2605 code - 2606 registers : 1 2607 ins : 0 2608 outs : 0 2609 insns size : 5 16-bit code units 2610002b28: |[002b28] TestInvocationKinds.getStaticField:()I 2611002b38: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 2612002b3e: 1200 |0003: const/4 v0, #int 0 // #0 2613002b40: 0f00 |0004: return v0 2614 catches : (none) 2615 positions : 2616 0x0000 line=71 2617 0x0003 line=72 2618 locals : 2619 2620 #3 : (in LTestInvocationKinds;) 2621 name : 'lookupConstructor' 2622 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2623 access : 0x000a (PRIVATE STATIC) 2624 code - 2625 registers : 7 2626 ins : 3 2627 outs : 3 2628 insns size : 20 16-bit code units 2629002b60: |[002b60] TestInvocationKinds.lookupConstructor:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2630002b70: 6e10 e500 0600 |0000: invoke-virtual {v6}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5 2631002b76: 0c00 |0003: move-result-object v0 2632002b78: 6201 1400 |0004: sget-object v1, Ljava/lang/Void;.TYPE:Ljava/lang/Class; // field@0014 2633002b7c: 6e20 df00 1600 |0006: invoke-virtual {v6, v1}, Ljava/lang/invoke/MethodType;.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00df 2634002b82: 0c01 |0009: move-result-object v1 2635002b84: 6e30 d500 0401 |000a: invoke-virtual {v4, v0, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d5 2636002b8a: 0c02 |000d: move-result-object v2 2637002b8c: 2203 3400 |000e: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034 2638002b90: 7020 d200 2300 |0010: invoke-direct {v3, v2}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 2639002b96: 1103 |0013: return-object v3 2640 catches : (none) 2641 positions : 2642 0x0000 line=183 2643 0x0004 line=184 2644 0x000a line=185 2645 0x000e line=186 2646 locals : 2647 0x0004 - 0x0014 reg=0 cls Ljava/lang/Class; Ljava/lang/Class<*>; 2648 0x000a - 0x0014 reg=1 constructorMethodType Ljava/lang/invoke/MethodType; 2649 0x000e - 0x0014 reg=2 mh Ljava/lang/invoke/MethodHandle; 2650 0x0000 - 0x0014 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2651 0x0000 - 0x0014 reg=5 name Ljava/lang/String; 2652 0x0000 - 0x0014 reg=6 methodType Ljava/lang/invoke/MethodType; 2653 2654 #4 : (in LTestInvocationKinds;) 2655 name : 'lookupInstanceFieldGetter' 2656 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2657 access : 0x0008 (STATIC) 2658 code - 2659 registers : 5 2660 ins : 3 2661 outs : 4 2662 insns size : 20 16-bit code units 2663002b98: |[002b98] TestInvocationKinds.lookupInstanceFieldGetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2664002ba8: 0000 |0000: nop // spacer 2665002baa: 1200 |0001: const/4 v0, #int 0 // #0 2666002bac: 6e20 e400 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 2667002bb2: 0c00 |0005: move-result-object v0 2668002bb4: 6e10 e500 0400 |0006: invoke-virtual {v4}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5 2669002bba: 0c01 |0009: move-result-object v1 2670002bbc: 6e40 d600 0213 |000a: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d6 2671002bc2: 0c00 |000d: move-result-object v0 2672002bc4: 2201 3400 |000e: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 2673002bc8: 7020 d200 0100 |0010: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 2674002bce: 1101 |0013: return-object v1 2675 catches : (none) 2676 positions : 2677 0x0000 line=101 2678 0x0001 line=102 2679 0x000e line=103 2680 locals : 2681 0x000e - 0x0014 reg=0 mh Ljava/lang/invoke/MethodHandle; 2682 0x0000 - 0x0014 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2683 0x0000 - 0x0014 reg=3 name Ljava/lang/String; 2684 0x0000 - 0x0014 reg=4 methodType Ljava/lang/invoke/MethodType; 2685 2686 #5 : (in LTestInvocationKinds;) 2687 name : 'lookupInstanceFieldSetter' 2688 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2689 access : 0x0008 (STATIC) 2690 code - 2691 registers : 5 2692 ins : 3 2693 outs : 4 2694 insns size : 21 16-bit code units 2695002bd0: |[002bd0] TestInvocationKinds.lookupInstanceFieldSetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2696002be0: 0000 |0000: nop // spacer 2697002be2: 1200 |0001: const/4 v0, #int 0 // #0 2698002be4: 6e20 e400 0400 |0002: invoke-virtual {v4, v0}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 2699002bea: 0c00 |0005: move-result-object v0 2700002bec: 1211 |0006: const/4 v1, #int 1 // #1 2701002bee: 6e20 e400 1400 |0007: invoke-virtual {v4, v1}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 2702002bf4: 0c01 |000a: move-result-object v1 2703002bf6: 6e40 d700 0213 |000b: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d7 2704002bfc: 0c00 |000e: move-result-object v0 2705002bfe: 2201 3400 |000f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 2706002c02: 7020 d200 0100 |0011: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 2707002c08: 1101 |0014: return-object v1 2708 catches : (none) 2709 positions : 2710 0x0000 line=78 2711 0x0001 line=79 2712 0x000f line=80 2713 locals : 2714 0x000f - 0x0015 reg=0 mh Ljava/lang/invoke/MethodHandle; 2715 0x0000 - 0x0015 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2716 0x0000 - 0x0015 reg=3 name Ljava/lang/String; 2717 0x0000 - 0x0015 reg=4 methodType Ljava/lang/invoke/MethodType; 2718 2719 #6 : (in LTestInvocationKinds;) 2720 name : 'lookupStaticFieldGetter' 2721 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2722 access : 0x0008 (STATIC) 2723 code - 2724 registers : 5 2725 ins : 3 2726 outs : 4 2727 insns size : 16 16-bit code units 2728002c0c: |[002c0c] TestInvocationKinds.lookupStaticFieldGetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2729002c1c: 1c00 0c00 |0000: const-class v0, LTestInvocationKinds; // type@000c 2730002c20: 6e10 e500 0400 |0002: invoke-virtual {v4}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5 2731002c26: 0c01 |0005: move-result-object v1 2732002c28: 6e40 d900 0213 |0006: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStaticGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d9 2733002c2e: 0c00 |0009: move-result-object v0 2734002c30: 2201 3400 |000a: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 2735002c34: 7020 d200 0100 |000c: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 2736002c3a: 1101 |000f: return-object v1 2737 catches : (none) 2738 positions : 2739 0x0000 line=32 2740 0x0002 line=33 2741 0x000a line=34 2742 locals : 2743 0x000a - 0x0010 reg=0 mh Ljava/lang/invoke/MethodHandle; 2744 0x0000 - 0x0010 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2745 0x0000 - 0x0010 reg=3 name Ljava/lang/String; 2746 0x0000 - 0x0010 reg=4 methodType Ljava/lang/invoke/MethodType; 2747 2748 #7 : (in LTestInvocationKinds;) 2749 name : 'lookupStaticFieldSetter' 2750 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2751 access : 0x0008 (STATIC) 2752 code - 2753 registers : 5 2754 ins : 3 2755 outs : 4 2756 insns size : 17 16-bit code units 2757002c3c: |[002c3c] TestInvocationKinds.lookupStaticFieldSetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2758002c4c: 1c00 0c00 |0000: const-class v0, LTestInvocationKinds; // type@000c 2759002c50: 1201 |0002: const/4 v1, #int 0 // #0 2760002c52: 6e20 e400 1400 |0003: invoke-virtual {v4, v1}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4 2761002c58: 0c01 |0006: move-result-object v1 2762002c5a: 6e40 da00 0213 |0007: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStaticSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00da 2763002c60: 0c00 |000a: move-result-object v0 2764002c62: 2201 3400 |000b: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 2765002c66: 7020 d200 0100 |000d: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 2766002c6c: 1101 |0010: return-object v1 2767 catches : (none) 2768 positions : 2769 0x0000 line=54 2770 0x0002 line=56 2771 0x0007 line=55 2772 0x000b line=57 2773 locals : 2774 0x000b - 0x0011 reg=0 mh Ljava/lang/invoke/MethodHandle; 2775 0x0000 - 0x0011 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2776 0x0000 - 0x0011 reg=3 name Ljava/lang/String; 2777 0x0000 - 0x0011 reg=4 methodType Ljava/lang/invoke/MethodType; 2778 2779 #8 : (in LTestInvocationKinds;) 2780 name : 'lookupVirtual' 2781 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 2782 access : 0x000a (PRIVATE STATIC) 2783 code - 2784 registers : 6 2785 ins : 3 2786 outs : 4 2787 insns size : 18 16-bit code units 2788002c70: |[002c70] TestInvocationKinds.lookupVirtual:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 2789002c80: 1200 |0000: const/4 v0, #int 0 // #0 2790002c82: 1211 |0001: const/4 v1, #int 1 // #1 2791002c84: 6e30 e000 0501 |0002: invoke-virtual {v5, v0, v1}, Ljava/lang/invoke/MethodType;.dropParameterTypes:(II)Ljava/lang/invoke/MethodType; // method@00e0 2792002c8a: 0c00 |0005: move-result-object v0 2793002c8c: 1c01 0c00 |0006: const-class v1, LTestInvocationKinds; // type@000c 2794002c90: 6e40 db00 1304 |0008: invoke-virtual {v3, v1, v4, v0}, Ljava/lang/invoke/MethodHandles$Lookup;.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00db 2795002c96: 0c01 |000b: move-result-object v1 2796002c98: 2202 3400 |000c: new-instance v2, Ljava/lang/invoke/ConstantCallSite; // type@0034 2797002c9c: 7020 d200 1200 |000e: invoke-direct {v2, v1}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 2798002ca2: 1102 |0011: return-object v2 2799 catches : (none) 2800 positions : 2801 0x0000 line=146 2802 0x0006 line=147 2803 0x000c line=148 2804 locals : 2805 0x0006 - 0x0012 reg=0 mt Ljava/lang/invoke/MethodType; 2806 0x000c - 0x0012 reg=1 mh Ljava/lang/invoke/MethodHandle; 2807 0x0000 - 0x0012 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 2808 0x0000 - 0x0012 reg=4 name Ljava/lang/String; 2809 0x0000 - 0x0012 reg=5 methodType Ljava/lang/invoke/MethodType; 2810 2811 #9 : (in LTestInvocationKinds;) 2812 name : 'makeWidget' 2813 type : '(I)LTestInvocationKinds$Widget;' 2814 access : 0x000a (PRIVATE STATIC) 2815 code - 2816 registers : 2 2817 ins : 1 2818 outs : 0 2819 insns size : 5 16-bit code units 2820002ad4: |[002ad4] TestInvocationKinds.makeWidget:(I)LTestInvocationKinds$Widget; 2821002ae4: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 2822002aea: 1200 |0003: const/4 v0, #int 0 // #0 2823002aec: 1100 |0004: return-object v0 2824 catches : (none) 2825 positions : 2826 0x0000 line=200 2827 0x0003 line=201 2828 locals : 2829 0x0000 - 0x0005 reg=1 v I 2830 2831 #10 : (in LTestInvocationKinds;) 2832 name : 'maxIntegerValue' 2833 type : '(LTestInvocationKinds;II)I' 2834 access : 0x000a (PRIVATE STATIC) 2835 code - 2836 registers : 4 2837 ins : 3 2838 outs : 0 2839 insns size : 5 16-bit code units 2840002b44: |[002b44] TestInvocationKinds.maxIntegerValue:(LTestInvocationKinds;II)I 2841002b54: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 2842002b5a: 1200 |0003: const/4 v0, #int 0 // #0 2843002b5c: 0f00 |0004: return v0 2844 catches : (none) 2845 positions : 2846 0x0000 line=159 2847 0x0003 line=160 2848 locals : 2849 0x0000 - 0x0005 reg=1 receiver LTestInvocationKinds; 2850 0x0000 - 0x0005 reg=2 x I 2851 0x0000 - 0x0005 reg=3 y I 2852 2853 #11 : (in LTestInvocationKinds;) 2854 name : 'setInstanceField' 2855 type : '(LTestInvocationKinds;D)V' 2856 access : 0x000a (PRIVATE STATIC) 2857 code - 2858 registers : 5 2859 ins : 3 2860 outs : 0 2861 insns size : 8 16-bit code units 2862002cbc: |[002cbc] TestInvocationKinds.setInstanceField:(LTestInvocationKinds;D)V 2863002ccc: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 2864002cd2: 1900 f87f |0003: const-wide/high16 v0, #long 9221120237041090560 // #7ff8 2865002cd6: 5a20 0200 |0005: iput-wide v0, v2, LTestInvocationKinds;.instance_field:D // field@0002 2866002cda: 0e00 |0007: return-void 2867 catches : (none) 2868 positions : 2869 0x0000 line=94 2870 0x0003 line=95 2871 0x0007 line=96 2872 locals : 2873 0x0000 - 0x0008 reg=2 instance LTestInvocationKinds; 2874 0x0000 - 0x0008 reg=3 value D 2875 2876 #12 : (in LTestInvocationKinds;) 2877 name : 'setStaticField' 2878 type : '(I)V' 2879 access : 0x000a (PRIVATE STATIC) 2880 code - 2881 registers : 1 2882 ins : 1 2883 outs : 0 2884 insns size : 4 16-bit code units 2885002cdc: |[002cdc] TestInvocationKinds.setStaticField:(I)V 2886002cec: 7100 4d00 0000 |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d 2887002cf2: 0e00 |0003: return-void 2888 catches : (none) 2889 positions : 2890 0x0000 line=48 2891 0x0003 line=49 2892 locals : 2893 0x0000 - 0x0004 reg=0 value I 2894 2895 #13 : (in LTestInvocationKinds;) 2896 name : 'test' 2897 type : '()V' 2898 access : 0x0009 (PUBLIC STATIC) 2899 code - 2900 registers : 2 2901 ins : 0 2902 outs : 2 2903 insns size : 24 16-bit code units 2904002cf4: |[002cf4] TestInvocationKinds.test:()V 2905002d04: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2906002d08: 1c01 0c00 |0002: const-class v1, LTestInvocationKinds; // type@000c 2907002d0c: 6e10 b700 0100 |0004: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@00b7 2908002d12: 0c01 |0007: move-result-object v1 2909002d14: 6e20 b300 1000 |0008: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 2910002d1a: 7100 5f00 0000 |000b: invoke-static {}, LTestInvocationKinds;.testStaticFieldAccessors:()V // method@005f 2911002d20: 7100 5d00 0000 |000e: invoke-static {}, LTestInvocationKinds;.testInstanceFieldAccessors:()V // method@005d 2912002d26: 7100 5e00 0000 |0011: invoke-static {}, LTestInvocationKinds;.testInvokeVirtual:()V // method@005e 2913002d2c: 7100 5c00 0000 |0014: invoke-static {}, LTestInvocationKinds;.testConstructor:()V // method@005c 2914002d32: 0e00 |0017: return-void 2915 catches : (none) 2916 positions : 2917 0x0000 line=212 2918 0x000b line=213 2919 0x000e line=214 2920 0x0011 line=215 2921 0x0014 line=216 2922 0x0017 line=217 2923 locals : 2924 2925 #14 : (in LTestInvocationKinds;) 2926 name : 'testConstructor' 2927 type : '()V' 2928 access : 0x0008 (STATIC) 2929 code - 2930 registers : 3 2931 ins : 0 2932 outs : 2 2933 insns size : 31 16-bit code units 2934002d34: |[002d34] TestInvocationKinds.testConstructor:()V 2935002d44: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2936002d48: 1a01 b601 |0002: const-string v1, "testConstructor => " // string@01b6 2937002d4c: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 2938002d52: 1230 |0007: const/4 v0, #int 3 // #3 2939002d54: fc10 1200 0000 |0008: invoke-custom {v0}, call_site@0012 2940002d5a: 0c00 |000b: move-result-object v0 2941002d5c: 1c01 0b00 |000c: const-class v1, LTestInvocationKinds$Widget; // type@000b 2942002d60: 6e10 c000 0000 |000e: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 2943002d66: 0c02 |0011: move-result-object v2 2944002d68: 7120 4c00 2100 |0012: invoke-static {v1, v2}, LTestInvocationKinds;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@004c 2945002d6e: 6201 1300 |0015: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2946002d72: 6e10 c000 0000 |0017: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 2947002d78: 0c02 |001a: move-result-object v2 2948002d7a: 6e20 b200 2100 |001b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 2949002d80: 0e00 |001e: return-void 2950 catches : (none) 2951 positions : 2952 0x0000 line=205 2953 0x0007 line=206 2954 0x000c line=207 2955 0x0015 line=208 2956 0x001e line=209 2957 locals : 2958 0x000c - 0x001f reg=0 receiver LTestInvocationKinds$Widget; 2959 2960 #15 : (in LTestInvocationKinds;) 2961 name : 'testInstanceFieldAccessors' 2962 type : '()V' 2963 access : 0x000a (PRIVATE STATIC) 2964 code - 2965 registers : 5 2966 ins : 0 2967 outs : 4 2968 insns size : 44 16-bit code units 2969002d84: |[002d84] TestInvocationKinds.testInstanceFieldAccessors:()V 2970002d94: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 2971002d98: 1a01 b801 |0002: const-string v1, "testInstanceFieldAccessors" // string@01b8 2972002d9c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 2973002da2: 2200 0c00 |0007: new-instance v0, LTestInvocationKinds; // type@000c 2974002da6: 7010 4900 0000 |0009: invoke-direct {v0}, LTestInvocationKinds;.<init>:()V // method@0049 2975002dac: 1601 0100 |000c: const-wide/16 v1, #int 1 // #1 2976002db0: 5a01 0200 |000e: iput-wide v1, v0, LTestInvocationKinds;.instance_field:D // field@0002 2977002db4: 1801 182d 4454 fb21 0940 |0010: const-wide v1, #double 3.14159 // #400921fb54442d18 2978002dbe: fc30 1300 1002 |0015: invoke-custom {v0, v1, v2}, call_site@0013 2979002dc4: 5303 0200 |0018: iget-wide v3, v0, LTestInvocationKinds;.instance_field:D // field@0002 2980002dc8: 7140 4a00 2143 |001a: invoke-static {v1, v2, v3, v4}, LTestInvocationKinds;.assertEquals:(DD)V // method@004a 2981002dce: 1801 6957 148b 0abf 0540 |001d: const-wide v1, #double 2.71828 // #4005bf0a8b145769 2982002dd8: 5a01 0200 |0022: iput-wide v1, v0, LTestInvocationKinds;.instance_field:D // field@0002 2983002ddc: fc10 1400 0000 |0024: invoke-custom {v0}, call_site@0014 2984002de2: 0b03 |0027: move-result-wide v3 2985002de4: 7140 4a00 2143 |0028: invoke-static {v1, v2, v3, v4}, LTestInvocationKinds;.assertEquals:(DD)V // method@004a 2986002dea: 0e00 |002b: return-void 2987 catches : (none) 2988 positions : 2989 0x0000 line=133 2990 0x0007 line=134 2991 0x000c line=135 2992 0x0010 line=136 2993 0x0018 line=137 2994 0x001d line=138 2995 0x0024 line=139 2996 0x002b line=140 2997 locals : 2998 0x000c - 0x002c reg=0 instance LTestInvocationKinds; 2999 3000 #16 : (in LTestInvocationKinds;) 3001 name : 'testInvokeVirtual' 3002 type : '()V' 3003 access : 0x0008 (STATIC) 3004 code - 3005 registers : 3 3006 ins : 0 3007 outs : 3 3008 insns size : 25 16-bit code units 3009002dec: |[002dec] TestInvocationKinds.testInvokeVirtual:()V 3010002dfc: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3011002e00: 1a01 ba01 |0002: const-string v1, "testInvokeVirtual => max(77, -3) = " // string@01ba 3012002e04: 6e20 b000 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 3013002e0a: 2200 0c00 |0007: new-instance v0, LTestInvocationKinds; // type@000c 3014002e0e: 7010 4900 0000 |0009: invoke-direct {v0}, LTestInvocationKinds;.<init>:()V // method@0049 3015002e14: 1301 4d00 |000c: const/16 v1, #int 77 // #4d 3016002e18: 12d2 |000e: const/4 v2, #int -3 // #fd 3017002e1a: fc30 1500 1002 |000f: invoke-custom {v0, v1, v2}, call_site@0015 3018002e20: 0a01 |0012: move-result v1 3019002e22: 6202 1300 |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3020002e26: 6e20 b100 1200 |0015: invoke-virtual {v2, v1}, Ljava/io/PrintStream;.println:(I)V // method@00b1 3021002e2c: 0e00 |0018: return-void 3022 catches : (none) 3023 positions : 3024 0x0000 line=168 3025 0x0007 line=169 3026 0x000c line=170 3027 0x0013 line=171 3028 0x0018 line=172 3029 locals : 3030 0x000c - 0x0019 reg=0 receiver LTestInvocationKinds; 3031 0x0013 - 0x0019 reg=1 result I 3032 3033 #17 : (in LTestInvocationKinds;) 3034 name : 'testStaticFieldAccessors' 3035 type : '()V' 3036 access : 0x000a (PRIVATE STATIC) 3037 code - 3038 registers : 2 3039 ins : 0 3040 outs : 2 3041 insns size : 47 16-bit code units 3042002e30: |[002e30] TestInvocationKinds.testStaticFieldAccessors:()V 3043002e40: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3044002e44: 1a01 bb01 |0002: const-string v1, "testStaticFieldAccessors" // string@01bb 3045002e48: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 3046002e4e: 1230 |0007: const/4 v0, #int 3 // #3 3047002e50: fc10 1600 0000 |0008: invoke-custom {v0}, call_site@0016 3048002e56: 6001 0300 |000b: sget v1, LTestInvocationKinds;.static_field:I // field@0003 3049002e5a: 7120 4b00 0100 |000d: invoke-static {v1, v0}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 3050002e60: 1240 |0010: const/4 v0, #int 4 // #4 3051002e62: fc10 1700 0000 |0011: invoke-custom {v0}, call_site@0017 3052002e68: 6001 0300 |0014: sget v1, LTestInvocationKinds;.static_field:I // field@0003 3053002e6c: 7120 4b00 0100 |0016: invoke-static {v1, v0}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 3054002e72: 6000 0300 |0019: sget v0, LTestInvocationKinds;.static_field:I // field@0003 3055002e76: fc00 1800 0000 |001b: invoke-custom {}, call_site@0018 3056002e7c: 0a01 |001e: move-result v1 3057002e7e: 7120 4b00 1000 |001f: invoke-static {v0, v1}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 3058002e84: 1400 ffff ff7f |0022: const v0, #float nan // #7fffffff 3059002e8a: 6700 0300 |0025: sput v0, LTestInvocationKinds;.static_field:I // field@0003 3060002e8e: fc00 1900 0000 |0027: invoke-custom {}, call_site@0019 3061002e94: 0a01 |002a: move-result v1 3062002e96: 7120 4b00 1000 |002b: invoke-static {v0, v1}, LTestInvocationKinds;.assertEquals:(II)V // method@004b 3063002e9c: 0e00 |002e: return-void 3064 catches : (none) 3065 positions : 3066 0x0000 line=122 3067 0x0007 line=123 3068 0x000b line=124 3069 0x0010 line=125 3070 0x0014 line=126 3071 0x0019 line=127 3072 0x0022 line=128 3073 0x0027 line=129 3074 0x002e line=130 3075 locals : 3076 3077 Virtual methods - 3078 #0 : (in LTestInvocationKinds;) 3079 name : 'getMaxIntegerValue' 3080 type : '(II)I' 3081 access : 0x0001 (PUBLIC) 3082 code - 3083 registers : 4 3084 ins : 3 3085 outs : 0 3086 insns size : 6 16-bit code units 3087002b0c: |[002b0c] TestInvocationKinds.getMaxIntegerValue:(II)I 3088002b1c: 3732 0400 |0000: if-le v2, v3, 0004 // +0004 3089002b20: 0120 |0002: move v0, v2 3090002b22: 2802 |0003: goto 0005 // +0002 3091002b24: 0130 |0004: move v0, v3 3092002b26: 0f00 |0005: return v0 3093 catches : (none) 3094 positions : 3095 0x0000 line=164 3096 locals : 3097 0x0000 - 0x0006 reg=1 this LTestInvocationKinds; 3098 0x0000 - 0x0006 reg=2 x I 3099 0x0000 - 0x0006 reg=3 y I 3100 3101 source_file_idx : 148 (TestInvocationKinds.java) 3102 3103Class #9 header: 3104class_idx : 14 3105access_flags : 1 (0x0001) 3106superclass_idx : 9 3107interfaces_off : 18256 (0x004750) 3108source_file_idx : 149 3109annotations_off : 31132 (0x00799c) 3110class_data_off : 29344 (0x0072a0) 3111static_fields_size : 7 3112instance_fields_size: 0 3113direct_methods_size : 8 3114virtual_methods_size: 1 3115 3116Class #9 annotations: 3117Annotations on field #10 'threadIndex' 3118 VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/ThreadLocal<" "Ljava/lang/Integer;" ">;" } 3119Annotations on method #106 'linkerMethod' 3120 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 3121Annotations on method #109 'setCalled' 3122 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvokeCustomWithConcurrentThreads; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } } fieldOrMethodName="setCalled" parameterTypes={ I } returnType=I 3123Annotations on method #110 'test' 3124 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 3125 3126Class #9 - 3127 Class descriptor : 'LTestInvokeCustomWithConcurrentThreads;' 3128 Access flags : 0x0001 (PUBLIC) 3129 Superclass : 'LTestBase;' 3130 Interfaces - 3131 #0 : 'Ljava/lang/Runnable;' 3132 Static fields - 3133 #0 : (in LTestInvokeCustomWithConcurrentThreads;) 3134 name : 'NUMBER_OF_THREADS' 3135 type : 'I' 3136 access : 0x001a (PRIVATE STATIC FINAL) 3137 value : 16 3138 #1 : (in LTestInvokeCustomWithConcurrentThreads;) 3139 name : 'barrier' 3140 type : 'Ljava/util/concurrent/CyclicBarrier;' 3141 access : 0x001a (PRIVATE STATIC FINAL) 3142 #2 : (in LTestInvokeCustomWithConcurrentThreads;) 3143 name : 'called' 3144 type : '[Ljava/util/concurrent/atomic/AtomicInteger;' 3145 access : 0x001a (PRIVATE STATIC FINAL) 3146 #3 : (in LTestInvokeCustomWithConcurrentThreads;) 3147 name : 'instantiated' 3148 type : '[Ljava/lang/invoke/CallSite;' 3149 access : 0x001a (PRIVATE STATIC FINAL) 3150 #4 : (in LTestInvokeCustomWithConcurrentThreads;) 3151 name : 'nextIndex' 3152 type : 'Ljava/util/concurrent/atomic/AtomicInteger;' 3153 access : 0x001a (PRIVATE STATIC FINAL) 3154 #5 : (in LTestInvokeCustomWithConcurrentThreads;) 3155 name : 'targetted' 3156 type : '[Ljava/util/concurrent/atomic/AtomicInteger;' 3157 access : 0x001a (PRIVATE STATIC FINAL) 3158 #6 : (in LTestInvokeCustomWithConcurrentThreads;) 3159 name : 'threadIndex' 3160 type : 'Ljava/lang/ThreadLocal;' 3161 access : 0x001a (PRIVATE STATIC FINAL) 3162 Instance fields - 3163 Direct methods - 3164 #0 : (in LTestInvokeCustomWithConcurrentThreads;) 3165 name : '<clinit>' 3166 type : '()V' 3167 access : 0x10008 (STATIC CONSTRUCTOR) 3168 code - 3169 registers : 2 3170 ins : 0 3171 outs : 2 3172 insns size : 37 16-bit code units 3173003064: |[003064] TestInvokeCustomWithConcurrentThreads.<clinit>:()V 3174003074: 2200 3e00 |0000: new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e 3175003078: 1201 |0002: const/4 v1, #int 0 // #0 317600307a: 7020 ef00 1000 |0003: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.<init>:(I)V // method@00ef 3177003080: 6900 0800 |0006: sput-object v0, LTestInvokeCustomWithConcurrentThreads;.nextIndex:Ljava/util/concurrent/atomic/AtomicInteger; // field@0008 3178003084: 2200 0d00 |0008: new-instance v0, LTestInvokeCustomWithConcurrentThreads$1; // type@000d 3179003088: 7010 6000 0000 |000a: invoke-direct {v0}, LTestInvokeCustomWithConcurrentThreads$1;.<init>:()V // method@0060 318000308e: 6900 0a00 |000d: sput-object v0, LTestInvokeCustomWithConcurrentThreads;.threadIndex:Ljava/lang/ThreadLocal; // field@000a 3181003092: 1300 1000 |000f: const/16 v0, #int 16 // #10 3182003096: 2301 4b00 |0011: new-array v1, v0, [Ljava/lang/invoke/CallSite; // type@004b 318300309a: 6901 0700 |0013: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 318400309e: 2301 4c00 |0015: new-array v1, v0, [Ljava/util/concurrent/atomic/AtomicInteger; // type@004c 31850030a2: 6901 0600 |0017: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 31860030a6: 2301 4c00 |0019: new-array v1, v0, [Ljava/util/concurrent/atomic/AtomicInteger; // type@004c 31870030aa: 6901 0900 |001b: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 31880030ae: 2201 3d00 |001d: new-instance v1, Ljava/util/concurrent/CyclicBarrier; // type@003d 31890030b2: 7020 ed00 0100 |001f: invoke-direct {v1, v0}, Ljava/util/concurrent/CyclicBarrier;.<init>:(I)V // method@00ed 31900030b8: 6901 0500 |0022: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.barrier:Ljava/util/concurrent/CyclicBarrier; // field@0005 31910030bc: 0e00 |0024: return-void 3192 catches : (none) 3193 positions : 3194 0x0000 line=30 3195 0x0008 line=32 3196 0x000f line=41 3197 0x0015 line=44 3198 0x0019 line=47 3199 0x001d line=50 3200 locals : 3201 3202 #1 : (in LTestInvokeCustomWithConcurrentThreads;) 3203 name : '<init>' 3204 type : '()V' 3205 access : 0x10002 (PRIVATE CONSTRUCTOR) 3206 code - 3207 registers : 1 3208 ins : 1 3209 outs : 1 3210 insns size : 4 16-bit code units 32110030c0: |[0030c0] TestInvokeCustomWithConcurrentThreads.<init>:()V 32120030d0: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 32130030d6: 0e00 |0003: return-void 3214 catches : (none) 3215 positions : 3216 0x0000 line=52 3217 locals : 3218 0x0000 - 0x0004 reg=0 this LTestInvokeCustomWithConcurrentThreads; 3219 3220 #2 : (in LTestInvokeCustomWithConcurrentThreads;) 3221 name : 'access$000' 3222 type : '()Ljava/util/concurrent/atomic/AtomicInteger;' 3223 access : 0x1008 (STATIC SYNTHETIC) 3224 code - 3225 registers : 1 3226 ins : 0 3227 outs : 0 3228 insns size : 3 16-bit code units 322900304c: |[00304c] TestInvokeCustomWithConcurrentThreads.access$000:()Ljava/util/concurrent/atomic/AtomicInteger; 323000305c: 6200 0800 |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.nextIndex:Ljava/util/concurrent/atomic/AtomicInteger; // field@0008 3231003060: 1100 |0002: return-object v0 3232 catches : (none) 3233 positions : 3234 0x0000 line=27 3235 locals : 3236 3237 #3 : (in LTestInvokeCustomWithConcurrentThreads;) 3238 name : 'getThreadIndex' 3239 type : '()I' 3240 access : 0x000a (PRIVATE STATIC) 3241 code - 3242 registers : 1 3243 ins : 0 3244 outs : 1 3245 insns size : 13 16-bit code units 3246002f00: |[002f00] TestInvokeCustomWithConcurrentThreads.getThreadIndex:()I 3247002f10: 6200 0a00 |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.threadIndex:Ljava/lang/ThreadLocal; // field@000a 3248002f14: 6e10 d000 0000 |0002: invoke-virtual {v0}, Ljava/lang/ThreadLocal;.get:()Ljava/lang/Object; // method@00d0 3249002f1a: 0c00 |0005: move-result-object v0 3250002f1c: 1f00 2700 |0006: check-cast v0, Ljava/lang/Integer; // type@0027 3251002f20: 6e10 bc00 0000 |0008: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@00bc 3252002f26: 0a00 |000b: move-result v0 3253002f28: 0f00 |000c: return v0 3254 catches : (none) 3255 positions : 3256 0x0000 line=55 3257 locals : 3258 3259 #4 : (in LTestInvokeCustomWithConcurrentThreads;) 3260 name : 'linkerMethod' 3261 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 3262 access : 0x000a (PRIVATE STATIC) 3263 code - 3264 registers : 8 3265 ins : 3 3266 outs : 4 3267 insns size : 97 16-bit code units 3268002f78: |[002f78] TestInvokeCustomWithConcurrentThreads.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 3269002f88: 1c00 0e00 |0000: const-class v0, LTestInvokeCustomWithConcurrentThreads; // type@000e 3270002f8c: 6e40 d800 0576 |0002: invoke-virtual {v5, v0, v6, v7}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 3271002f92: 0c00 |0005: move-result-object v0 3272002f94: 6e10 d400 0000 |0006: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 3273002f9a: 0c01 |0009: move-result-object v1 3274002f9c: 7120 6700 1700 |000a: invoke-static {v7, v1}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0067 3275002fa2: 6e10 d400 0000 |000d: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 3276002fa8: 0c01 |0010: move-result-object v1 3277002faa: 6e10 e300 0100 |0011: invoke-virtual {v1}, Ljava/lang/invoke/MethodType;.parameterCount:()I // method@00e3 3278002fb0: 0a01 |0014: move-result v1 3279002fb2: 1212 |0015: const/4 v2, #int 1 // #1 3280002fb4: 7120 6600 2100 |0016: invoke-static {v1, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 3281002fba: 2321 4800 |0019: new-array v1, v2, [Ljava/lang/Object; // type@0048 3282002fbe: 7100 6900 0000 |001b: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 3283002fc4: 0a03 |001e: move-result v3 3284002fc6: 7110 bd00 0300 |001f: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 3285002fcc: 0c03 |0022: move-result-object v3 3286002fce: 1204 |0023: const/4 v4, #int 0 // #0 3287002fd0: 4d03 0104 |0024: aput-object v3, v1, v4 3288002fd4: 7130 de00 4001 |0026: invoke-static {v0, v4, v1}, Ljava/lang/invoke/MethodHandles;.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle; // method@00de 3289002fda: 0c00 |0029: move-result-object v0 3290002fdc: 2321 4600 |002a: new-array v1, v2, [Ljava/lang/Class; // type@0046 3291002fe0: 6203 1200 |002c: sget-object v3, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012 3292002fe4: 4d03 0104 |002e: aput-object v3, v1, v4 3293002fe8: 7130 dd00 4001 |0030: invoke-static {v0, v4, v1}, Ljava/lang/invoke/MethodHandles;.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00dd 3294002fee: 0c00 |0033: move-result-object v0 3295002ff0: 6e10 d400 0000 |0034: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 3296002ff6: 0c01 |0037: move-result-object v1 3297002ff8: 6e10 e300 0100 |0038: invoke-virtual {v1}, Ljava/lang/invoke/MethodType;.parameterCount:()I // method@00e3 3298002ffe: 0a01 |003b: move-result v1 3299003000: 7120 6600 2100 |003c: invoke-static {v1, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 3300003006: 6e10 d400 0000 |003f: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4 330100300c: 0c01 |0042: move-result-object v1 330200300e: 7120 6700 1700 |0043: invoke-static {v7, v1}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0067 3303003014: 6201 0500 |0046: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.barrier:Ljava/util/concurrent/CyclicBarrier; // field@0005 3304003018: 6e10 ee00 0100 |0048: invoke-virtual {v1}, Ljava/util/concurrent/CyclicBarrier;.await:()I // method@00ee 330500301e: 6201 0700 |004b: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 3306003022: 7100 6900 0000 |004d: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 3307003028: 0a02 |0050: move-result v2 330800302a: 2203 3400 |0051: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034 330900302e: 7020 d200 0300 |0053: invoke-direct {v3, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 3310003034: 4d03 0102 |0056: aput-object v3, v1, v2 3311003038: 6201 0700 |0058: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 331200303c: 7100 6900 0000 |005a: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 3313003042: 0a02 |005d: move-result v2 3314003044: 4601 0102 |005e: aget-object v1, v1, v2 3315003048: 1101 |0060: return-object v1 3316 catches : (none) 3317 positions : 3318 0x0000 line=87 3319 0x0002 line=88 3320 0x0006 line=89 3321 0x000d line=90 3322 0x0019 line=91 3323 0x002a line=92 3324 0x0034 line=93 3325 0x003f line=94 3326 0x0046 line=99 3327 0x004b line=101 3328 0x0058 line=102 3329 locals : 3330 0x0006 - 0x0061 reg=0 mh Ljava/lang/invoke/MethodHandle; 3331 0x0000 - 0x0061 reg=5 caller Ljava/lang/invoke/MethodHandles$Lookup; 3332 0x0000 - 0x0061 reg=6 name Ljava/lang/String; 3333 0x0000 - 0x0061 reg=7 methodType Ljava/lang/invoke/MethodType; 3334 3335 #5 : (in LTestInvokeCustomWithConcurrentThreads;) 3336 name : 'notUsed' 3337 type : '(I)I' 3338 access : 0x0009 (PUBLIC STATIC) 3339 code - 3340 registers : 1 3341 ins : 1 3342 outs : 0 3343 insns size : 1 16-bit code units 3344002f2c: |[002f2c] TestInvokeCustomWithConcurrentThreads.notUsed:(I)I 3345002f3c: 0f00 |0000: return v0 3346 catches : (none) 3347 positions : 3348 0x0000 line=59 3349 locals : 3350 0x0000 - 0x0001 reg=0 x I 3351 3352 #6 : (in LTestInvokeCustomWithConcurrentThreads;) 3353 name : 'setCalled' 3354 type : '(I)I' 3355 access : 0x000a (PRIVATE STATIC) 3356 code - 3357 registers : 3 3358 ins : 1 3359 outs : 2 3360 insns size : 20 16-bit code units 3361002f40: |[002f40] TestInvokeCustomWithConcurrentThreads.setCalled:(I)I 3362002f50: 6200 0600 |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 3363002f54: 4600 0002 |0002: aget-object v0, v0, v2 3364002f58: 6e10 f100 0000 |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@00f1 3365002f5e: 6200 0900 |0007: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 3366002f62: 7100 6900 0000 |0009: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069 3367002f68: 0a01 |000c: move-result v1 3368002f6a: 4600 0001 |000d: aget-object v0, v0, v1 3369002f6e: 6e20 f200 2000 |000f: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@00f2 3370002f74: 1200 |0012: const/4 v0, #int 0 // #0 3371002f76: 0f00 |0013: return v0 3372 catches : (none) 3373 positions : 3374 0x0000 line=79 3375 0x0007 line=80 3376 0x0012 line=81 3377 locals : 3378 0x0000 - 0x0014 reg=2 index I 3379 3380 #7 : (in LTestInvokeCustomWithConcurrentThreads;) 3381 name : 'test' 3382 type : '()V' 3383 access : 0x0009 (PUBLIC STATIC) 3384 code - 3385 registers : 12 3386 ins : 0 3387 outs : 3 3388 insns size : 229 16-bit code units 33890030fc: |[0030fc] TestInvokeCustomWithConcurrentThreads.test:()V 339000310c: 1200 |0000: const/4 v0, #int 0 // #0 339100310e: 0101 |0001: move v1, v0 3392003110: 1302 1000 |0002: const/16 v2, #int 16 // #10 3393003114: 3521 1700 |0004: if-ge v1, v2, 001b // +0017 3394003118: 6202 0600 |0006: sget-object v2, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 339500311c: 2203 3e00 |0008: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e 3396003120: 7020 ef00 0300 |000a: invoke-direct {v3, v0}, Ljava/util/concurrent/atomic/AtomicInteger;.<init>:(I)V // method@00ef 3397003126: 4d03 0201 |000d: aput-object v3, v2, v1 339800312a: 6202 0900 |000f: sget-object v2, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 339900312e: 2203 3e00 |0011: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e 3400003132: 7020 ef00 0300 |0013: invoke-direct {v3, v0}, Ljava/util/concurrent/atomic/AtomicInteger;.<init>:(I)V // method@00ef 3401003138: 4d03 0201 |0016: aput-object v3, v2, v1 340200313c: d801 0101 |0018: add-int/lit8 v1, v1, #int 1 // #01 3403003140: 28e8 |001a: goto 0002 // -0018 3404003142: 2321 4a00 |001b: new-array v1, v2, [Ljava/lang/Thread; // type@004a 3405003146: 0103 |001d: move v3, v0 3406003148: 3523 1600 |001e: if-ge v3, v2, 0034 // +0016 340700314c: 2204 2f00 |0020: new-instance v4, Ljava/lang/Thread; // type@002f 3408003150: 2205 0e00 |0022: new-instance v5, LTestInvokeCustomWithConcurrentThreads; // type@000e 3409003154: 7010 6400 0500 |0024: invoke-direct {v5}, LTestInvokeCustomWithConcurrentThreads;.<init>:()V // method@0064 341000315a: 7020 cb00 5400 |0027: invoke-direct {v4, v5}, Ljava/lang/Thread;.<init>:(Ljava/lang/Runnable;)V // method@00cb 3411003160: 4d04 0103 |002a: aput-object v4, v1, v3 3412003164: 4604 0103 |002c: aget-object v4, v1, v3 3413003168: 6e10 ce00 0400 |002e: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@00ce 341400316e: d803 0301 |0031: add-int/lit8 v3, v3, #int 1 // #01 3415003172: 28eb |0033: goto 001e // -0015 3416003174: 0103 |0034: move v3, v0 3417003176: 3523 0a00 |0035: if-ge v3, v2, 003f // +000a 341800317a: 4604 0103 |0037: aget-object v4, v1, v3 341900317e: 6e10 cd00 0400 |0039: invoke-virtual {v4}, Ljava/lang/Thread;.join:()V // method@00cd 3420003184: d803 0301 |003c: add-int/lit8 v3, v3, #int 1 // #01 3421003188: 28f7 |003e: goto 0035 // -0009 342200318a: 1203 |003f: const/4 v3, #int 0 // #0 342300318c: 1204 |0040: const/4 v4, #int 0 // #0 342400318e: 0145 |0041: move v5, v4 3425003190: 0134 |0042: move v4, v3 3426003192: 0103 |0043: move v3, v0 3427003194: 3523 2200 |0044: if-ge v3, v2, 0066 // +0022 3428003198: 6206 0700 |0046: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007 342900319c: 4606 0603 |0048: aget-object v6, v6, v3 34300031a0: 1207 |004a: const/4 v7, #int 0 // #0 34310031a2: 7120 6800 7600 |004b: invoke-static {v6, v7}, LTestInvokeCustomWithConcurrentThreads;.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0068 34320031a8: 6206 0600 |004e: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 34330031ac: 4606 0603 |0050: aget-object v6, v6, v3 34340031b0: 6e10 f000 0600 |0052: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 34350031b6: 0a06 |0055: move-result v6 34360031b8: 3806 0d00 |0056: if-eqz v6, 0063 // +000d 34370031bc: d804 0401 |0058: add-int/lit8 v4, v4, #int 1 // #01 34380031c0: 6206 0600 |005a: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 34390031c4: 4606 0603 |005c: aget-object v6, v6, v3 34400031c8: 6e10 f000 0600 |005e: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 34410031ce: 0a06 |0061: move-result v6 34420031d0: b065 |0062: add-int/2addr v5, v6 34430031d2: d803 0301 |0063: add-int/lit8 v3, v3, #int 1 // #01 34440031d6: 28df |0065: goto 0044 // -0021 34450031d8: 6203 1300 |0066: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 34460031dc: 2206 2d00 |0068: new-instance v6, Ljava/lang/StringBuilder; // type@002d 34470031e0: 7010 c100 0600 |006a: invoke-direct {v6}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 34480031e6: 1a07 b800 |006d: const-string v7, "Winners " // string@00b8 34490031ea: 6e20 c800 7600 |006f: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 34500031f0: 6e20 c500 4600 |0072: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 34510031f6: 1a07 0500 |0075: const-string v7, " Votes " // string@0005 34520031fa: 6e20 c800 7600 |0077: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3453003200: 6e20 c500 5600 |007a: invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 3454003206: 6e10 ca00 0600 |007d: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 345500320c: 0c06 |0080: move-result-object v6 345600320e: 6e20 b300 6300 |0081: invoke-virtual {v3, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 3457003214: 1223 |0084: const/4 v3, #int 2 // #2 3458003216: 1216 |0085: const/4 v6, #int 1 // #1 3459003218: 3264 2c00 |0086: if-eq v4, v6, 00b2 // +002c 346000321c: 6207 1300 |0088: sget-object v7, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3461003220: 1a08 9e00 |008a: const-string v8, "Threads did not the same call-sites:" // string@009e 3462003224: 6e20 b300 8700 |008c: invoke-virtual {v7, v8}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 346300322a: 0107 |008f: move v7, v0 346400322c: 3527 2200 |0090: if-ge v7, v2, 00b2 // +0022 3465003230: 6208 1300 |0092: sget-object v8, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3466003234: 1a09 0400 |0094: const-string v9, " Thread % 2d invoked call site instance #%02d 3467" // string@0004 3468003238: 233a 4800 |0096: new-array v10, v3, [Ljava/lang/Object; // type@0048 346900323c: 7110 bd00 0700 |0098: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 3470003242: 0c0b |009b: move-result-object v11 3471003244: 4d0b 0a00 |009c: aput-object v11, v10, v0 3472003248: 620b 0900 |009e: sget-object v11, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009 347300324c: 460b 0b07 |00a0: aget-object v11, v11, v7 3474003250: 6e10 f000 0b00 |00a2: invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 3475003256: 0a0b |00a5: move-result v11 3476003258: 7110 bd00 0b00 |00a6: invoke-static {v11}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 347700325e: 0c0b |00a9: move-result-object v11 3478003260: 4d0b 0a06 |00aa: aput-object v11, v10, v6 3479003264: 6e30 ab00 980a |00ac: invoke-virtual {v8, v9, v10}, Ljava/io/PrintStream;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; // method@00ab 348000326a: d807 0701 |00af: add-int/lit8 v7, v7, #int 1 // #01 348100326e: 28df |00b1: goto 0090 // -0021 3482003270: 3225 2c00 |00b2: if-eq v5, v2, 00de // +002c 3483003274: 6207 1300 |00b4: sget-object v7, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3484003278: 1a08 2000 |00b6: const-string v8, "Call-sites invocations :" // string@0020 348500327c: 6e20 b300 8700 |00b8: invoke-virtual {v7, v8}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 3486003282: 0107 |00bb: move v7, v0 3487003284: 3527 2200 |00bc: if-ge v7, v2, 00de // +0022 3488003288: 6208 1300 |00be: sget-object v8, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 348900328c: 1a09 0300 |00c0: const-string v9, " Call site instance #%02d was invoked % 2d times 3490" // string@0003 3491003290: 233a 4800 |00c2: new-array v10, v3, [Ljava/lang/Object; // type@0048 3492003294: 7110 bd00 0700 |00c4: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 349300329a: 0c0b |00c7: move-result-object v11 349400329c: 4d0b 0a00 |00c8: aput-object v11, v10, v0 34950032a0: 620b 0600 |00ca: sget-object v11, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006 34960032a4: 460b 0b07 |00cc: aget-object v11, v11, v7 34970032a8: 6e10 f000 0b00 |00ce: invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0 34980032ae: 0a0b |00d1: move-result v11 34990032b0: 7110 bd00 0b00 |00d2: invoke-static {v11}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 35000032b6: 0c0b |00d5: move-result-object v11 35010032b8: 4d0b 0a06 |00d6: aput-object v11, v10, v6 35020032bc: 6e30 ab00 980a |00d8: invoke-virtual {v8, v9, v10}, Ljava/io/PrintStream;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; // method@00ab 35030032c2: d807 0701 |00db: add-int/lit8 v7, v7, #int 1 // #01 35040032c6: 28df |00dd: goto 00bc // -0021 35050032c8: 7120 6600 6400 |00de: invoke-static {v4, v6}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 35060032ce: 7120 6600 2500 |00e1: invoke-static {v5, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066 35070032d4: 0e00 |00e4: return-void 3508 catches : (none) 3509 positions : 3510 0x0000 line=107 3511 0x0006 line=108 3512 0x000f line=109 3513 0x0018 line=107 3514 0x001b line=113 3515 0x001d line=114 3516 0x0020 line=115 3517 0x002c line=116 3518 0x0031 line=114 3519 0x0034 line=120 3520 0x0037 line=121 3521 0x003c line=120 3522 0x003f line=125 3523 0x0040 line=126 3524 0x0041 line=127 3525 0x0046 line=128 3526 0x004e line=129 3527 0x0058 line=130 3528 0x005a line=131 3529 0x0063 line=127 3530 0x0066 line=135 3531 0x0084 line=139 3532 0x0088 line=140 3533 0x008f line=141 3534 0x0092 line=142 3535 0x0098 line=143 3536 0x00ac line=142 3537 0x00af line=141 3538 0x00b2 line=149 3539 0x00b4 line=150 3540 0x00bb line=151 3541 0x00be line=152 3542 0x00c4 line=153 3543 0x00d8 line=152 3544 0x00db line=151 3545 0x00de line=157 3546 0x00e1 line=158 3547 0x00e4 line=159 3548 locals : 3549 0x0002 - 0x001b reg=1 i I 3550 0x001e - 0x0034 reg=3 i I 3551 0x0035 - 0x003f reg=3 i I 3552 0x0040 - 0x0044 reg=3 winners I 3553 0x0041 - 0x0044 reg=4 votes I 3554 0x0044 - 0x0066 reg=3 i I 3555 0x0090 - 0x00b2 reg=7 i I 3556 0x00bc - 0x00de reg=7 i I 3557 0x001d - 0x00e5 reg=1 threads [Ljava/lang/Thread; 3558 0x0044 - 0x00e5 reg=4 winners I 3559 0x0044 - 0x00e5 reg=5 votes I 3560 3561 Virtual methods - 3562 #0 : (in LTestInvokeCustomWithConcurrentThreads;) 3563 name : 'run' 3564 type : '()V' 3565 access : 0x0001 (PUBLIC) 3566 code - 3567 registers : 2 3568 ins : 1 3569 outs : 1 3570 insns size : 9 16-bit code units 35710030d8: |[0030d8] TestInvokeCustomWithConcurrentThreads.run:()V 35720030e8: 12f0 |0000: const/4 v0, #int -1 // #ff 35730030ea: fc10 1a00 0000 |0001: invoke-custom {v0}, call_site@001a 35740030f0: 0a00 |0004: move-result v0 35750030f2: 7110 6b00 0000 |0005: invoke-static {v0}, LTestInvokeCustomWithConcurrentThreads;.notUsed:(I)I // method@006b 35760030f8: 0e00 |0008: return-void 3577 catches : (none) 3578 positions : 3579 0x0000 line=63 3580 0x0005 line=64 3581 0x0008 line=65 3582 locals : 3583 0x0005 - 0x0009 reg=0 x I 3584 0x0000 - 0x0009 reg=1 this LTestInvokeCustomWithConcurrentThreads; 3585 3586 source_file_idx : 149 (TestInvokeCustomWithConcurrentThreads.java) 3587 3588Class #10 header: 3589class_idx : 15 3590access_flags : 1 (0x0001) 3591superclass_idx : 9 3592interfaces_off : 0 (0x000000) 3593source_file_idx : 151 3594annotations_off : 31180 (0x0079cc) 3595class_data_off : 29403 (0x0072db) 3596static_fields_size : 5 3597instance_fields_size: 0 3598direct_methods_size : 6 3599virtual_methods_size: 0 3600 3601Class #10 annotations: 3602Annotations on method #114 'add' 3603 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestLinkerMethodMinimalArguments; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } } fieldOrMethodName="_add" parameterTypes={ I I } returnType=I 3604Annotations on method #118 'linkerMethod' 3605 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 3606Annotations on method #119 'test' 3607 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 3608 3609Class #10 - 3610 Class descriptor : 'LTestLinkerMethodMinimalArguments;' 3611 Access flags : 0x0001 (PUBLIC) 3612 Superclass : 'LTestBase;' 3613 Interfaces - 3614 Static fields - 3615 #0 : (in LTestLinkerMethodMinimalArguments;) 3616 name : 'FAILURE_TYPE_LINKER_METHOD_RETURNS_NULL' 3617 type : 'I' 3618 access : 0x0018 (STATIC FINAL) 3619 value : 1 3620 #1 : (in LTestLinkerMethodMinimalArguments;) 3621 name : 'FAILURE_TYPE_LINKER_METHOD_THROWS' 3622 type : 'I' 3623 access : 0x0018 (STATIC FINAL) 3624 value : 2 3625 #2 : (in LTestLinkerMethodMinimalArguments;) 3626 name : 'FAILURE_TYPE_NONE' 3627 type : 'I' 3628 access : 0x0018 (STATIC FINAL) 3629 value : 0 3630 #3 : (in LTestLinkerMethodMinimalArguments;) 3631 name : 'FAILURE_TYPE_TARGET_METHOD_THROWS' 3632 type : 'I' 3633 access : 0x0018 (STATIC FINAL) 3634 value : 3 3635 #4 : (in LTestLinkerMethodMinimalArguments;) 3636 name : 'forceFailureType' 3637 type : 'I' 3638 access : 0x000a (PRIVATE STATIC) 3639 Instance fields - 3640 Direct methods - 3641 #0 : (in LTestLinkerMethodMinimalArguments;) 3642 name : '<clinit>' 3643 type : '()V' 3644 access : 0x10008 (STATIC CONSTRUCTOR) 3645 code - 3646 registers : 1 3647 ins : 0 3648 outs : 0 3649 insns size : 4 16-bit code units 3650003404: |[003404] TestLinkerMethodMinimalArguments.<clinit>:()V 3651003414: 1200 |0000: const/4 v0, #int 0 // #0 3652003416: 6700 0f00 |0001: sput v0, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 365300341a: 0e00 |0003: return-void 3654 catches : (none) 3655 positions : 3656 0x0000 line=26 3657 locals : 3658 3659 #1 : (in LTestLinkerMethodMinimalArguments;) 3660 name : '<init>' 3661 type : '()V' 3662 access : 0x10001 (PUBLIC CONSTRUCTOR) 3663 code - 3664 registers : 1 3665 ins : 1 3666 outs : 1 3667 insns size : 4 16-bit code units 366800341c: |[00341c] TestLinkerMethodMinimalArguments.<init>:()V 366900342c: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 3670003432: 0e00 |0003: return-void 3671 catches : (none) 3672 positions : 3673 0x0000 line=25 3674 locals : 3675 0x0000 - 0x0004 reg=0 this LTestLinkerMethodMinimalArguments; 3676 3677 #2 : (in LTestLinkerMethodMinimalArguments;) 3678 name : '_add' 3679 type : '(II)I' 3680 access : 0x0008 (STATIC) 3681 code - 3682 registers : 4 3683 ins : 2 3684 outs : 2 3685 insns size : 23 16-bit code units 36860032d8: |[0032d8] TestLinkerMethodMinimalArguments._add:(II)I 36870032e8: 6000 0f00 |0000: sget v0, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 36880032ec: 1231 |0002: const/4 v1, #int 3 // #3 36890032ee: 3210 0500 |0003: if-eq v0, v1, 0008 // +0005 36900032f2: 9000 0203 |0005: add-int v0, v2, v3 36910032f6: 0f00 |0007: return v0 36920032f8: 6200 1300 |0008: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 36930032fc: 1a01 a000 |000a: const-string v1, "Throwing ArithmeticException in add()" // string@00a0 3694003300: 6e20 b300 1000 |000c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 3695003306: 2200 1d00 |000f: new-instance v0, Ljava/lang/ArithmeticException; // type@001d 369600330a: 1a01 cc00 |0011: const-string v1, "add" // string@00cc 369700330e: 7020 b400 1000 |0013: invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;.<init>:(Ljava/lang/String;)V // method@00b4 3698003314: 2700 |0016: throw v0 3699 catches : (none) 3700 positions : 3701 0x0000 line=51 3702 0x0005 line=55 3703 0x0008 line=52 3704 0x000f line=53 3705 locals : 3706 0x0000 - 0x0017 reg=2 a I 3707 0x0000 - 0x0017 reg=3 b I 3708 3709 #3 : (in LTestLinkerMethodMinimalArguments;) 3710 name : 'add' 3711 type : '(II)I' 3712 access : 0x000a (PRIVATE STATIC) 3713 code - 3714 registers : 3 3715 ins : 2 3716 outs : 0 3717 insns size : 5 16-bit code units 3718003318: |[003318] TestLinkerMethodMinimalArguments.add:(II)I 3719003328: 7100 7400 0000 |0000: invoke-static {}, LTestLinkerMethodMinimalArguments;.assertNotReached:()V // method@0074 372000332e: 12f0 |0003: const/4 v0, #int -1 // #ff 3721003330: 0f00 |0004: return v0 3722 catches : (none) 3723 positions : 3724 0x0000 line=45 3725 0x0003 line=46 3726 locals : 3727 0x0000 - 0x0005 reg=1 a I 3728 0x0000 - 0x0005 reg=2 b I 3729 3730 #4 : (in LTestLinkerMethodMinimalArguments;) 3731 name : 'linkerMethod' 3732 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;' 3733 access : 0x000a (PRIVATE STATIC) 3734 code - 3735 registers : 7 3736 ins : 3 3737 outs : 4 3738 insns size : 96 16-bit code units 3739003334: |[003334] TestLinkerMethodMinimalArguments.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 3740003344: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3741003348: 2201 2d00 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@002d 374200334c: 7010 c100 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 3743003352: 1a02 6701 |0007: const-string v2, "linkerMethod failure type " // string@0167 3744003356: 6e20 c800 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 374500335c: 6002 0f00 |000c: sget v2, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 3746003360: 6e20 c500 2100 |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 3747003366: 6e10 ca00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 374800336c: 0c01 |0014: move-result-object v1 374900336e: 6e20 b300 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 3750003374: 1c00 0f00 |0018: const-class v0, LTestLinkerMethodMinimalArguments; // type@000f 3751003378: 6e40 d800 0465 |001a: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 375200337e: 0c00 |001d: move-result-object v0 3753003380: 6001 0f00 |001e: sget v1, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 3754003384: 2b01 3800 0000 |0020: packed-switch v1, 00000058 // +00000038 375500338a: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 375600338e: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 3757003394: 1101 |0028: return-object v1 3758003396: 6201 1300 |0029: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 375900339a: 1a02 a100 |002b: const-string v2, "Throwing InstantiationException in linkerMethod()" // string@00a1 376000339e: 6e20 b300 2100 |002d: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 37610033a4: 2201 2600 |0030: new-instance v1, Ljava/lang/InstantiationException; // type@0026 37620033a8: 1a02 6601 |0032: const-string v2, "linkerMethod" // string@0166 37630033ac: 7020 bb00 2100 |0034: invoke-direct {v1, v2}, Ljava/lang/InstantiationException;.<init>:(Ljava/lang/String;)V // method@00bb 37640033b2: 2701 |0037: throw v1 37650033b4: 6201 1300 |0038: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 37660033b8: 2202 2d00 |003a: new-instance v2, Ljava/lang/StringBuilder; // type@002d 37670033bc: 7010 c100 0200 |003c: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 37680033c2: 1a03 8c00 |003f: const-string v3, "Returning null instead of CallSite for " // string@008c 37690033c6: 6e20 c800 3200 |0041: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 37700033cc: 6e20 c800 5200 |0044: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 37710033d2: 1a03 0000 |0047: const-string v3, " " // string@0000 37720033d6: 6e20 c800 3200 |0049: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 37730033dc: 6e20 c700 6200 |004c: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 37740033e2: 6e10 ca00 0200 |004f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 37750033e8: 0c02 |0052: move-result-object v2 37760033ea: 6e20 b300 2100 |0053: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 37770033f0: 1201 |0056: const/4 v1, #int 0 // #0 37780033f2: 1101 |0057: return-object v1 37790033f4: 0001 0200 0100 0000 1800 0000 0900 ... |0058: packed-switch-data (8 units) 3780 catches : (none) 3781 positions : 3782 0x0000 line=61 3783 0x0018 line=62 3784 0x001a line=63 3785 0x001e line=64 3786 0x0023 line=73 3787 0x0029 line=70 3788 0x0030 line=71 3789 0x0038 line=66 3790 0x0056 line=68 3791 locals : 3792 0x001e - 0x0060 reg=0 mh_add Ljava/lang/invoke/MethodHandle; 3793 0x0000 - 0x0060 reg=4 caller Ljava/lang/invoke/MethodHandles$Lookup; 3794 0x0000 - 0x0060 reg=5 name Ljava/lang/String; 3795 0x0000 - 0x0060 reg=6 methodType Ljava/lang/invoke/MethodType; 3796 3797 #5 : (in LTestLinkerMethodMinimalArguments;) 3798 name : 'test' 3799 type : '(III)V' 3800 access : 0x0009 (PUBLIC STATIC) 3801 code - 3802 registers : 6 3803 ins : 3 3804 outs : 2 3805 insns size : 68 16-bit code units 3806003434: |[003434] TestLinkerMethodMinimalArguments.test:(III)V 3807003444: 1200 |0000: const/4 v0, #int 0 // #0 3808003446: 1211 |0001: const/4 v1, #int 1 // #1 3809003448: 3a03 0400 |0002: if-ltz v3, 0006 // +0004 381000344c: 0112 |0004: move v2, v1 381100344e: 2802 |0005: goto 0007 // +0002 3812003450: 0102 |0006: move v2, v0 3813003452: 7110 7500 0200 |0007: invoke-static {v2}, LTestLinkerMethodMinimalArguments;.assertTrue:(Z)V // method@0075 3814003458: 1232 |000a: const/4 v2, #int 3 // #3 381500345a: 3623 0400 |000b: if-gt v3, v2, 000f // +0004 381600345e: 0110 |000d: move v0, v1 3817003460: 0000 |000e: nop // spacer 3818003462: 7110 7500 0000 |000f: invoke-static {v0}, LTestLinkerMethodMinimalArguments;.assertTrue:(Z)V // method@0075 3819003468: 6703 0f00 |0012: sput v3, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f 382000346c: 9000 0405 |0014: add-int v0, v4, v5 3821003470: fc20 1b00 5400 |0016: invoke-custom {v4, v5}, call_site@001b 3822003476: 0a01 |0019: move-result v1 3823003478: 7120 7300 1000 |001a: invoke-static {v0, v1}, LTestLinkerMethodMinimalArguments;.assertEquals:(II)V // method@0073 382400347e: 6200 1300 |001d: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3825003482: 2201 2d00 |001f: new-instance v1, Ljava/lang/StringBuilder; // type@002d 3826003486: 7010 c100 0100 |0021: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 382700348c: 1a02 2a00 |0024: const-string v2, "Failure Type + " // string@002a 3828003490: 6e20 c800 2100 |0026: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3829003496: 6e20 c500 3100 |0029: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 383000349c: 1a02 0100 |002c: const-string v2, " (" // string@0001 38310034a0: 6e20 c800 2100 |002e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 38320034a6: 6e20 c500 4100 |0031: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 38330034ac: 6e20 c500 5100 |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5 38340034b2: 1a02 0700 |0037: const-string v2, ")" // string@0007 38350034b6: 6e20 c800 2100 |0039: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 38360034bc: 6e10 ca00 0100 |003c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 38370034c2: 0c01 |003f: move-result-object v1 38380034c4: 6e20 b300 1000 |0040: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 38390034ca: 0e00 |0043: return-void 3840 catches : (none) 3841 positions : 3842 0x0000 line=78 3843 0x000a line=79 3844 0x0012 line=80 3845 0x0014 line=81 3846 0x001d line=82 3847 0x0043 line=83 3848 locals : 3849 0x0000 - 0x0044 reg=3 failureType I 3850 0x0000 - 0x0044 reg=4 x I 3851 0x0000 - 0x0044 reg=5 y I 3852 3853 Virtual methods - 3854 source_file_idx : 151 (TestLinkerMethodMinimalArguments.java) 3855 3856Class #11 header: 3857class_idx : 16 3858access_flags : 1 (0x0001) 3859superclass_idx : 9 3860interfaces_off : 0 (0x000000) 3861source_file_idx : 153 3862annotations_off : 31220 (0x0079f4) 3863class_data_off : 29445 (0x007305) 3864static_fields_size : 1 3865instance_fields_size: 0 3866direct_methods_size : 6 3867virtual_methods_size: 1 3868 3869Class #11 annotations: 3870Annotations on method #124 'add' 3871 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestLinkerMethodMultipleArgumentTypes; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I I I I I F D Ljava/lang/String; Ljava/lang/Class; J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; intValue={ 97 } Lannotations/Constant; intValue={ 1024 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; floatValue={ 11.1 } Lannotations/Constant; doubleValue={ 2.2 } Lannotations/Constant; stringValue={ "Hello" } Lannotations/Constant; classValue={ LTestLinkerMethodMultipleArgumentTypes; } Lannotations/Constant; longValue={ 123456789 } } fieldOrMethodName="_add" parameterTypes={ I I } returnType=I 3872Annotations on method #131 'linkerMethod' 3873 VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "IIIIIFD" "Ljava/lang/String;" "Ljava/lang/Class<" "*>;J)" "Ljava/lang/invoke/CallSite;" } 3874 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 3875Annotations on method #132 'test' 3876 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 3877 3878Class #11 - 3879 Class descriptor : 'LTestLinkerMethodMultipleArgumentTypes;' 3880 Access flags : 0x0001 (PUBLIC) 3881 Superclass : 'LTestBase;' 3882 Interfaces - 3883 Static fields - 3884 #0 : (in LTestLinkerMethodMultipleArgumentTypes;) 3885 name : 'bootstrapRunCount' 3886 type : 'I' 3887 access : 0x000a (PRIVATE STATIC) 3888 Instance fields - 3889 Direct methods - 3890 #0 : (in LTestLinkerMethodMultipleArgumentTypes;) 3891 name : '<clinit>' 3892 type : '()V' 3893 access : 0x10008 (STATIC CONSTRUCTOR) 3894 code - 3895 registers : 1 3896 ins : 0 3897 outs : 0 3898 insns size : 4 16-bit code units 3899003618: |[003618] TestLinkerMethodMultipleArgumentTypes.<clinit>:()V 3900003628: 1200 |0000: const/4 v0, #int 0 // #0 390100362a: 6700 1000 |0001: sput v0, LTestLinkerMethodMultipleArgumentTypes;.bootstrapRunCount:I // field@0010 390200362e: 0e00 |0003: return-void 3903 catches : (none) 3904 positions : 3905 0x0000 line=28 3906 locals : 3907 3908 #1 : (in LTestLinkerMethodMultipleArgumentTypes;) 3909 name : '<init>' 3910 type : '()V' 3911 access : 0x10001 (PUBLIC CONSTRUCTOR) 3912 code - 3913 registers : 1 3914 ins : 1 3915 outs : 1 3916 insns size : 4 16-bit code units 3917003630: |[003630] TestLinkerMethodMultipleArgumentTypes.<init>:()V 3918003640: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 3919003646: 0e00 |0003: return-void 3920 catches : (none) 3921 positions : 3922 0x0000 line=26 3923 locals : 3924 0x0000 - 0x0004 reg=0 this LTestLinkerMethodMultipleArgumentTypes; 3925 3926 #2 : (in LTestLinkerMethodMultipleArgumentTypes;) 3927 name : '_add' 3928 type : '(II)I' 3929 access : 0x000a (PRIVATE STATIC) 3930 code - 3931 registers : 3 3932 ins : 2 3933 outs : 0 3934 insns size : 3 16-bit code units 39350034e4: |[0034e4] TestLinkerMethodMultipleArgumentTypes._add:(II)I 39360034f4: 9000 0102 |0000: add-int v0, v1, v2 39370034f8: 0f00 |0002: return v0 3938 catches : (none) 3939 positions : 3940 0x0000 line=74 3941 locals : 3942 0x0000 - 0x0003 reg=1 a I 3943 0x0000 - 0x0003 reg=2 b I 3944 3945 #3 : (in LTestLinkerMethodMultipleArgumentTypes;) 3946 name : 'add' 3947 type : '(II)I' 3948 access : 0x000a (PRIVATE STATIC) 3949 code - 3950 registers : 3 3951 ins : 2 3952 outs : 0 3953 insns size : 5 16-bit code units 39540034fc: |[0034fc] TestLinkerMethodMultipleArgumentTypes.add:(II)I 395500350c: 7100 8200 0000 |0000: invoke-static {}, LTestLinkerMethodMultipleArgumentTypes;.assertNotReached:()V // method@0082 3956003512: 12f0 |0003: const/4 v0, #int -1 // #ff 3957003514: 0f00 |0004: return v0 3958 catches : (none) 3959 positions : 3960 0x0000 line=68 3961 0x0003 line=69 3962 locals : 3963 0x0000 - 0x0005 reg=1 a I 3964 0x0000 - 0x0005 reg=2 b I 3965 3966 #4 : (in LTestLinkerMethodMultipleArgumentTypes;) 3967 name : 'linkerMethod' 3968 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite;' 3969 access : 0x000a (PRIVATE STATIC) 3970 code - 3971 registers : 31 3972 ins : 15 3973 outs : 4 3974 insns size : 119 16-bit code units 3975003518: |[003518] TestLinkerMethodMultipleArgumentTypes.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite; 3976003528: 0800 1100 |0000: move-object/from16 v0, v17 397700352c: 0801 1200 |0002: move-object/from16 v1, v18 3978003530: 6202 1300 |0004: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 3979003534: 2203 2d00 |0006: new-instance v3, Ljava/lang/StringBuilder; // type@002d 3980003538: 7010 c100 0300 |0008: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1 398100353e: 1a04 6100 |000b: const-string v4, "Linking " // string@0061 3982003542: 6e20 c800 4300 |000d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3983003548: 6e20 c800 0300 |0010: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 398400354e: 1a04 0000 |0013: const-string v4, " " // string@0000 3985003552: 6e20 c800 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8 3986003558: 6e20 c700 1300 |0018: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7 398700355e: 6e10 ca00 0300 |001b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca 3988003564: 0c03 |001e: move-result-object v3 3989003566: 6e20 b300 3200 |001f: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 399000356c: 12f2 |0022: const/4 v2, #int -1 // #ff 399100356e: 0203 1300 |0023: move/from16 v3, v19 3992003572: 7120 7f00 3200 |0025: invoke-static {v2, v3}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 3993003578: 1212 |0028: const/4 v2, #int 1 // #1 399400357a: 0204 1400 |0029: move/from16 v4, v20 399500357e: 7120 7f00 4200 |002b: invoke-static {v2, v4}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 3996003584: 1305 6100 |002e: const/16 v5, #int 97 // #61 3997003588: 0206 1500 |0030: move/from16 v6, v21 399800358c: 7120 7f00 6500 |0032: invoke-static {v5, v6}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 3999003592: 1305 0004 |0035: const/16 v5, #int 1024 // #400 4000003596: 0207 1600 |0037: move/from16 v7, v22 400100359a: 7120 7f00 7500 |0039: invoke-static {v5, v7}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 40020035a0: 0205 1700 |003c: move/from16 v5, v23 40030035a4: 7120 7f00 5200 |003e: invoke-static {v2, v5}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 40040035aa: 1402 9a99 3141 |0041: const v2, #float 11.1 // #4131999a 40050035b0: 0208 1800 |0044: move/from16 v8, v24 40060035b4: 7120 7e00 8200 |0046: invoke-static {v2, v8}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(FF)V // method@007e 40070035ba: 1809 9a99 9999 9999 0140 |0049: const-wide v9, #double 2.2 // #400199999999999a 40080035c4: 050b 1900 |004e: move-wide/from16 v11, v25 40090035c8: 7140 7d00 a9cb |0050: invoke-static {v9, v10, v11, v12}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(DD)V // method@007d 40100035ce: 1a02 2c00 |0053: const-string v2, "Hello" // string@002c 40110035d2: 0809 1b00 |0055: move-object/from16 v9, v27 40120035d6: 7120 8100 9200 |0057: invoke-static {v2, v9}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0081 40130035dc: 1c02 1000 |005a: const-class v2, LTestLinkerMethodMultipleArgumentTypes; // type@0010 40140035e0: 080a 1c00 |005c: move-object/from16 v10, v28 40150035e4: 7120 8100 a200 |005e: invoke-static {v2, v10}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0081 40160035ea: 170d 15cd 5b07 |0061: const-wide/32 v13, #float 1.6536e-34 // #075bcd15 40170035f0: 0502 1d00 |0064: move-wide/from16 v2, v29 40180035f4: 7140 8000 ed32 |0066: invoke-static {v13, v14, v2, v3}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(JJ)V // method@0080 40190035fa: 1c0d 1000 |0069: const-class v13, LTestLinkerMethodMultipleArgumentTypes; // type@0010 40200035fe: 080e 1000 |006b: move-object/from16 v14, v16 4021003602: 6e40 d800 de10 |006d: invoke-virtual {v14, v13, v0, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 4022003608: 0c0d |0070: move-result-object v13 402300360a: 220f 3400 |0071: new-instance v15, Ljava/lang/invoke/ConstantCallSite; // type@0034 402400360e: 7020 d200 df00 |0073: invoke-direct {v15, v13}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 4025003614: 110f |0076: return-object v15 4026 catches : (none) 4027 positions : 4028 0x0000 line=93 4029 0x0022 line=94 4030 0x0028 line=95 4031 0x002e line=96 4032 0x0035 line=97 4033 0x003c line=98 4034 0x0041 line=99 4035 0x0049 line=100 4036 0x0053 line=101 4037 0x005a line=102 4038 0x0061 line=103 4039 0x0069 line=104 4040 0x006b line=105 4041 0x0071 line=106 4042 locals : 4043 0x0000 - 0x0000 reg=28 (null) Ljava/lang/Class; 4044 0x0071 - 0x0077 reg=13 mh_add Ljava/lang/invoke/MethodHandle; 4045 0x0000 - 0x0077 reg=16 caller Ljava/lang/invoke/MethodHandles$Lookup; 4046 0x0000 - 0x0077 reg=17 name Ljava/lang/String; 4047 0x0000 - 0x0077 reg=18 methodType Ljava/lang/invoke/MethodType; 4048 0x0000 - 0x0077 reg=19 v1 I 4049 0x0000 - 0x0077 reg=20 v2 I 4050 0x0000 - 0x0077 reg=21 v3 I 4051 0x0000 - 0x0077 reg=22 v4 I 4052 0x0000 - 0x0077 reg=23 v5 I 4053 0x0000 - 0x0077 reg=24 v6 F 4054 0x0000 - 0x0077 reg=25 v7 D 4055 0x0000 - 0x0077 reg=27 v8 Ljava/lang/String; 4056 0x0000 - 0x0077 reg=28 v9 Ljava/lang/Class; Ljava/lang/Class<*>; 4057 0x0000 - 0x0077 reg=29 v10 J 4058 4059 #5 : (in LTestLinkerMethodMultipleArgumentTypes;) 4060 name : 'test' 4061 type : '(II)V' 4062 access : 0x0009 (PUBLIC STATIC) 4063 code - 4064 registers : 4 4065 ins : 2 4066 outs : 2 4067 insns size : 17 16-bit code units 4068003648: |[003648] TestLinkerMethodMultipleArgumentTypes.test:(II)V 4069003658: 9000 0203 |0000: add-int v0, v2, v3 407000365c: fc20 1c00 3200 |0002: invoke-custom {v2, v3}, call_site@001c 4071003662: 0a01 |0005: move-result v1 4072003664: 7120 7f00 1000 |0006: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f 407300366a: 6200 1300 |0009: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 407400366e: 9001 0203 |000b: add-int v1, v2, v3 4075003672: 6e20 b100 1000 |000d: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(I)V // method@00b1 4076003678: 0e00 |0010: return-void 4077 catches : (none) 4078 positions : 4079 0x0000 line=114 4080 0x0009 line=115 4081 0x0010 line=116 4082 locals : 4083 0x0000 - 0x0011 reg=2 x I 4084 0x0000 - 0x0011 reg=3 y I 4085 4086 Virtual methods - 4087 #0 : (in LTestLinkerMethodMultipleArgumentTypes;) 4088 name : 'GetBootstrapRunCount' 4089 type : '()I' 4090 access : 0x0001 (PUBLIC) 4091 code - 4092 registers : 2 4093 ins : 1 4094 outs : 0 4095 insns size : 3 16-bit code units 40960034cc: |[0034cc] TestLinkerMethodMultipleArgumentTypes.GetBootstrapRunCount:()I 40970034dc: 6000 1000 |0000: sget v0, LTestLinkerMethodMultipleArgumentTypes;.bootstrapRunCount:I // field@0010 40980034e0: 0f00 |0002: return v0 4099 catches : (none) 4100 positions : 4101 0x0000 line=110 4102 locals : 4103 0x0000 - 0x0003 reg=1 this LTestLinkerMethodMultipleArgumentTypes; 4104 4105 source_file_idx : 153 (TestLinkerMethodMultipleArgumentTypes.java) 4106 4107Class #12 header: 4108class_idx : 17 4109access_flags : 0 (0x0000) 4110superclass_idx : 9 4111interfaces_off : 0 (0x000000) 4112source_file_idx : 154 4113annotations_off : 31260 (0x007a1c) 4114class_data_off : 29483 (0x00732b) 4115static_fields_size : 0 4116instance_fields_size: 0 4117direct_methods_size : 6 4118virtual_methods_size: 0 4119 4120Class #12 annotations: 4121Annotations on method #136 'addf' 4122 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LUnrelatedBSM; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ LTestLinkerUnrelatedBSM; } } fieldOrMethodName="_addf" parameterTypes={ F F } returnType=F 4123Annotations on method #139 'subf' 4124 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LUnrelatedBSM; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ LTestLinkerUnrelatedBSM; } } fieldOrMethodName="_subf" parameterTypes={ F F } returnType=F 4125 4126Class #12 - 4127 Class descriptor : 'LTestLinkerUnrelatedBSM;' 4128 Access flags : 0x0000 () 4129 Superclass : 'LTestBase;' 4130 Interfaces - 4131 Static fields - 4132 Instance fields - 4133 Direct methods - 4134 #0 : (in LTestLinkerUnrelatedBSM;) 4135 name : '<init>' 4136 type : '()V' 4137 access : 0x10000 (CONSTRUCTOR) 4138 code - 4139 registers : 1 4140 ins : 1 4141 outs : 1 4142 insns size : 4 16-bit code units 41430036e4: |[0036e4] TestLinkerUnrelatedBSM.<init>:()V 41440036f4: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 41450036fa: 0e00 |0003: return-void 4146 catches : (none) 4147 positions : 4148 0x0000 line=23 4149 locals : 4150 0x0000 - 0x0004 reg=0 this LTestLinkerUnrelatedBSM; 4151 4152 #1 : (in LTestLinkerUnrelatedBSM;) 4153 name : '_addf' 4154 type : '(FF)F' 4155 access : 0x0009 (PUBLIC STATIC) 4156 code - 4157 registers : 3 4158 ins : 2 4159 outs : 0 4160 insns size : 3 16-bit code units 416100367c: |[00367c] TestLinkerUnrelatedBSM._addf:(FF)F 416200368c: a600 0102 |0000: add-float v0, v1, v2 4163003690: 0f00 |0002: return v0 4164 catches : (none) 4165 positions : 4166 0x0000 line=47 4167 locals : 4168 0x0000 - 0x0003 reg=1 a F 4169 0x0000 - 0x0003 reg=2 b F 4170 4171 #2 : (in LTestLinkerUnrelatedBSM;) 4172 name : '_subf' 4173 type : '(FF)F' 4174 access : 0x000a (PRIVATE STATIC) 4175 code - 4176 registers : 3 4177 ins : 2 4178 outs : 0 4179 insns size : 3 16-bit code units 4180003694: |[003694] TestLinkerUnrelatedBSM._subf:(FF)F 41810036a4: a700 0102 |0000: sub-float v0, v1, v2 41820036a8: 0f00 |0002: return v0 4183 catches : (none) 4184 positions : 4185 0x0000 line=73 4186 locals : 4187 0x0000 - 0x0003 reg=1 a F 4188 0x0000 - 0x0003 reg=2 b F 4189 4190 #3 : (in LTestLinkerUnrelatedBSM;) 4191 name : 'addf' 4192 type : '(FF)F' 4193 access : 0x000a (PRIVATE STATIC) 4194 code - 4195 registers : 3 4196 ins : 2 4197 outs : 0 4198 insns size : 5 16-bit code units 41990036ac: |[0036ac] TestLinkerUnrelatedBSM.addf:(FF)F 42000036bc: 7100 8a00 0000 |0000: invoke-static {}, LTestLinkerUnrelatedBSM;.assertNotReached:()V // method@008a 42010036c2: 1210 |0003: const/4 v0, #int 1 // #1 42020036c4: 0f00 |0004: return v0 4203 catches : (none) 4204 positions : 4205 0x0000 line=42 4206 0x0003 line=43 4207 locals : 4208 0x0000 - 0x0005 reg=1 a F 4209 0x0000 - 0x0005 reg=2 b F 4210 4211 #4 : (in LTestLinkerUnrelatedBSM;) 4212 name : 'subf' 4213 type : '(FF)F' 4214 access : 0x000a (PRIVATE STATIC) 4215 code - 4216 registers : 3 4217 ins : 2 4218 outs : 0 4219 insns size : 5 16-bit code units 42200036c8: |[0036c8] TestLinkerUnrelatedBSM.subf:(FF)F 42210036d8: 7100 8a00 0000 |0000: invoke-static {}, LTestLinkerUnrelatedBSM;.assertNotReached:()V // method@008a 42220036de: 1210 |0003: const/4 v0, #int 1 // #1 42230036e0: 0f00 |0004: return v0 4224 catches : (none) 4225 positions : 4226 0x0000 line=68 4227 0x0003 line=69 4228 locals : 4229 0x0000 - 0x0005 reg=1 a F 4230 0x0000 - 0x0005 reg=2 b F 4231 4232 #5 : (in LTestLinkerUnrelatedBSM;) 4233 name : 'test' 4234 type : '()V' 4235 access : 0x0009 (PUBLIC STATIC) 4236 code - 4237 registers : 4 4238 ins : 0 4239 outs : 2 4240 insns size : 34 16-bit code units 42410036fc: |[0036fc] TestLinkerUnrelatedBSM.test:()V 424200370c: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4243003710: 1c01 1100 |0002: const-class v1, LTestLinkerUnrelatedBSM; // type@0011 4244003714: 6e10 b700 0100 |0004: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@00b7 424500371a: 0c01 |0007: move-result-object v1 424600371c: 6e20 b300 1000 |0008: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4247003722: 1500 003f |000b: const/high16 v0, #int 1056964608 // #3f00 4248003726: 1501 0040 |000d: const/high16 v1, #int 1073741824 // #4000 424900372a: fc20 1d00 0100 |000f: invoke-custom {v1, v0}, call_site@001d 4250003730: 0a02 |0012: move-result v2 4251003732: 1503 2040 |0013: const/high16 v3, #int 1075838976 // #4020 4252003736: 7120 8900 2300 |0015: invoke-static {v3, v2}, LTestLinkerUnrelatedBSM;.assertEquals:(FF)V // method@0089 425300373c: fc20 1e00 0100 |0018: invoke-custom {v1, v0}, call_site@001e 4254003742: 0a00 |001b: move-result v0 4255003744: 1501 c03f |001c: const/high16 v1, #int 1069547520 // #3fc0 4256003748: 7120 8900 0100 |001e: invoke-static {v1, v0}, LTestLinkerUnrelatedBSM;.assertEquals:(FF)V // method@0089 425700374e: 0e00 |0021: return-void 4258 catches : (none) 4259 positions : 4260 0x0000 line=77 4261 0x000b line=78 4262 0x0018 line=79 4263 0x0021 line=80 4264 locals : 4265 4266 Virtual methods - 4267 source_file_idx : 154 (TestLinkerUnrelatedBSM.java) 4268 4269Class #13 header: 4270class_idx : 18 4271access_flags : 1 (0x0001) 4272superclass_idx : 9 4273interfaces_off : 0 (0x000000) 4274source_file_idx : 156 4275annotations_off : 31292 (0x007a3c) 4276class_data_off : 29514 (0x00734a) 4277static_fields_size : 0 4278instance_fields_size: 0 4279direct_methods_size : 27 4280virtual_methods_size: 0 4281 4282Class #13 annotations: 4283Annotations on method #143 'bsmWithBoxedArray' 4284 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4285Annotations on method #144 'bsmWithClassAndFloatArray' 4286 VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "Ljava/lang/Class<" "*>;[F)" "Ljava/lang/invoke/CallSite;" } 4287 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4288Annotations on method #145 'bsmWithClassArray' 4289 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4290Annotations on method #146 'bsmWithDoubleArray' 4291 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4292Annotations on method #147 'bsmWithFloatAndLongArray' 4293 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4294Annotations on method #148 'bsmWithIntAndStringArray' 4295 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4296Annotations on method #149 'bsmWithLongAndIntArray' 4297 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4298Annotations on method #150 'bsmWithStringArray' 4299 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4300Annotations on method #151 'bsmWithWiderArray' 4301 VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; } 4302Annotations on method #152 'methodA' 4303 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "Aachen" } Lannotations/Constant; stringValue={ "Aalborg" } Lannotations/Constant; stringValue={ "Aalto" } } fieldOrMethodName="methodA" 4304Annotations on method #153 'methodB' 4305 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "barium" } } fieldOrMethodName="methodB" 4306Annotations on method #154 'methodC' 4307 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } fieldOrMethodName="methodC" 4308Annotations on method #155 'methodD' 4309 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 101 } Lannotations/Constant; stringValue={ "zoo" } Lannotations/Constant; stringValue={ "zoogene" } Lannotations/Constant; stringValue={ "zoogenic" } } fieldOrMethodName="methodD" 4310Annotations on method #156 'methodE' 4311 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 102 } Lannotations/Constant; stringValue={ "zonic" } } fieldOrMethodName="methodE" 4312Annotations on method #157 'methodF' 4313 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } } fieldOrMethodName="methodF" 4314Annotations on method #158 'methodG' 4315 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithLongAndIntArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; J [I } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; longValue={ 81985529216486895 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; intValue={ -1 } Lannotations/Constant; intValue={ 2 } Lannotations/Constant; intValue={ -2 } } fieldOrMethodName="methodG" 4316Annotations on method #159 'methodH' 4317 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithFloatAndLongArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; F [J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; floatValue={ -2.71828 } Lannotations/Constant; longValue={ 999999999999 } Lannotations/Constant; longValue={ -8888888888888 } } fieldOrMethodName="methodH" 4318Annotations on method #160 'methodI' 4319 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithClassAndFloatArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; [F } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ Ljava/lang/Throwable; } Lannotations/Constant; floatValue={ 3.40282e+38 } Lannotations/Constant; floatValue={ 1.4013e-45 } Lannotations/Constant; floatValue={ 3.14159 } Lannotations/Constant; floatValue={ -3.14159 } } fieldOrMethodName="methodI" 4320Annotations on method #161 'methodJ' 4321 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithDoubleArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [D } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; doubleValue={ 4.94066e-324 } Lannotations/Constant; doubleValue={ 2.71828 } Lannotations/Constant; doubleValue={ -3.14159 } } fieldOrMethodName="methodJ" 4322Annotations on method #162 'methodK' 4323 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithClassArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ Ljava/lang/Integer; } Lannotations/Constant; classValue={ Ljava/lang/invoke/MethodHandles; } Lannotations/Constant; classValue={ Ljava/util/Arrays; } } fieldOrMethodName="methodK" 4324Annotations on method #163 'methodO' 4325 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; intValue={ 104 } } fieldOrMethodName="methodO" 4326Annotations on method #164 'methodP' 4327 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; stringValue={ "A" } Lannotations/Constant; stringValue={ "B" } Lannotations/Constant; intValue={ 42 } } fieldOrMethodName="methodP" 4328Annotations on method #165 'methodQ' 4329 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithWiderArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; intValue={ 42 } } fieldOrMethodName="methodQ" 4330Annotations on method #166 'methodR' 4331 VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithBoxedArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/Integer; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 1030 } Lannotations/Constant; intValue={ 420 } } fieldOrMethodName="methodR" 4332 4333Class #13 - 4334 Class descriptor : 'LTestVariableArityLinkerMethod;' 4335 Access flags : 0x0001 (PUBLIC) 4336 Superclass : 'LTestBase;' 4337 Interfaces - 4338 Static fields - 4339 Instance fields - 4340 Direct methods - 4341 #0 : (in LTestVariableArityLinkerMethod;) 4342 name : '<init>' 4343 type : '()V' 4344 access : 0x10001 (PUBLIC CONSTRUCTOR) 4345 code - 4346 registers : 1 4347 ins : 1 4348 outs : 1 4349 insns size : 4 16-bit code units 4350003a7c: |[003a7c] TestVariableArityLinkerMethod.<init>:()V 4351003a8c: 7010 3200 0000 |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032 4352003a92: 0e00 |0003: return-void 4353 catches : (none) 4354 positions : 4355 0x0000 line=27 4356 locals : 4357 0x0000 - 0x0004 reg=0 this LTestVariableArityLinkerMethod; 4358 4359 #1 : (in LTestVariableArityLinkerMethod;) 4360 name : 'bsmWithBoxedArray' 4361 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite;' 4362 access : 0x000a (PRIVATE STATIC) 4363 code - 4364 registers : 7 4365 ins : 4 4366 outs : 4 4367 insns size : 34 16-bit code units 4368003750: |[003750] TestVariableArityLinkerMethod.bsmWithBoxedArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite; 4369003760: 1a00 f800 |0000: const-string v0, "bsmWithBoxedArray" // string@00f8 4370003764: 1241 |0002: const/4 v1, #int 4 // #4 4371003766: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 437200376a: 1202 |0005: const/4 v2, #int 0 // #0 437300376c: 4d03 0102 |0006: aput-object v3, v1, v2 4374003770: 1212 |0008: const/4 v2, #int 1 // #1 4375003772: 4d04 0102 |0009: aput-object v4, v1, v2 4376003776: 1222 |000b: const/4 v2, #int 2 // #2 4377003778: 4d05 0102 |000c: aput-object v5, v1, v2 437800377c: 1232 |000e: const/4 v2, #int 3 // #3 437900377e: 4d06 0102 |000f: aput-object v6, v1, v2 4380003782: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 4381003788: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 438200378e: 0c00 |0017: move-result-object v0 4383003790: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 4384003796: 0c00 |001b: move-result-object v0 4385003798: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 438600379c: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 43870037a2: 1101 |0021: return-object v1 4388 catches : (none) 4389 positions : 4390 0x0000 line=477 4391 0x0014 line=478 4392 0x001c line=479 4393 locals : 4394 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 4395 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4396 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 4397 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 4398 0x0000 - 0x0022 reg=6 extraArgs [Ljava/lang/Integer; 4399 4400 #2 : (in LTestVariableArityLinkerMethod;) 4401 name : 'bsmWithClassAndFloatArray' 4402 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite;' 4403 access : 0x008a (PRIVATE STATIC VARARGS) 4404 code - 4405 registers : 8 4406 ins : 5 4407 outs : 4 4408 insns size : 37 16-bit code units 44090037a4: |[0037a4] TestVariableArityLinkerMethod.bsmWithClassAndFloatArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite; 44100037b4: 1a00 f900 |0000: const-string v0, "bsmWithClassAndFloatArray" // string@00f9 44110037b8: 1251 |0002: const/4 v1, #int 5 // #5 44120037ba: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 44130037be: 1202 |0005: const/4 v2, #int 0 // #0 44140037c0: 4d03 0102 |0006: aput-object v3, v1, v2 44150037c4: 1212 |0008: const/4 v2, #int 1 // #1 44160037c6: 4d04 0102 |0009: aput-object v4, v1, v2 44170037ca: 1222 |000b: const/4 v2, #int 2 // #2 44180037cc: 4d05 0102 |000c: aput-object v5, v1, v2 44190037d0: 1232 |000e: const/4 v2, #int 3 // #3 44200037d2: 4d06 0102 |000f: aput-object v6, v1, v2 44210037d6: 1242 |0011: const/4 v2, #int 4 // #4 44220037d8: 4d07 0102 |0012: aput-object v7, v1, v2 44230037dc: 7120 a700 1000 |0014: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 44240037e2: 6e10 dc00 0300 |0017: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 44250037e8: 0c00 |001a: move-result-object v0 44260037ea: 6e40 d800 0354 |001b: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 44270037f0: 0c00 |001e: move-result-object v0 44280037f2: 2201 3400 |001f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 44290037f6: 7020 d200 0100 |0021: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 44300037fc: 1101 |0024: return-object v1 4431 catches : (none) 4432 positions : 4433 0x0000 line=294 4434 0x0017 line=296 4435 0x001f line=297 4436 locals : 4437 0x0000 - 0x0000 reg=6 (null) Ljava/lang/Class; 4438 0x001f - 0x0025 reg=0 mh Ljava/lang/invoke/MethodHandle; 4439 0x0000 - 0x0025 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4440 0x0000 - 0x0025 reg=4 methodName Ljava/lang/String; 4441 0x0000 - 0x0025 reg=5 methodType Ljava/lang/invoke/MethodType; 4442 0x0000 - 0x0025 reg=6 extraArg Ljava/lang/Class; Ljava/lang/Class<*>; 4443 0x0000 - 0x0025 reg=7 arityArgs [F 4444 4445 #3 : (in LTestVariableArityLinkerMethod;) 4446 name : 'bsmWithClassArray' 4447 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite;' 4448 access : 0x008a (PRIVATE STATIC VARARGS) 4449 code - 4450 registers : 7 4451 ins : 4 4452 outs : 4 4453 insns size : 34 16-bit code units 4454003800: |[003800] TestVariableArityLinkerMethod.bsmWithClassArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite; 4455003810: 1a00 fa00 |0000: const-string v0, "bsmWithClassArray" // string@00fa 4456003814: 1241 |0002: const/4 v1, #int 4 // #4 4457003816: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 445800381a: 1202 |0005: const/4 v2, #int 0 // #0 445900381c: 4d03 0102 |0006: aput-object v3, v1, v2 4460003820: 1212 |0008: const/4 v2, #int 1 // #1 4461003822: 4d04 0102 |0009: aput-object v4, v1, v2 4462003826: 1222 |000b: const/4 v2, #int 2 // #2 4463003828: 4d05 0102 |000c: aput-object v5, v1, v2 446400382c: 1232 |000e: const/4 v2, #int 3 // #3 446500382e: 4d06 0102 |000f: aput-object v6, v1, v2 4466003832: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 4467003838: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 446800383e: 0c00 |0017: move-result-object v0 4469003840: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 4470003846: 0c00 |001b: move-result-object v0 4471003848: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 447200384c: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 4473003852: 1101 |0021: return-object v1 4474 catches : (none) 4475 positions : 4476 0x0000 line=367 4477 0x0014 line=368 4478 0x001c line=369 4479 locals : 4480 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 4481 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4482 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 4483 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 4484 0x0000 - 0x0022 reg=6 arityArgs [Ljava/lang/Class; 4485 4486 #4 : (in LTestVariableArityLinkerMethod;) 4487 name : 'bsmWithDoubleArray' 4488 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite;' 4489 access : 0x008a (PRIVATE STATIC VARARGS) 4490 code - 4491 registers : 7 4492 ins : 4 4493 outs : 4 4494 insns size : 34 16-bit code units 4495003854: |[003854] TestVariableArityLinkerMethod.bsmWithDoubleArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite; 4496003864: 1a00 fb00 |0000: const-string v0, "bsmWithDoubleArray" // string@00fb 4497003868: 1241 |0002: const/4 v1, #int 4 // #4 449800386a: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 449900386e: 1202 |0005: const/4 v2, #int 0 // #0 4500003870: 4d03 0102 |0006: aput-object v3, v1, v2 4501003874: 1212 |0008: const/4 v2, #int 1 // #1 4502003876: 4d04 0102 |0009: aput-object v4, v1, v2 450300387a: 1222 |000b: const/4 v2, #int 2 // #2 450400387c: 4d05 0102 |000c: aput-object v5, v1, v2 4505003880: 1232 |000e: const/4 v2, #int 3 // #3 4506003882: 4d06 0102 |000f: aput-object v6, v1, v2 4507003886: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 450800388c: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 4509003892: 0c00 |0017: move-result-object v0 4510003894: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 451100389a: 0c00 |001b: move-result-object v0 451200389c: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 45130038a0: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 45140038a6: 1101 |0021: return-object v1 4515 catches : (none) 4516 positions : 4517 0x0000 line=332 4518 0x0014 line=333 4519 0x001c line=334 4520 locals : 4521 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 4522 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4523 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 4524 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 4525 0x0000 - 0x0022 reg=6 arityArgs [D 4526 4527 #5 : (in LTestVariableArityLinkerMethod;) 4528 name : 'bsmWithFloatAndLongArray' 4529 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite;' 4530 access : 0x008a (PRIVATE STATIC VARARGS) 4531 code - 4532 registers : 9 4533 ins : 5 4534 outs : 4 4535 insns size : 41 16-bit code units 45360038a8: |[0038a8] TestVariableArityLinkerMethod.bsmWithFloatAndLongArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite; 45370038b8: 1a00 fc00 |0000: const-string v0, "bsmWithFloatAndLongArray" // string@00fc 45380038bc: 1251 |0002: const/4 v1, #int 5 // #5 45390038be: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 45400038c2: 1202 |0005: const/4 v2, #int 0 // #0 45410038c4: 4d04 0102 |0006: aput-object v4, v1, v2 45420038c8: 1212 |0008: const/4 v2, #int 1 // #1 45430038ca: 4d05 0102 |0009: aput-object v5, v1, v2 45440038ce: 1222 |000b: const/4 v2, #int 2 // #2 45450038d0: 4d06 0102 |000c: aput-object v6, v1, v2 45460038d4: 7110 ba00 0700 |000e: invoke-static {v7}, Ljava/lang/Float;.valueOf:(F)Ljava/lang/Float; // method@00ba 45470038da: 0c02 |0011: move-result-object v2 45480038dc: 1233 |0012: const/4 v3, #int 3 // #3 45490038de: 4d02 0103 |0013: aput-object v2, v1, v3 45500038e2: 1242 |0015: const/4 v2, #int 4 // #4 45510038e4: 4d08 0102 |0016: aput-object v8, v1, v2 45520038e8: 7120 a700 1000 |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 45530038ee: 6e10 dc00 0400 |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 45540038f4: 0c00 |001e: move-result-object v0 45550038f6: 6e40 d800 0465 |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 45560038fc: 0c00 |0022: move-result-object v0 45570038fe: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 4558003902: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 4559003908: 1101 |0028: return-object v1 4560 catches : (none) 4561 positions : 4562 0x0000 line=257 4563 0x000e line=258 4564 0x0018 line=257 4565 0x001b line=259 4566 0x0023 line=260 4567 locals : 4568 0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 4569 0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4570 0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 4571 0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 4572 0x0000 - 0x0029 reg=7 extraArg F 4573 0x0000 - 0x0029 reg=8 arityArgs [J 4574 4575 #6 : (in LTestVariableArityLinkerMethod;) 4576 name : 'bsmWithIntAndStringArray' 4577 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite;' 4578 access : 0x008a (PRIVATE STATIC VARARGS) 4579 code - 4580 registers : 9 4581 ins : 5 4582 outs : 4 4583 insns size : 41 16-bit code units 458400390c: |[00390c] TestVariableArityLinkerMethod.bsmWithIntAndStringArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite; 458500391c: 1a00 fd00 |0000: const-string v0, "bsmWithIntAndStringArray" // string@00fd 4586003920: 1251 |0002: const/4 v1, #int 5 // #5 4587003922: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 4588003926: 1202 |0005: const/4 v2, #int 0 // #0 4589003928: 4d04 0102 |0006: aput-object v4, v1, v2 459000392c: 1212 |0008: const/4 v2, #int 1 // #1 459100392e: 4d05 0102 |0009: aput-object v5, v1, v2 4592003932: 1222 |000b: const/4 v2, #int 2 // #2 4593003934: 4d06 0102 |000c: aput-object v6, v1, v2 4594003938: 7110 bd00 0700 |000e: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd 459500393e: 0c02 |0011: move-result-object v2 4596003940: 1233 |0012: const/4 v3, #int 3 // #3 4597003942: 4d02 0103 |0013: aput-object v2, v1, v3 4598003946: 1242 |0015: const/4 v2, #int 4 // #4 4599003948: 4d08 0102 |0016: aput-object v8, v1, v2 460000394c: 7120 a700 1000 |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 4601003952: 6e10 dc00 0400 |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 4602003958: 0c00 |001e: move-result-object v0 460300395a: 6e40 d800 0465 |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 4604003960: 0c00 |0022: move-result-object v0 4605003962: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 4606003966: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 460700396c: 1101 |0028: return-object v1 4608 catches : (none) 4609 positions : 4610 0x0000 line=133 4611 0x000e line=138 4612 0x0018 line=133 4613 0x001b line=140 4614 0x0023 line=141 4615 locals : 4616 0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 4617 0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4618 0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 4619 0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 4620 0x0000 - 0x0029 reg=7 extraInt I 4621 0x0000 - 0x0029 reg=8 extraArityArgs [Ljava/lang/String; 4622 4623 #7 : (in LTestVariableArityLinkerMethod;) 4624 name : 'bsmWithLongAndIntArray' 4625 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite;' 4626 access : 0x008a (PRIVATE STATIC VARARGS) 4627 code - 4628 registers : 10 4629 ins : 6 4630 outs : 4 4631 insns size : 41 16-bit code units 4632003970: |[003970] TestVariableArityLinkerMethod.bsmWithLongAndIntArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite; 4633003980: 1a00 fe00 |0000: const-string v0, "bsmWithLongAndIntArray" // string@00fe 4634003984: 1251 |0002: const/4 v1, #int 5 // #5 4635003986: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 463600398a: 1202 |0005: const/4 v2, #int 0 // #0 463700398c: 4d04 0102 |0006: aput-object v4, v1, v2 4638003990: 1212 |0008: const/4 v2, #int 1 // #1 4639003992: 4d05 0102 |0009: aput-object v5, v1, v2 4640003996: 1222 |000b: const/4 v2, #int 2 // #2 4641003998: 4d06 0102 |000c: aput-object v6, v1, v2 464200399c: 7120 be00 8700 |000e: invoke-static {v7, v8}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@00be 46430039a2: 0c02 |0011: move-result-object v2 46440039a4: 1233 |0012: const/4 v3, #int 3 // #3 46450039a6: 4d02 0103 |0013: aput-object v2, v1, v3 46460039aa: 1242 |0015: const/4 v2, #int 4 // #4 46470039ac: 4d09 0102 |0016: aput-object v9, v1, v2 46480039b0: 7120 a700 1000 |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 46490039b6: 6e10 dc00 0400 |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 46500039bc: 0c00 |001e: move-result-object v0 46510039be: 6e40 d800 0465 |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 46520039c4: 0c00 |0022: move-result-object v0 46530039c6: 2201 3400 |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 46540039ca: 7020 d200 0100 |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 46550039d0: 1101 |0028: return-object v1 4656 catches : (none) 4657 positions : 4658 0x0000 line=219 4659 0x001b line=220 4660 0x0023 line=221 4661 locals : 4662 0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 4663 0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4664 0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 4665 0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 4666 0x0000 - 0x0029 reg=7 extraArg J 4667 0x0000 - 0x0029 reg=9 arityArgs [I 4668 4669 #8 : (in LTestVariableArityLinkerMethod;) 4670 name : 'bsmWithStringArray' 4671 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite;' 4672 access : 0x008a (PRIVATE STATIC VARARGS) 4673 code - 4674 registers : 7 4675 ins : 4 4676 outs : 4 4677 insns size : 34 16-bit code units 46780039d4: |[0039d4] TestVariableArityLinkerMethod.bsmWithStringArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite; 46790039e4: 1a00 ff00 |0000: const-string v0, "bsmWithStringArray" // string@00ff 46800039e8: 1241 |0002: const/4 v1, #int 4 // #4 46810039ea: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 46820039ee: 1202 |0005: const/4 v2, #int 0 // #0 46830039f0: 4d03 0102 |0006: aput-object v3, v1, v2 46840039f4: 1212 |0008: const/4 v2, #int 1 // #1 46850039f6: 4d04 0102 |0009: aput-object v4, v1, v2 46860039fa: 1222 |000b: const/4 v2, #int 2 // #2 46870039fc: 4d05 0102 |000c: aput-object v5, v1, v2 4688003a00: 1232 |000e: const/4 v2, #int 3 // #3 4689003a02: 4d06 0102 |000f: aput-object v6, v1, v2 4690003a06: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 4691003a0c: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 4692003a12: 0c00 |0017: move-result-object v0 4693003a14: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 4694003a1a: 0c00 |001b: move-result-object v0 4695003a1c: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 4696003a20: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 4697003a26: 1101 |0021: return-object v1 4698 catches : (none) 4699 positions : 4700 0x0000 line=61 4701 0x0014 line=62 4702 0x001c line=63 4703 locals : 4704 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 4705 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4706 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 4707 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 4708 0x0000 - 0x0022 reg=6 arityArgs [Ljava/lang/String; 4709 4710 #9 : (in LTestVariableArityLinkerMethod;) 4711 name : 'bsmWithWiderArray' 4712 type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite;' 4713 access : 0x000a (PRIVATE STATIC) 4714 code - 4715 registers : 7 4716 ins : 4 4717 outs : 4 4718 insns size : 34 16-bit code units 4719003a28: |[003a28] TestVariableArityLinkerMethod.bsmWithWiderArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite; 4720003a38: 1a00 0001 |0000: const-string v0, "bsmWithWiderArray" // string@0100 4721003a3c: 1241 |0002: const/4 v1, #int 4 // #4 4722003a3e: 2311 4800 |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048 4723003a42: 1202 |0005: const/4 v2, #int 0 // #0 4724003a44: 4d03 0102 |0006: aput-object v3, v1, v2 4725003a48: 1212 |0008: const/4 v2, #int 1 // #1 4726003a4a: 4d04 0102 |0009: aput-object v4, v1, v2 4727003a4e: 1222 |000b: const/4 v2, #int 2 // #2 4728003a50: 4d05 0102 |000c: aput-object v5, v1, v2 4729003a54: 1232 |000e: const/4 v2, #int 3 // #3 4730003a56: 4d06 0102 |000f: aput-object v6, v1, v2 4731003a5a: 7120 a700 1000 |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7 4732003a60: 6e10 dc00 0300 |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc 4733003a66: 0c00 |0017: move-result-object v0 4734003a68: 6e40 d800 0354 |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8 4735003a6e: 0c00 |001b: move-result-object v0 4736003a70: 2201 3400 |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034 4737003a74: 7020 d200 0100 |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2 4738003a7a: 1101 |0021: return-object v1 4739 catches : (none) 4740 positions : 4741 0x0000 line=447 4742 0x0014 line=448 4743 0x001c line=449 4744 locals : 4745 0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 4746 0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 4747 0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 4748 0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 4749 0x0000 - 0x0022 reg=6 extraArgs [J 4750 4751 #10 : (in LTestVariableArityLinkerMethod;) 4752 name : 'methodA' 4753 type : '()V' 4754 access : 0x000a (PRIVATE STATIC) 4755 code - 4756 registers : 2 4757 ins : 0 4758 outs : 2 4759 insns size : 8 16-bit code units 4760003a94: |[003a94] TestVariableArityLinkerMethod.methodA:()V 4761003aa4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4762003aa8: 1a01 7501 |0002: const-string v1, "methodA" // string@0175 4763003aac: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4764003ab2: 0e00 |0007: return-void 4765 catches : (none) 4766 positions : 4767 0x0000 line=86 4768 0x0007 line=87 4769 locals : 4770 4771 #11 : (in LTestVariableArityLinkerMethod;) 4772 name : 'methodB' 4773 type : '()V' 4774 access : 0x000a (PRIVATE STATIC) 4775 code - 4776 registers : 2 4777 ins : 0 4778 outs : 2 4779 insns size : 8 16-bit code units 4780003ab4: |[003ab4] TestVariableArityLinkerMethod.methodB:()V 4781003ac4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4782003ac8: 1a01 7601 |0002: const-string v1, "methodB" // string@0176 4783003acc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4784003ad2: 0e00 |0007: return-void 4785 catches : (none) 4786 positions : 4787 0x0000 line=105 4788 0x0007 line=106 4789 locals : 4790 4791 #12 : (in LTestVariableArityLinkerMethod;) 4792 name : 'methodC' 4793 type : '()V' 4794 access : 0x000a (PRIVATE STATIC) 4795 code - 4796 registers : 2 4797 ins : 0 4798 outs : 2 4799 insns size : 8 16-bit code units 4800003ad4: |[003ad4] TestVariableArityLinkerMethod.methodC:()V 4801003ae4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4802003ae8: 1a01 7701 |0002: const-string v1, "methodC" // string@0177 4803003aec: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4804003af2: 0e00 |0007: return-void 4805 catches : (none) 4806 positions : 4807 0x0000 line=123 4808 0x0007 line=124 4809 locals : 4810 4811 #13 : (in LTestVariableArityLinkerMethod;) 4812 name : 'methodD' 4813 type : '()V' 4814 access : 0x000a (PRIVATE STATIC) 4815 code - 4816 registers : 2 4817 ins : 0 4818 outs : 2 4819 insns size : 8 16-bit code units 4820003af4: |[003af4] TestVariableArityLinkerMethod.methodD:()V 4821003b04: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4822003b08: 1a01 7801 |0002: const-string v1, "methodD" // string@0178 4823003b0c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4824003b12: 0e00 |0007: return-void 4825 catches : (none) 4826 positions : 4827 0x0000 line=166 4828 0x0007 line=167 4829 locals : 4830 4831 #14 : (in LTestVariableArityLinkerMethod;) 4832 name : 'methodE' 4833 type : '()V' 4834 access : 0x000a (PRIVATE STATIC) 4835 code - 4836 registers : 2 4837 ins : 0 4838 outs : 2 4839 insns size : 8 16-bit code units 4840003b14: |[003b14] TestVariableArityLinkerMethod.methodE:()V 4841003b24: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4842003b28: 1a01 7901 |0002: const-string v1, "methodE" // string@0179 4843003b2c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4844003b32: 0e00 |0007: return-void 4845 catches : (none) 4846 positions : 4847 0x0000 line=189 4848 0x0007 line=190 4849 locals : 4850 4851 #15 : (in LTestVariableArityLinkerMethod;) 4852 name : 'methodF' 4853 type : '()V' 4854 access : 0x000a (PRIVATE STATIC) 4855 code - 4856 registers : 2 4857 ins : 0 4858 outs : 2 4859 insns size : 8 16-bit code units 4860003b34: |[003b34] TestVariableArityLinkerMethod.methodF:()V 4861003b44: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4862003b48: 1a01 7a01 |0002: const-string v1, "methodF" // string@017a 4863003b4c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4864003b52: 0e00 |0007: return-void 4865 catches : (none) 4866 positions : 4867 0x0000 line=209 4868 0x0007 line=210 4869 locals : 4870 4871 #16 : (in LTestVariableArityLinkerMethod;) 4872 name : 'methodG' 4873 type : '()V' 4874 access : 0x000a (PRIVATE STATIC) 4875 code - 4876 registers : 2 4877 ins : 0 4878 outs : 2 4879 insns size : 8 16-bit code units 4880003b54: |[003b54] TestVariableArityLinkerMethod.methodG:()V 4881003b64: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4882003b68: 1a01 7b01 |0002: const-string v1, "methodG" // string@017b 4883003b6c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4884003b72: 0e00 |0007: return-void 4885 catches : (none) 4886 positions : 4887 0x0000 line=247 4888 0x0007 line=248 4889 locals : 4890 4891 #17 : (in LTestVariableArityLinkerMethod;) 4892 name : 'methodH' 4893 type : '()V' 4894 access : 0x000a (PRIVATE STATIC) 4895 code - 4896 registers : 2 4897 ins : 0 4898 outs : 2 4899 insns size : 8 16-bit code units 4900003b74: |[003b74] TestVariableArityLinkerMethod.methodH:()V 4901003b84: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4902003b88: 1a01 7c01 |0002: const-string v1, "methodH" // string@017c 4903003b8c: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4904003b92: 0e00 |0007: return-void 4905 catches : (none) 4906 positions : 4907 0x0000 line=284 4908 0x0007 line=285 4909 locals : 4910 4911 #18 : (in LTestVariableArityLinkerMethod;) 4912 name : 'methodI' 4913 type : '()V' 4914 access : 0x000a (PRIVATE STATIC) 4915 code - 4916 registers : 2 4917 ins : 0 4918 outs : 2 4919 insns size : 8 16-bit code units 4920003b94: |[003b94] TestVariableArityLinkerMethod.methodI:()V 4921003ba4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4922003ba8: 1a01 7d01 |0002: const-string v1, "methodI" // string@017d 4923003bac: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4924003bb2: 0e00 |0007: return-void 4925 catches : (none) 4926 positions : 4927 0x0000 line=323 4928 0x0007 line=324 4929 locals : 4930 4931 #19 : (in LTestVariableArityLinkerMethod;) 4932 name : 'methodJ' 4933 type : '()V' 4934 access : 0x000a (PRIVATE STATIC) 4935 code - 4936 registers : 2 4937 ins : 0 4938 outs : 2 4939 insns size : 8 16-bit code units 4940003bb4: |[003bb4] TestVariableArityLinkerMethod.methodJ:()V 4941003bc4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4942003bc8: 1a01 7e01 |0002: const-string v1, "methodJ" // string@017e 4943003bcc: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4944003bd2: 0e00 |0007: return-void 4945 catches : (none) 4946 positions : 4947 0x0000 line=358 4948 0x0007 line=359 4949 locals : 4950 4951 #20 : (in LTestVariableArityLinkerMethod;) 4952 name : 'methodK' 4953 type : '()V' 4954 access : 0x000a (PRIVATE STATIC) 4955 code - 4956 registers : 2 4957 ins : 0 4958 outs : 2 4959 insns size : 8 16-bit code units 4960003bd4: |[003bd4] TestVariableArityLinkerMethod.methodK:()V 4961003be4: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 4962003be8: 1a01 7f01 |0002: const-string v1, "methodK" // string@017f 4963003bec: 6e20 b300 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 4964003bf2: 0e00 |0007: return-void 4965 catches : (none) 4966 positions : 4967 0x0000 line=392 4968 0x0007 line=393 4969 locals : 4970 4971 #21 : (in LTestVariableArityLinkerMethod;) 4972 name : 'methodO' 4973 type : '()V' 4974 access : 0x000a (PRIVATE STATIC) 4975 code - 4976 registers : 0 4977 ins : 0 4978 outs : 0 4979 insns size : 4 16-bit code units 4980003bf4: |[003bf4] TestVariableArityLinkerMethod.methodO:()V 4981003c04: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 4982003c0a: 0e00 |0003: return-void 4983 catches : (none) 4984 positions : 4985 0x0000 line=413 4986 0x0003 line=414 4987 locals : 4988 4989 #22 : (in LTestVariableArityLinkerMethod;) 4990 name : 'methodP' 4991 type : '()V' 4992 access : 0x000a (PRIVATE STATIC) 4993 code - 4994 registers : 0 4995 ins : 0 4996 outs : 0 4997 insns size : 4 16-bit code units 4998003c0c: |[003c0c] TestVariableArityLinkerMethod.methodP:()V 4999003c1c: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5000003c22: 0e00 |0003: return-void 5001 catches : (none) 5002 positions : 5003 0x0000 line=441 5004 0x0003 line=442 5005 locals : 5006 5007 #23 : (in LTestVariableArityLinkerMethod;) 5008 name : 'methodQ' 5009 type : '()V' 5010 access : 0x000a (PRIVATE STATIC) 5011 code - 5012 registers : 0 5013 ins : 0 5014 outs : 0 5015 insns size : 4 16-bit code units 5016003c24: |[003c24] TestVariableArityLinkerMethod.methodQ:()V 5017003c34: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5018003c3a: 0e00 |0003: return-void 5019 catches : (none) 5020 positions : 5021 0x0000 line=468 5022 0x0003 line=469 5023 locals : 5024 5025 #24 : (in LTestVariableArityLinkerMethod;) 5026 name : 'methodR' 5027 type : '()V' 5028 access : 0x000a (PRIVATE STATIC) 5029 code - 5030 registers : 0 5031 ins : 0 5032 outs : 0 5033 insns size : 4 16-bit code units 5034003c3c: |[003c3c] TestVariableArityLinkerMethod.methodR:()V 5035003c4c: 7100 8e00 0000 |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5036003c52: 0e00 |0003: return-void 5037 catches : (none) 5038 positions : 5039 0x0000 line=501 5040 0x0003 line=502 5041 locals : 5042 5043 #25 : (in LTestVariableArityLinkerMethod;) 5044 name : 'printBsmArgs' 5045 type : '(Ljava/lang/String;[Ljava/lang/Object;)V' 5046 access : 0x008a (PRIVATE STATIC VARARGS) 5047 code - 5048 registers : 6 5049 ins : 2 5050 outs : 2 5051 insns size : 159 16-bit code units 5052003c54: |[003c54] TestVariableArityLinkerMethod.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V 5053003c64: 6200 1300 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5054003c68: 6e20 b000 4000 |0002: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5055003c6e: 6200 1300 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5056003c72: 1a01 0600 |0007: const-string v1, "(" // string@0006 5057003c76: 6e20 b000 1000 |0009: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5058003c7c: 1200 |000c: const/4 v0, #int 0 // #0 5059003c7e: 2151 |000d: array-length v1, v5 5060003c80: 3510 8900 |000e: if-ge v0, v1, 0097 // +0089 5061003c84: 3800 0900 |0010: if-eqz v0, 0019 // +0009 5062003c88: 6201 1300 |0012: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5063003c8c: 1a02 0c00 |0014: const-string v2, ", " // string@000c 5064003c90: 6e20 b000 2100 |0016: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5065003c96: 4601 0500 |0019: aget-object v1, v5, v0 5066003c9a: 3801 7100 |001b: if-eqz v1, 008c // +0071 5067003c9e: 4601 0500 |001d: aget-object v1, v5, v0 5068003ca2: 6e10 c000 0100 |001f: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5069003ca8: 0c01 |0022: move-result-object v1 5070003caa: 6e10 b800 0100 |0023: invoke-virtual {v1}, Ljava/lang/Class;.isArray:()Z // method@00b8 5071003cb0: 0a01 |0026: move-result v1 5072003cb2: 3801 6500 |0027: if-eqz v1, 008c // +0065 5073003cb6: 4601 0500 |0029: aget-object v1, v5, v0 5074003cba: 6e10 c000 0100 |002b: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5075003cc0: 0c02 |002e: move-result-object v2 5076003cc2: 1c03 4400 |002f: const-class v3, [I // type@0044 5077003cc6: 3332 0f00 |0031: if-ne v2, v3, 0040 // +000f 5078003cca: 6202 1300 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5079003cce: 0713 |0035: move-object v3, v1 5080003cd0: 1f03 4400 |0036: check-cast v3, [I // type@0044 5081003cd4: 7110 e900 0300 |0038: invoke-static {v3}, Ljava/util/Arrays;.toString:([I)Ljava/lang/String; // method@00e9 5082003cda: 0c03 |003b: move-result-object v3 5083003cdc: 6e20 b000 3200 |003c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5084003ce2: 284c |003f: goto 008b // +004c 5085003ce4: 6e10 c000 0100 |0040: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5086003cea: 0c02 |0043: move-result-object v2 5087003cec: 1c03 4500 |0044: const-class v3, [J // type@0045 5088003cf0: 3332 0f00 |0046: if-ne v2, v3, 0055 // +000f 5089003cf4: 6202 1300 |0048: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5090003cf8: 0713 |004a: move-object v3, v1 5091003cfa: 1f03 4500 |004b: check-cast v3, [J // type@0045 5092003cfe: 7110 ea00 0300 |004d: invoke-static {v3}, Ljava/util/Arrays;.toString:([J)Ljava/lang/String; // method@00ea 5093003d04: 0c03 |0050: move-result-object v3 5094003d06: 6e20 b000 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5095003d0c: 2837 |0054: goto 008b // +0037 5096003d0e: 6e10 c000 0100 |0055: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5097003d14: 0c02 |0058: move-result-object v2 5098003d16: 1c03 4300 |0059: const-class v3, [F // type@0043 5099003d1a: 3332 0f00 |005b: if-ne v2, v3, 006a // +000f 5100003d1e: 6202 1300 |005d: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5101003d22: 0713 |005f: move-object v3, v1 5102003d24: 1f03 4300 |0060: check-cast v3, [F // type@0043 5103003d28: 7110 e800 0300 |0062: invoke-static {v3}, Ljava/util/Arrays;.toString:([F)Ljava/lang/String; // method@00e8 5104003d2e: 0c03 |0065: move-result-object v3 5105003d30: 6e20 b000 3200 |0066: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5106003d36: 2822 |0069: goto 008b // +0022 5107003d38: 6e10 c000 0100 |006a: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5108003d3e: 0c02 |006d: move-result-object v2 5109003d40: 1c03 4200 |006e: const-class v3, [D // type@0042 5110003d44: 3332 0f00 |0070: if-ne v2, v3, 007f // +000f 5111003d48: 6202 1300 |0072: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5112003d4c: 0713 |0074: move-object v3, v1 5113003d4e: 1f03 4200 |0075: check-cast v3, [D // type@0042 5114003d52: 7110 e700 0300 |0077: invoke-static {v3}, Ljava/util/Arrays;.toString:([D)Ljava/lang/String; // method@00e7 5115003d58: 0c03 |007a: move-result-object v3 5116003d5a: 6e20 b000 3200 |007b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5117003d60: 280d |007e: goto 008b // +000d 5118003d62: 6202 1300 |007f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5119003d66: 0713 |0081: move-object v3, v1 5120003d68: 1f03 4800 |0082: check-cast v3, [Ljava/lang/Object; // type@0048 5121003d6c: 7110 eb00 0300 |0084: invoke-static {v3}, Ljava/util/Arrays;.toString:([Ljava/lang/Object;)Ljava/lang/String; // method@00eb 5122003d72: 0c03 |0087: move-result-object v3 5123003d74: 6e20 b000 3200 |0088: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5124003d7a: 2808 |008b: goto 0093 // +0008 5125003d7c: 6201 1300 |008c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5126003d80: 4602 0500 |008e: aget-object v2, v5, v0 5127003d84: 6e20 af00 2100 |0090: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 5128003d8a: d800 0001 |0093: add-int/lit8 v0, v0, #int 1 // #01 5129003d8e: 2900 78ff |0095: goto/16 000d // -0088 5130003d92: 6200 1300 |0097: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5131003d96: 1a01 0800 |0099: const-string v1, ");" // string@0008 5132003d9a: 6e20 b300 1000 |009b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3 5133003da0: 0e00 |009e: return-void 5134 catches : (none) 5135 positions : 5136 0x0000 line=29 5137 0x0005 line=30 5138 0x000c line=31 5139 0x0010 line=32 5140 0x0012 line=33 5141 0x0019 line=35 5142 0x0029 line=36 5143 0x002b line=37 5144 0x0033 line=38 5145 0x0040 line=39 5146 0x0048 line=40 5147 0x0055 line=41 5148 0x005d line=42 5149 0x006a line=43 5150 0x0072 line=44 5151 0x007f line=46 5152 0x008b line=48 5153 0x008c line=49 5154 0x0093 line=31 5155 0x0097 line=52 5156 0x009e line=53 5157 locals : 5158 0x002b - 0x008b reg=1 array Ljava/lang/Object; 5159 0x000d - 0x0097 reg=0 i I 5160 0x0000 - 0x009f reg=4 method Ljava/lang/String; 5161 0x0000 - 0x009f reg=5 args [Ljava/lang/Object; 5162 5163 #26 : (in LTestVariableArityLinkerMethod;) 5164 name : 'test' 5165 type : '()V' 5166 access : 0x0008 (STATIC) 5167 code - 5168 registers : 3 5169 ins : 0 5170 outs : 2 5171 insns size : 224 16-bit code units 5172003da4: |[003da4] TestVariableArityLinkerMethod.test:()V 5173003db4: 1200 |0000: const/4 v0, #int 0 // #0 5174003db6: 0101 |0001: move v1, v0 5175003db8: 1222 |0002: const/4 v2, #int 2 // #2 5176003dba: 3521 0e00 |0003: if-ge v1, v2, 0011 // +000e 5177003dbe: fc00 1f00 0000 |0005: invoke-custom {}, call_site@001f 5178003dc4: fc00 2000 0000 |0008: invoke-custom {}, call_site@0020 5179003dca: fc00 2100 0000 |000b: invoke-custom {}, call_site@0021 5180003dd0: d801 0101 |000e: add-int/lit8 v1, v1, #int 1 // #01 5181003dd4: 28f2 |0010: goto 0002 // -000e 5182003dd6: 0000 |0011: nop // spacer 5183003dd8: 3520 0e00 |0012: if-ge v0, v2, 0020 // +000e 5184003ddc: fc00 2200 0000 |0014: invoke-custom {}, call_site@0022 5185003de2: fc00 2300 0000 |0017: invoke-custom {}, call_site@0023 5186003de8: fc00 2400 0000 |001a: invoke-custom {}, call_site@0024 5187003dee: d800 0001 |001d: add-int/lit8 v0, v0, #int 1 // #01 5188003df2: 28f3 |001f: goto 0012 // -000d 5189003df4: fc00 2500 0000 |0020: invoke-custom {}, call_site@0025 5190003dfa: fc00 2600 0000 |0023: invoke-custom {}, call_site@0026 5191003e00: fc00 2700 0000 |0026: invoke-custom {}, call_site@0027 5192003e06: fc00 2800 0000 |0029: invoke-custom {}, call_site@0028 5193003e0c: fc00 2900 0000 |002c: invoke-custom {}, call_site@0029 5194003e12: fc00 2a00 0000 |002f: invoke-custom {}, call_site@002a 5195003e18: 7100 8e00 0000 |0032: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5196003e1e: 2826 |0035: goto 005b // +0026 5197003e20: 0d00 |0036: move-exception v0 5198003e22: 6201 1300 |0037: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5199003e26: 1a02 8201 |0039: const-string v2, "methodO => " // string@0182 5200003e2a: 6e20 b000 2100 |003b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5201003e30: 6201 1300 |003e: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5202003e34: 6e10 c000 0000 |0040: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5203003e3a: 0c02 |0043: move-result-object v2 5204003e3c: 6e20 af00 2100 |0044: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 5205003e42: 6201 1300 |0047: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5206003e46: 1a02 0200 |0049: const-string v2, " => " // string@0002 5207003e4a: 6e20 b000 2100 |004b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5208003e50: 6201 1300 |004e: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5209003e54: 6e10 b600 0000 |0050: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 5210003e5a: 0c02 |0053: move-result-object v2 5211003e5c: 6e10 c000 0200 |0054: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5212003e62: 0c02 |0057: move-result-object v2 5213003e64: 6e20 b200 2100 |0058: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 5214003e6a: fc00 2b00 0000 |005b: invoke-custom {}, call_site@002b 5215003e70: 7100 8e00 0000 |005e: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5216003e76: 2826 |0061: goto 0087 // +0026 5217003e78: 0d00 |0062: move-exception v0 5218003e7a: 6201 1300 |0063: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5219003e7e: 1a02 8401 |0065: const-string v2, "methodP => " // string@0184 5220003e82: 6e20 b000 2100 |0067: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5221003e88: 6201 1300 |006a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5222003e8c: 6e10 c000 0000 |006c: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5223003e92: 0c02 |006f: move-result-object v2 5224003e94: 6e20 af00 2100 |0070: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 5225003e9a: 6201 1300 |0073: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5226003e9e: 1a02 0200 |0075: const-string v2, " => " // string@0002 5227003ea2: 6e20 b000 2100 |0077: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5228003ea8: 6201 1300 |007a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5229003eac: 6e10 b600 0000 |007c: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 5230003eb2: 0c02 |007f: move-result-object v2 5231003eb4: 6e10 c000 0200 |0080: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5232003eba: 0c02 |0083: move-result-object v2 5233003ebc: 6e20 b200 2100 |0084: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 5234003ec2: fc00 2c00 0000 |0087: invoke-custom {}, call_site@002c 5235003ec8: 7100 8e00 0000 |008a: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5236003ece: 2826 |008d: goto 00b3 // +0026 5237003ed0: 0d00 |008e: move-exception v0 5238003ed2: 6201 1300 |008f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5239003ed6: 1a02 8601 |0091: const-string v2, "methodQ => " // string@0186 5240003eda: 6e20 b000 2100 |0093: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5241003ee0: 6201 1300 |0096: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5242003ee4: 6e10 c000 0000 |0098: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5243003eea: 0c02 |009b: move-result-object v2 5244003eec: 6e20 af00 2100 |009c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 5245003ef2: 6201 1300 |009f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5246003ef6: 1a02 0200 |00a1: const-string v2, " => " // string@0002 5247003efa: 6e20 b000 2100 |00a3: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5248003f00: 6201 1300 |00a6: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5249003f04: 6e10 b600 0000 |00a8: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 5250003f0a: 0c02 |00ab: move-result-object v2 5251003f0c: 6e10 c000 0200 |00ac: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5252003f12: 0c02 |00af: move-result-object v2 5253003f14: 6e20 b200 2100 |00b0: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 5254003f1a: fc00 2d00 0000 |00b3: invoke-custom {}, call_site@002d 5255003f20: 7100 8e00 0000 |00b6: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e 5256003f26: 2826 |00b9: goto 00df // +0026 5257003f28: 0d00 |00ba: move-exception v0 5258003f2a: 6201 1300 |00bb: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5259003f2e: 1a02 8801 |00bd: const-string v2, "methodR => " // string@0188 5260003f32: 6e20 b000 2100 |00bf: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5261003f38: 6201 1300 |00c2: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5262003f3c: 6e10 c000 0000 |00c4: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5263003f42: 0c02 |00c7: move-result-object v2 5264003f44: 6e20 af00 2100 |00c8: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af 5265003f4a: 6201 1300 |00cb: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5266003f4e: 1a02 0200 |00cd: const-string v2, " => " // string@0002 5267003f52: 6e20 b000 2100 |00cf: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0 5268003f58: 6201 1300 |00d2: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013 5269003f5c: 6e10 b600 0000 |00d4: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6 5270003f62: 0c02 |00d7: move-result-object v2 5271003f64: 6e10 c000 0200 |00d8: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0 5272003f6a: 0c02 |00db: move-result-object v2 5273003f6c: 6e20 b200 2100 |00dc: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2 5274003f72: 0e00 |00df: return-void 5275 catches : 4 5276 0x002f - 0x0035 5277 Ljava/lang/BootstrapMethodError; -> 0x0036 5278 0x005b - 0x0061 5279 Ljava/lang/BootstrapMethodError; -> 0x0062 5280 0x0087 - 0x008d 5281 Ljava/lang/BootstrapMethodError; -> 0x008e 5282 0x00b3 - 0x00b9 5283 Ljava/lang/BootstrapMethodError; -> 0x00ba 5284 positions : 5285 0x0000 line=506 5286 0x0005 line=507 5287 0x0008 line=508 5288 0x000b line=509 5289 0x000e line=506 5290 0x0011 line=511 5291 0x0014 line=512 5292 0x0017 line=513 5293 0x001a line=514 5294 0x001d line=511 5295 0x0020 line=516 5296 0x0023 line=517 5297 0x0026 line=518 5298 0x0029 line=519 5299 0x002c line=520 5300 0x002f line=527 5301 0x0032 line=528 5302 0x0035 line=534 5303 0x0036 line=529 5304 0x0037 line=530 5305 0x003e line=531 5306 0x0047 line=532 5307 0x004e line=533 5308 0x005b line=538 5309 0x005e line=539 5310 0x0061 line=545 5311 0x0062 line=540 5312 0x0063 line=541 5313 0x006a line=542 5314 0x0073 line=543 5315 0x007a line=544 5316 0x0087 line=549 5317 0x008a line=550 5318 0x008d line=556 5319 0x008e line=551 5320 0x008f line=552 5321 0x0096 line=553 5322 0x009f line=554 5323 0x00a6 line=555 5324 0x00b3 line=560 5325 0x00b6 line=561 5326 0x00b9 line=567 5327 0x00ba line=562 5328 0x00bb line=563 5329 0x00c2 line=564 5330 0x00cb line=565 5331 0x00d2 line=566 5332 0x00df line=568 5333 locals : 5334 0x0002 - 0x0011 reg=1 i I 5335 0x0012 - 0x0020 reg=0 i I 5336 0x0037 - 0x005b reg=0 expected Ljava/lang/BootstrapMethodError; 5337 0x0063 - 0x0087 reg=0 expected Ljava/lang/BootstrapMethodError; 5338 0x008f - 0x00b3 reg=0 expected Ljava/lang/BootstrapMethodError; 5339 0x00bb - 0x00df reg=0 expected Ljava/lang/BootstrapMethodError; 5340 5341 Virtual methods - 5342 source_file_idx : 156 (TestVariableArityLinkerMethod.java) 5343 5344Method handle #0: 5345 type : invoke-static 5346 target : LTestBadBootstrapArguments; bsm 5347 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ID)Ljava/lang/invoke/CallSite; 5348Method handle #1: 5349 type : invoke-static 5350 target : LTestBadBootstrapArguments; bsm 5351 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite; 5352Method handle #2: 5353 type : invoke-static 5354 target : LTestBadBootstrapArguments; bsmDJ 5355 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite; 5356Method handle #3: 5357 type : invoke-static 5358 target : LTestBadBootstrapArguments; bsmDoubleLong 5359 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite; 5360Method handle #4: 5361 type : invoke-static 5362 target : LTestBadBootstrapArguments; bsmReturningInteger 5363 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer; 5364Method handle #5: 5365 type : invoke-static 5366 target : LTestBadBootstrapArguments; bsmReturningObject 5367 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object; 5368Method handle #6: 5369 type : invoke-static 5370 target : LTestBadBootstrapArguments; bsmReturningTestersConstantCallsite 5371 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite; 5372Method handle #7: 5373 type : invoke-static 5374 target : LTestBadBootstrapArguments; bsmReturningVoid 5375 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V 5376Method handle #8: 5377 type : invoke-static 5378 target : LTestBadBootstrapArguments; bsmZBCS 5379 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite; 5380Method handle #9: 5381 type : invoke-static 5382 target : LTestDynamicBootstrapArguments; bsm 5383 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite; 5384Method handle #10: 5385 type : invoke-static 5386 target : LTestInvocationKinds; lookupConstructor 5387 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5388Method handle #11: 5389 type : invoke-static 5390 target : LTestInvocationKinds; lookupInstanceFieldGetter 5391 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5392Method handle #12: 5393 type : invoke-static 5394 target : LTestInvocationKinds; lookupInstanceFieldSetter 5395 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5396Method handle #13: 5397 type : invoke-static 5398 target : LTestInvocationKinds; lookupStaticFieldGetter 5399 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5400Method handle #14: 5401 type : invoke-static 5402 target : LTestInvocationKinds; lookupStaticFieldSetter 5403 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5404Method handle #15: 5405 type : invoke-static 5406 target : LTestInvocationKinds; lookupVirtual 5407 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5408Method handle #16: 5409 type : invoke-static 5410 target : LTestInvokeCustomWithConcurrentThreads; linkerMethod 5411 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5412Method handle #17: 5413 type : invoke-static 5414 target : LTestLinkerMethodMinimalArguments; linkerMethod 5415 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; 5416Method handle #18: 5417 type : invoke-static 5418 target : LTestLinkerMethodMultipleArgumentTypes; linkerMethod 5419 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite; 5420Method handle #19: 5421 type : invoke-static 5422 target : LTestVariableArityLinkerMethod; bsmWithBoxedArray 5423 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite; 5424Method handle #20: 5425 type : invoke-static 5426 target : LTestVariableArityLinkerMethod; bsmWithClassAndFloatArray 5427 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite; 5428Method handle #21: 5429 type : invoke-static 5430 target : LTestVariableArityLinkerMethod; bsmWithClassArray 5431 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite; 5432Method handle #22: 5433 type : invoke-static 5434 target : LTestVariableArityLinkerMethod; bsmWithDoubleArray 5435 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite; 5436Method handle #23: 5437 type : invoke-static 5438 target : LTestVariableArityLinkerMethod; bsmWithFloatAndLongArray 5439 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite; 5440Method handle #24: 5441 type : invoke-static 5442 target : LTestVariableArityLinkerMethod; bsmWithIntAndStringArray 5443 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite; 5444Method handle #25: 5445 type : invoke-static 5446 target : LTestVariableArityLinkerMethod; bsmWithLongAndIntArray 5447 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite; 5448Method handle #26: 5449 type : invoke-static 5450 target : LTestVariableArityLinkerMethod; bsmWithStringArray 5451 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite; 5452Method handle #27: 5453 type : invoke-static 5454 target : LTestVariableArityLinkerMethod; bsmWithWiderArray 5455 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite; 5456Method handle #28: 5457 type : invoke-static 5458 target : LUnrelatedBSM; bsm 5459 target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite; 5460Call site #0: // offset 29649 5461 link_argument[0] : 1 (MethodHandle) 5462 link_argument[1] : happy (String) 5463 link_argument[2] : ()V (MethodType) 5464 link_argument[3] : -1 (int) 5465 link_argument[4] : very (String) 5466Call site #1: // offset 29662 5467 link_argument[0] : 0 (MethodHandle) 5468 link_argument[1] : wrongParameterTypes (String) 5469 link_argument[2] : ()V (MethodType) 5470 link_argument[3] : -1 (int) 5471 link_argument[4] : very (String) 5472Call site #2: // offset 29675 5473 link_argument[0] : 0 (MethodHandle) 5474 link_argument[1] : missingParameterTypes (String) 5475 link_argument[2] : ()V (MethodType) 5476Call site #3: // offset 29683 5477 link_argument[0] : 1 (MethodHandle) 5478 link_argument[1] : extraArguments (String) 5479 link_argument[2] : ()V (MethodType) 5480 link_argument[3] : 1 (int) 5481 link_argument[4] : 2 (String) 5482 link_argument[5] : 3 (int) 5483Call site #4: // offset 29697 5484 link_argument[0] : 1 (MethodHandle) 5485 link_argument[1] : wrongArguments (String) 5486 link_argument[2] : ()V (MethodType) 5487 link_argument[3] : 1 (String) 5488 link_argument[4] : 3.14159 (double) 5489Call site #5: // offset 29697 5490 link_argument[0] : 1 (MethodHandle) 5491 link_argument[1] : wrongArguments (String) 5492 link_argument[2] : ()V (MethodType) 5493 link_argument[3] : 1 (String) 5494 link_argument[4] : 3.14159 (double) 5495Call site #6: // offset 29716 5496 link_argument[0] : 1 (MethodHandle) 5497 link_argument[1] : wrongArgumentsAgain (String) 5498 link_argument[2] : ()V (MethodType) 5499 link_argument[3] : 3.14159 (double) 5500 link_argument[4] : pie (String) 5501Call site #7: // offset 29736 5502 link_argument[0] : 8 (MethodHandle) 5503 link_argument[1] : narrowArguments (String) 5504 link_argument[2] : ()V (MethodType) 5505 link_argument[3] : 1 (int) 5506 link_argument[4] : 127 (int) 5507 link_argument[5] : 65 (int) 5508 link_argument[6] : -32768 (int) 5509Call site #8: // offset 29753 5510 link_argument[0] : 2 (MethodHandle) 5511 link_argument[1] : wideningArguments (String) 5512 link_argument[2] : ()V (MethodType) 5513 link_argument[3] : 1.79769e+308 (double) 5514 link_argument[4] : 2147483647 (int) 5515Call site #9: // offset 29775 5516 link_argument[0] : 3 (MethodHandle) 5517 link_argument[1] : boxingArguments (String) 5518 link_argument[2] : ()V (MethodType) 5519 link_argument[3] : 1.79769e+308 (double) 5520 link_argument[4] : 9223372036854775807 (long) 5521Call site #10: // offset 29800 5522 link_argument[0] : 3 (MethodHandle) 5523 link_argument[1] : wideningBoxingArguments (String) 5524 link_argument[2] : ()V (MethodType) 5525 link_argument[3] : 3.40282e+38 (float) 5526 link_argument[4] : 2147483647 (long) 5527Call site #11: // offset 29818 5528 link_argument[0] : 7 (MethodHandle) 5529 link_argument[1] : voidReturnType (String) 5530 link_argument[2] : ()V (MethodType) 5531Call site #12: // offset 29826 5532 link_argument[0] : 5 (MethodHandle) 5533 link_argument[1] : ObjectReturnType (String) 5534 link_argument[2] : ()V (MethodType) 5535Call site #13: // offset 29833 5536 link_argument[0] : 4 (MethodHandle) 5537 link_argument[1] : integerReturnType (String) 5538 link_argument[2] : ()V (MethodType) 5539Call site #14: // offset 29841 5540 link_argument[0] : 6 (MethodHandle) 5541 link_argument[1] : sayHello (String) 5542 link_argument[2] : ()V (MethodType) 5543Call site #15: // offset 29849 5544 link_argument[0] : 9 (MethodHandle) 5545 link_argument[1] : target (String) 5546 link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType) 5547 link_argument[3] : A (String) 5548 link_argument[4] : 100000000 (long) 5549Call site #16: // offset 29849 5550 link_argument[0] : 9 (MethodHandle) 5551 link_argument[1] : target (String) 5552 link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType) 5553 link_argument[3] : A (String) 5554 link_argument[4] : 100000000 (long) 5555Call site #17: // offset 29849 5556 link_argument[0] : 9 (MethodHandle) 5557 link_argument[1] : target (String) 5558 link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType) 5559 link_argument[3] : A (String) 5560 link_argument[4] : 100000000 (long) 5561Call site #18: // offset 29864 5562 link_argument[0] : 10 (MethodHandle) 5563 link_argument[1] : unused (String) 5564 link_argument[2] : (I)LTestInvocationKinds$Widget; (MethodType) 5565Call site #19: // offset 29872 5566 link_argument[0] : 12 (MethodHandle) 5567 link_argument[1] : instance_field (String) 5568 link_argument[2] : (LTestInvocationKinds;D)V (MethodType) 5569Call site #20: // offset 29880 5570 link_argument[0] : 11 (MethodHandle) 5571 link_argument[1] : instance_field (String) 5572 link_argument[2] : (LTestInvocationKinds;)D (MethodType) 5573Call site #21: // offset 29888 5574 link_argument[0] : 15 (MethodHandle) 5575 link_argument[1] : getMaxIntegerValue (String) 5576 link_argument[2] : (LTestInvocationKinds;II)I (MethodType) 5577Call site #22: // offset 29896 5578 link_argument[0] : 14 (MethodHandle) 5579 link_argument[1] : static_field (String) 5580 link_argument[2] : (I)V (MethodType) 5581Call site #23: // offset 29896 5582 link_argument[0] : 14 (MethodHandle) 5583 link_argument[1] : static_field (String) 5584 link_argument[2] : (I)V (MethodType) 5585Call site #24: // offset 29904 5586 link_argument[0] : 13 (MethodHandle) 5587 link_argument[1] : static_field (String) 5588 link_argument[2] : ()I (MethodType) 5589Call site #25: // offset 29904 5590 link_argument[0] : 13 (MethodHandle) 5591 link_argument[1] : static_field (String) 5592 link_argument[2] : ()I (MethodType) 5593Call site #26: // offset 29912 5594 link_argument[0] : 16 (MethodHandle) 5595 link_argument[1] : setCalled (String) 5596 link_argument[2] : (I)I (MethodType) 5597Call site #27: // offset 29920 5598 link_argument[0] : 17 (MethodHandle) 5599 link_argument[1] : _add (String) 5600 link_argument[2] : (II)I (MethodType) 5601Call site #28: // offset 29927 5602 link_argument[0] : 18 (MethodHandle) 5603 link_argument[1] : _add (String) 5604 link_argument[2] : (II)I (MethodType) 5605 link_argument[3] : -1 (int) 5606 link_argument[4] : 1 (int) 5607 link_argument[5] : 97 (int) 5608 link_argument[6] : 1024 (int) 5609 link_argument[7] : 1 (int) 5610 link_argument[8] : 11.1 (float) 5611 link_argument[9] : 2.2 (double) 5612 link_argument[10] : Hello (String) 5613 link_argument[11] : LTestLinkerMethodMultipleArgumentTypes; (Class) 5614 link_argument[12] : 123456789 (long) 5615Call site #29: // offset 29968 5616 link_argument[0] : 28 (MethodHandle) 5617 link_argument[1] : _addf (String) 5618 link_argument[2] : (FF)F (MethodType) 5619 link_argument[3] : LTestLinkerUnrelatedBSM; (Class) 5620Call site #30: // offset 29977 5621 link_argument[0] : 28 (MethodHandle) 5622 link_argument[1] : _subf (String) 5623 link_argument[2] : (FF)F (MethodType) 5624 link_argument[3] : LTestLinkerUnrelatedBSM; (Class) 5625Call site #31: // offset 29986 5626 link_argument[0] : 26 (MethodHandle) 5627 link_argument[1] : methodA (String) 5628 link_argument[2] : ()V (MethodType) 5629 link_argument[3] : Aachen (String) 5630 link_argument[4] : Aalborg (String) 5631 link_argument[5] : Aalto (String) 5632Call site #32: // offset 30000 5633 link_argument[0] : 26 (MethodHandle) 5634 link_argument[1] : methodB (String) 5635 link_argument[2] : ()V (MethodType) 5636 link_argument[3] : barium (String) 5637Call site #33: // offset 30010 5638 link_argument[0] : 26 (MethodHandle) 5639 link_argument[1] : methodC (String) 5640 link_argument[2] : ()V (MethodType) 5641Call site #34: // offset 30018 5642 link_argument[0] : 24 (MethodHandle) 5643 link_argument[1] : methodD (String) 5644 link_argument[2] : ()V (MethodType) 5645 link_argument[3] : 101 (int) 5646 link_argument[4] : zoo (String) 5647 link_argument[5] : zoogene (String) 5648 link_argument[6] : zoogenic (String) 5649Call site #35: // offset 30037 5650 link_argument[0] : 24 (MethodHandle) 5651 link_argument[1] : methodE (String) 5652 link_argument[2] : ()V (MethodType) 5653 link_argument[3] : 102 (int) 5654 link_argument[4] : zonic (String) 5655Call site #36: // offset 30050 5656 link_argument[0] : 24 (MethodHandle) 5657 link_argument[1] : methodF (String) 5658 link_argument[2] : ()V (MethodType) 5659 link_argument[3] : 103 (int) 5660Call site #37: // offset 30060 5661 link_argument[0] : 25 (MethodHandle) 5662 link_argument[1] : methodG (String) 5663 link_argument[2] : ()V (MethodType) 5664 link_argument[3] : 81985529216486895 (long) 5665 link_argument[4] : 1 (int) 5666 link_argument[5] : -1 (int) 5667 link_argument[6] : 2 (int) 5668 link_argument[7] : -2 (int) 5669Call site #38: // offset 30085 5670 link_argument[0] : 23 (MethodHandle) 5671 link_argument[1] : methodH (String) 5672 link_argument[2] : ()V (MethodType) 5673 link_argument[3] : -2.71828 (float) 5674 link_argument[4] : 999999999999 (long) 5675 link_argument[5] : -8888888888888 (long) 5676Call site #39: // offset 30112 5677 link_argument[0] : 20 (MethodHandle) 5678 link_argument[1] : methodI (String) 5679 link_argument[2] : ()V (MethodType) 5680 link_argument[3] : Ljava/lang/Throwable; (Class) 5681 link_argument[4] : 3.40282e+38 (float) 5682 link_argument[5] : 1.4013e-45 (float) 5683 link_argument[6] : 3.14159 (float) 5684 link_argument[7] : -3.14159 (float) 5685Call site #40: // offset 30142 5686 link_argument[0] : 22 (MethodHandle) 5687 link_argument[1] : methodJ (String) 5688 link_argument[2] : ()V (MethodType) 5689 link_argument[3] : 1.79769e+308 (double) 5690 link_argument[4] : 4.94066e-324 (double) 5691 link_argument[5] : 2.71828 (double) 5692 link_argument[6] : -3.14159 (double) 5693Call site #41: // offset 30186 5694 link_argument[0] : 21 (MethodHandle) 5695 link_argument[1] : methodK (String) 5696 link_argument[2] : ()V (MethodType) 5697 link_argument[3] : Ljava/lang/Integer; (Class) 5698 link_argument[4] : Ljava/lang/invoke/MethodHandles; (Class) 5699 link_argument[5] : Ljava/util/Arrays; (Class) 5700Call site #42: // offset 30200 5701 link_argument[0] : 24 (MethodHandle) 5702 link_argument[1] : methodO (String) 5703 link_argument[2] : ()V (MethodType) 5704 link_argument[3] : 103 (int) 5705 link_argument[4] : 104 (int) 5706Call site #43: // offset 30212 5707 link_argument[0] : 24 (MethodHandle) 5708 link_argument[1] : methodP (String) 5709 link_argument[2] : ()V (MethodType) 5710 link_argument[3] : 103 (int) 5711 link_argument[4] : A (String) 5712 link_argument[5] : B (String) 5713 link_argument[6] : 42 (int) 5714Call site #44: // offset 30228 5715 link_argument[0] : 27 (MethodHandle) 5716 link_argument[1] : methodQ (String) 5717 link_argument[2] : ()V (MethodType) 5718 link_argument[3] : 103 (int) 5719 link_argument[4] : 42 (int) 5720Call site #45: // offset 30240 5721 link_argument[0] : 19 (MethodHandle) 5722 link_argument[1] : methodR (String) 5723 link_argument[2] : ()V (MethodType) 5724 link_argument[3] : 1030 (int) 5725 link_argument[4] : 420 (int) 5726