Home | History | Annotate | Download | only in dexdump
      1 Processing 'invoke-custom.dex'...
      2 Opened 'invoke-custom.dex', DEX version '038'
      3 DEX file header:
      4 magic               : 'dex\n038\0'
      5 checksum            : d11a9e29
      6 signature           : 5b54...15c3
      7 file_size           : 8984
      8 header_size         : 112
      9 link_size           : 0
     10 link_off            : 0 (0x000000)
     11 string_ids_size     : 165
     12 string_ids_off      : 112 (0x000070)
     13 type_ids_size       : 38
     14 type_ids_off        : 772 (0x000304)
     15 proto_ids_size      : 51
     16 proto_ids_off       : 924 (0x00039c)
     17 field_ids_size      : 3
     18 field_ids_off       : 1536 (0x000600)
     19 method_ids_size     : 78
     20 method_ids_off      : 1560 (0x000618)
     21 class_defs_size     : 2
     22 class_defs_off      : 2184 (0x000888)
     23 data_size           : 6552
     24 data_off            : 2432 (0x000980)
     25 
     26 Class #0 header:
     27 class_idx           : 8
     28 access_flags        : 1024 (0x0400)
     29 superclass_idx      : 13
     30 interfaces_off      : 0 (0x000000)
     31 source_file_idx     : 27
     32 annotations_off     : 0 (0x000000)
     33 class_data_off      : 8589 (0x00218d)
     34 static_fields_size  : 0
     35 instance_fields_size: 0
     36 direct_methods_size : 1
     37 virtual_methods_size: 2
     38 
     39 Class #0            -
     40   Class descriptor  : 'Linvokecustom/Super;'
     41   Access flags      : 0x0400 (ABSTRACT)
     42   Superclass        : 'Ljava/lang/Object;'
     43   Interfaces        -
     44   Static fields     -
     45   Instance fields   -
     46   Direct methods    -
     47     #0              : (in Linvokecustom/Super;)
     48       name          : '<init>'
     49       type          : '()V'
     50       access        : 0x10000 (CONSTRUCTOR)
     51       code          -
     52       registers     : 1
     53       ins           : 1
     54       outs          : 1
     55       insns size    : 4 16-bit code units
     56 000990:                                        |[000990] invokecustom.Super.<init>:()V
     57 0009a0: 7010 2b00 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@002b
     58 0009a6: 0e00                                   |0003: return-void
     59       catches       : (none)
     60       positions     : 
     61         0x0000 line=29
     62       locals        : 
     63         0x0000 - 0x0004 reg=0 this Linvokecustom/Super; 
     64 
     65   Virtual methods   -
     66     #0              : (in Linvokecustom/Super;)
     67       name          : 'helperMethodTest9'
     68       type          : '()V'
     69       access        : 0x0401 (PUBLIC ABSTRACT)
     70       code          : (none)
     71 
     72     #1              : (in Linvokecustom/Super;)
     73       name          : 'targetMethodTest4'
     74       type          : '()V'
     75       access        : 0x0001 (PUBLIC)
     76       code          -
     77       registers     : 3
     78       ins           : 1
     79       outs          : 2
     80       insns size    : 8 16-bit code units
     81 0009a8:                                        |[0009a8] invokecustom.Super.targetMethodTest4:()V
     82 0009b8: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
     83 0009bc: 1a01 8b00                              |0002: const-string v1, "targetMethodTest4 from Super" // string@008b
     84 0009c0: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
     85 0009c6: 0e00                                   |0007: return-void
     86       catches       : (none)
     87       positions     : 
     88         0x0000 line=31
     89         0x0007 line=32
     90       locals        : 
     91         0x0000 - 0x0008 reg=2 this Linvokecustom/Super; 
     92 
     93   source_file_idx   : 27 (InvokeCustom.java)
     94 
     95 Class #1 header:
     96 class_idx           : 7
     97 access_flags        : 1 (0x0001)
     98 superclass_idx      : 8
     99 interfaces_off      : 5460 (0x001554)
    100 source_file_idx     : 27
    101 annotations_off     : 5396 (0x001514)
    102 class_data_off      : 8607 (0x00219f)
    103 static_fields_size  : 1
    104 instance_fields_size: 1
    105 direct_methods_size : 29
    106 virtual_methods_size: 3
    107 
    108 Class #1 annotations:
    109 Annotations on method #3 'bsmCreateCallSite'
    110   VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
    111 Annotations on method #4 'bsmLookupStatic'
    112   VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodException; Ljava/lang/IllegalAccessException; }
    113 Annotations on method #5 'bsmLookupStaticWithExtraArgs'
    114   VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodException; Ljava/lang/IllegalAccessException; }
    115 Annotations on method #6 'bsmLookupTest9'
    116   VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
    117 Annotations on method #7 'checkFieldTest9'
    118   VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
    119 Annotations on method #8 'checkStaticFieldTest9'
    120   VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
    121 
    122 Class #1            -
    123   Class descriptor  : 'Linvokecustom/InvokeCustom;'
    124   Access flags      : 0x0001 (PUBLIC)
    125   Superclass        : 'Linvokecustom/Super;'
    126   Interfaces        -
    127     #0              : 'Ljava/lang/Runnable;'
    128   Static fields     -
    129     #0              : (in Linvokecustom/InvokeCustom;)
    130       name          : 'staticFieldTest9'
    131       type          : 'I'
    132       access        : 0x000a (PRIVATE STATIC)
    133   Instance fields   -
    134     #0              : (in Linvokecustom/InvokeCustom;)
    135       name          : 'fieldTest9'
    136       type          : 'F'
    137       access        : 0x0002 (PRIVATE)
    138   Direct methods    -
    139     #0              : (in Linvokecustom/InvokeCustom;)
    140       name          : '<clinit>'
    141       type          : '()V'
    142       access        : 0x10008 (STATIC CONSTRUCTOR)
    143       code          -
    144       registers     : 1
    145       ins           : 0
    146       outs          : 0
    147       insns size    : 4 16-bit code units
    148 0009c8:                                        |[0009c8] invokecustom.InvokeCustom.<clinit>:()V
    149 0009d8: 1200                                   |0000: const/4 v0, #int 0 // #0
    150 0009da: 6700 0100                              |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@0001
    151 0009de: 0e00                                   |0003: return-void
    152       catches       : (none)
    153       positions     : 
    154         0x0000 line=102
    155       locals        : 
    156 
    157     #1              : (in Linvokecustom/InvokeCustom;)
    158       name          : '<init>'
    159       type          : '()V'
    160       access        : 0x10001 (PUBLIC CONSTRUCTOR)
    161       code          -
    162       registers     : 2
    163       ins           : 1
    164       outs          : 1
    165       insns size    : 7 16-bit code units
    166 0009e0:                                        |[0009e0] invokecustom.InvokeCustom.<init>:()V
    167 0009f0: 7010 2000 0100                         |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@0020
    168 0009f6: 1200                                   |0003: const/4 v0, #int 0 // #0
    169 0009f8: 5910 0000                              |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@0000
    170 0009fc: 0e00                                   |0006: return-void
    171       catches       : (none)
    172       positions     : 
    173         0x0000 line=39
    174         0x0003 line=115
    175         0x0006 line=39
    176       locals        : 
    177         0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom; 
    178 
    179     #2              : (in Linvokecustom/InvokeCustom;)
    180       name          : '<init>'
    181       type          : '(I)V'
    182       access        : 0x10001 (PUBLIC CONSTRUCTOR)
    183       code          -
    184       registers     : 5
    185       ins           : 2
    186       outs          : 2
    187       insns size    : 37 16-bit code units
    188 000a00:                                        |[000a00] invokecustom.InvokeCustom.<init>:(I)V
    189 000a10: 7010 2000 0300                         |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@0020
    190 000a16: 1200                                   |0003: const/4 v0, #int 0 // #0
    191 000a18: 5930 0000                              |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@0000
    192 000a1c: 6200 0200                              |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    193 000a20: 2201 1000                              |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0010
    194 000a24: 7010 3000 0100                         |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    195 000a2a: 1a02 1a00                              |000d: const-string v2, "InvokeCustom.<init>(" // string@001a
    196 000a2e: 6e20 3600 2100                         |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    197 000a34: 0c01                                   |0012: move-result-object v1
    198 000a36: 6e20 3300 4100                         |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    199 000a3c: 0c01                                   |0016: move-result-object v1
    200 000a3e: 1a02 0800                              |0017: const-string v2, ")" // string@0008
    201 000a42: 6e20 3600 2100                         |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    202 000a48: 0c01                                   |001c: move-result-object v1
    203 000a4a: 6e10 3700 0100                         |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    204 000a50: 0c01                                   |0020: move-result-object v1
    205 000a52: 6e20 2900 1000                         |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    206 000a58: 0e00                                   |0024: return-void
    207       catches       : (none)
    208       positions     : 
    209         0x0000 line=40
    210         0x0003 line=115
    211         0x0006 line=41
    212         0x0024 line=42
    213       locals        : 
    214         0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom; 
    215         0x0000 - 0x0025 reg=4 (null) I 
    216 
    217     #3              : (in Linvokecustom/InvokeCustom;)
    218       name          : 'bsmCreateCallSite'
    219       type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
    220       access        : 0x0009 (PUBLIC STATIC)
    221       code          -
    222       registers     : 7
    223       ins           : 4
    224       outs          : 2
    225       insns size    : 36 16-bit code units
    226 000a5c:                                        |[000a5c] invokecustom.InvokeCustom.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
    227 000a6c: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    228 000a70: 2201 1000                              |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010
    229 000a74: 7010 3000 0100                         |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    230 000a7a: 1a02 6000                              |0007: const-string v2, "bsmCreateCallSite [" // string@0060
    231 000a7e: 6e20 3600 2100                         |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    232 000a84: 0c01                                   |000c: move-result-object v1
    233 000a86: 6e20 3500 6100                         |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
    234 000a8c: 0c01                                   |0010: move-result-object v1
    235 000a8e: 1a02 5900                              |0011: const-string v2, "]" // string@0059
    236 000a92: 6e20 3600 2100                         |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    237 000a98: 0c01                                   |0016: move-result-object v1
    238 000a9a: 6e10 3700 0100                         |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    239 000aa0: 0c01                                   |001a: move-result-object v1
    240 000aa2: 6e20 2900 1000                         |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    241 000aa8: 2200 1400                              |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@0014
    242 000aac: 7020 3800 6000                         |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038
    243 000ab2: 1100                                   |0023: return-object v0
    244       catches       : (none)
    245       positions     : 
    246         0x0000 line=160
    247         0x001e line=161
    248       locals        : 
    249         0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 
    250         0x0000 - 0x0024 reg=4 (null) Ljava/lang/String; 
    251         0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType; 
    252         0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle; 
    253 
    254     #4              : (in Linvokecustom/InvokeCustom;)
    255       name          : 'bsmLookupStatic'
    256       type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
    257       access        : 0x0009 (PUBLIC STATIC)
    258       code          -
    259       registers     : 5
    260       ins           : 3
    261       outs          : 4
    262       insns size    : 29 16-bit code units
    263 000ab4:                                        |[000ab4] invokecustom.InvokeCustom.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
    264 000ac4: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    265 000ac8: 1a01 6200                              |0002: const-string v1, "bsmLookupStatic []" // string@0062
    266 000acc: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    267 000ad2: 7100 4600 0000                         |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0046
    268 000ad8: 0c00                                   |000a: move-result-object v0
    269 000ada: 6e10 4500 0000                         |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@0045
    270 000ae0: 0c01                                   |000e: move-result-object v1
    271 000ae2: 6e40 4400 1043                         |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0044
    272 000ae8: 0c00                                   |0012: move-result-object v0
    273 000aea: 2201 1400                              |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0014
    274 000aee: 6e20 3a00 4000                         |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@003a
    275 000af4: 0c00                                   |0018: move-result-object v0
    276 000af6: 7020 3800 0100                         |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038
    277 000afc: 1101                                   |001c: return-object v1
    278       catches       : (none)
    279       positions     : 
    280         0x0000 line=142
    281         0x0007 line=143
    282         0x000b line=144
    283         0x0013 line=145
    284       locals        : 
    285         0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup; 
    286         0x0000 - 0x001d reg=3 (null) Ljava/lang/String; 
    287         0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType; 
    288 
    289     #5              : (in Linvokecustom/InvokeCustom;)
    290       name          : 'bsmLookupStaticWithExtraArgs'
    291       type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
    292       access        : 0x0009 (PUBLIC STATIC)
    293       code          -
    294       registers     : 12
    295       ins           : 9
    296       outs          : 4
    297       insns size    : 82 16-bit code units
    298 000b00:                                        |[000b00] invokecustom.InvokeCustom.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
    299 000b10: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    300 000b14: 2201 1000                              |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010
    301 000b18: 7010 3000 0100                         |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    302 000b1e: 1a02 6400                              |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@0064
    303 000b22: 6e20 3600 2100                         |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    304 000b28: 0c01                                   |000c: move-result-object v1
    305 000b2a: 6e20 3300 6100                         |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    306 000b30: 0c01                                   |0010: move-result-object v1
    307 000b32: 1a02 0900                              |0011: const-string v2, ", " // string@0009
    308 000b36: 6e20 3600 2100                         |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    309 000b3c: 0c01                                   |0016: move-result-object v1
    310 000b3e: 6e30 3400 7108                         |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
    311 000b44: 0c01                                   |001a: move-result-object v1
    312 000b46: 1a02 0900                              |001b: const-string v2, ", " // string@0009
    313 000b4a: 6e20 3600 2100                         |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    314 000b50: 0c01                                   |0020: move-result-object v1
    315 000b52: 6e20 3200 9100                         |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032
    316 000b58: 0c01                                   |0024: move-result-object v1
    317 000b5a: 1a02 0900                              |0025: const-string v2, ", " // string@0009
    318 000b5e: 6e20 3600 2100                         |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    319 000b64: 0c01                                   |002a: move-result-object v1
    320 000b66: 6e30 3100 a10b                         |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031
    321 000b6c: 0c01                                   |002e: move-result-object v1
    322 000b6e: 1a02 5900                              |002f: const-string v2, "]" // string@0059
    323 000b72: 6e20 3600 2100                         |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    324 000b78: 0c01                                   |0034: move-result-object v1
    325 000b7a: 6e10 3700 0100                         |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    326 000b80: 0c01                                   |0038: move-result-object v1
    327 000b82: 6e20 2900 1000                         |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    328 000b88: 7100 4600 0000                         |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0046
    329 000b8e: 0c00                                   |003f: move-result-object v0
    330 000b90: 6e10 4500 0000                         |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@0045
    331 000b96: 0c01                                   |0043: move-result-object v1
    332 000b98: 6e40 4400 1054                         |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0044
    333 000b9e: 0c00                                   |0047: move-result-object v0
    334 000ba0: 2201 1400                              |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0014
    335 000ba4: 6e20 3a00 5000                         |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@003a
    336 000baa: 0c00                                   |004d: move-result-object v0
    337 000bac: 7020 3800 0100                         |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038
    338 000bb2: 1101                                   |0051: return-object v1
    339       catches       : (none)
    340       positions     : 
    341         0x0000 line=151
    342         0x003c line=152
    343         0x0040 line=153
    344         0x0048 line=154
    345       locals        : 
    346         0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 
    347         0x0000 - 0x0052 reg=4 (null) Ljava/lang/String; 
    348         0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType; 
    349         0x0000 - 0x0052 reg=6 (null) I 
    350         0x0000 - 0x0052 reg=7 (null) J 
    351         0x0000 - 0x0052 reg=9 (null) F 
    352         0x0000 - 0x0052 reg=10 (null) D 
    353 
    354     #6              : (in Linvokecustom/InvokeCustom;)
    355       name          : 'bsmLookupTest9'
    356       type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
    357       access        : 0x0009 (PUBLIC STATIC)
    358       code          -
    359       registers     : 13
    360       ins           : 10
    361       outs          : 4
    362       insns size    : 135 16-bit code units
    363 000bb4:                                        |[000bb4] invokecustom.InvokeCustom.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
    364 000bc4: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    365 000bc8: 2201 1000                              |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010
    366 000bcc: 7010 3000 0100                         |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    367 000bd2: 1a02 6600                              |0007: const-string v2, "bsmLookupTest9 [" // string@0066
    368 000bd6: 6e20 3600 2100                         |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    369 000bdc: 0c01                                   |000c: move-result-object v1
    370 000bde: 6e20 3500 6100                         |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
    371 000be4: 0c01                                   |0010: move-result-object v1
    372 000be6: 1a02 0900                              |0011: const-string v2, ", " // string@0009
    373 000bea: 6e20 3600 2100                         |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    374 000bf0: 0c01                                   |0016: move-result-object v1
    375 000bf2: 6e20 3500 7100                         |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
    376 000bf8: 0c01                                   |001a: move-result-object v1
    377 000bfa: 1a02 0900                              |001b: const-string v2, ", " // string@0009
    378 000bfe: 6e20 3600 2100                         |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    379 000c04: 0c01                                   |0020: move-result-object v1
    380 000c06: 6e20 3500 8100                         |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
    381 000c0c: 0c01                                   |0024: move-result-object v1
    382 000c0e: 1a02 0900                              |0025: const-string v2, ", " // string@0009
    383 000c12: 6e20 3600 2100                         |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    384 000c18: 0c01                                   |002a: move-result-object v1
    385 000c1a: 6e20 3500 9100                         |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
    386 000c20: 0c01                                   |002e: move-result-object v1
    387 000c22: 1a02 5900                              |002f: const-string v2, "]" // string@0059
    388 000c26: 6e20 3600 2100                         |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    389 000c2c: 0c01                                   |0034: move-result-object v1
    390 000c2e: 6e10 3700 0100                         |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    391 000c34: 0c01                                   |0038: move-result-object v1
    392 000c36: 6e20 2900 1000                         |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    393 000c3c: 6200 0200                              |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    394 000c40: 2201 1000                              |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0010
    395 000c44: 7010 3000 0100                         |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    396 000c4a: 6e20 3600 4100                         |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    397 000c50: 0c01                                   |0046: move-result-object v1
    398 000c52: 1a02 0100                              |0047: const-string v2, " " // string@0001
    399 000c56: 6e20 3600 2100                         |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    400 000c5c: 0c01                                   |004c: move-result-object v1
    401 000c5e: 6e20 3500 5100                         |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
    402 000c64: 0c01                                   |0050: move-result-object v1
    403 000c66: 6e10 3700 0100                         |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    404 000c6c: 0c01                                   |0054: move-result-object v1
    405 000c6e: 6e20 2900 1000                         |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    406 000c74: 7120 0800 7600                         |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@0008
    407 000c7a: 2200 0700                              |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@0007
    408 000c7e: 7010 0100 0000                         |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0001
    409 000c84: 7030 0700 8009                         |0060: invoke-direct {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@0007
    410 000c8a: fa20 4000 0a00 2700                    |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@0040, proto@0027
    411 000c92: 1230                                   |0067: const/4 v0, #int 3 // #3
    412 000c94: fa20 4000 0b00 0500                    |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@0040, proto@0005
    413 000c9c: 0c00                                   |006c: move-result-object v0
    414 000c9e: fa20 3b00 0c00 2700                    |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@003b, proto@0027
    415 000ca6: 7100 4600 0000                         |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0046
    416 000cac: 0c00                                   |0074: move-result-object v0
    417 000cae: 6e10 4500 0000                         |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@0045
    418 000cb4: 0c01                                   |0078: move-result-object v1
    419 000cb6: 6e40 4400 1054                         |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0044
    420 000cbc: 0c00                                   |007c: move-result-object v0
    421 000cbe: 2201 1400                              |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0014
    422 000cc2: 6e20 3a00 5000                         |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@003a
    423 000cc8: 0c00                                   |0082: move-result-object v0
    424 000cca: 7020 3800 0100                         |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0038
    425 000cd0: 1101                                   |0086: return-object v1
    426       catches       : (none)
    427       positions     : 
    428         0x0000 line=170
    429         0x003c line=172
    430         0x0058 line=175
    431         0x005b line=176
    432         0x0060 line=177
    433         0x0063 line=180
    434         0x0067 line=182
    435         0x006d line=183
    436         0x0071 line=185
    437         0x0075 line=186
    438         0x007d line=187
    439       locals        : 
    440         0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup; 
    441         0x0000 - 0x0087 reg=4 (null) Ljava/lang/String; 
    442         0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType; 
    443         0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle; 
    444         0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle; 
    445         0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle; 
    446         0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle; 
    447         0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle; 
    448         0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle; 
    449         0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle; 
    450 
    451     #7              : (in Linvokecustom/InvokeCustom;)
    452       name          : 'checkFieldTest9'
    453       type          : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
    454       access        : 0x0002 (PRIVATE)
    455       code          -
    456       registers     : 9
    457       ins           : 3
    458       outs          : 3
    459       insns size    : 82 16-bit code units
    460 000cd4:                                        |[000cd4] invokecustom.InvokeCustom.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
    461 000ce4: 1405 0ff0 6a20                         |0000: const v5, #float 1.99e-19 // #206af00f
    462 000cea: fa20 4000 6700 0100                    |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@0040, proto@0001
    463 000cf2: 0a00                                   |0007: move-result v0
    464 000cf4: fa30 4000 6805 2800                    |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@0040, proto@0028
    465 000cfc: fa20 4000 6700 0100                    |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@0040, proto@0001
    466 000d04: 0a01                                   |0010: move-result v1
    467 000d06: 6202 0200                              |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    468 000d0a: 2203 1000                              |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0010
    469 000d0e: 7010 3000 0300                         |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    470 000d14: 1a04 6800                              |0018: const-string v4, "checkFieldTest9: old " // string@0068
    471 000d18: 6e20 3600 4300                         |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    472 000d1e: 0c03                                   |001d: move-result-object v3
    473 000d20: 6e20 3200 0300                         |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032
    474 000d26: 0c00                                   |0021: move-result-object v0
    475 000d28: 1a03 0700                              |0022: const-string v3, " new " // string@0007
    476 000d2c: 6e20 3600 3000                         |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    477 000d32: 0c00                                   |0027: move-result-object v0
    478 000d34: 6e20 3200 1000                         |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032
    479 000d3a: 0c00                                   |002b: move-result-object v0
    480 000d3c: 1a03 0600                              |002c: const-string v3, " expected " // string@0006
    481 000d40: 6e20 3600 3000                         |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    482 000d46: 0c00                                   |0031: move-result-object v0
    483 000d48: 6e20 3200 5000                         |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032
    484 000d4e: 0c00                                   |0035: move-result-object v0
    485 000d50: 1a03 0100                              |0036: const-string v3, " " // string@0001
    486 000d54: 6e20 3600 3000                         |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    487 000d5a: 0c00                                   |003b: move-result-object v0
    488 000d5c: 6e10 3700 0000                         |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    489 000d62: 0c00                                   |003f: move-result-object v0
    490 000d64: 6e20 2300 0200                         |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0023
    491 000d6a: 6202 0200                              |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    492 000d6e: 2d00 0105                              |0045: cmpl-float v0, v1, v5
    493 000d72: 3900 0800                              |0047: if-nez v0, 004f // +0008
    494 000d76: 1a00 4400                              |0049: const-string v0, "OK" // string@0044
    495 000d7a: 6e20 2900 0200                         |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    496 000d80: 0e00                                   |004e: return-void
    497 000d82: 1a00 1100                              |004f: const-string v0, "ERROR" // string@0011
    498 000d86: 28fa                                   |0051: goto 004b // -0006
    499       catches       : (none)
    500       positions     : 
    501         0x0003 line=120
    502         0x0008 line=121
    503         0x000c line=122
    504         0x0011 line=123
    505         0x0043 line=125
    506         0x004e line=126
    507         0x004f line=125
    508       locals        : 
    509         0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom; 
    510         0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle; 
    511         0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle; 
    512 
    513     #8              : (in Linvokecustom/InvokeCustom;)
    514       name          : 'checkStaticFieldTest9'
    515       type          : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
    516       access        : 0x000a (PRIVATE STATIC)
    517       code          -
    518       registers     : 8
    519       ins           : 2
    520       outs          : 2
    521       insns size    : 80 16-bit code units
    522 000d88:                                        |[000d88] invokecustom.InvokeCustom.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
    523 000d98: 1405 1032 5476                         |0000: const v5, #float 1.07596e+33 // #76543210
    524 000d9e: fa10 4000 0600 0200                    |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@0040, proto@0002
    525 000da6: 0a00                                   |0007: move-result v0
    526 000da8: fa20 4000 5700 2500                    |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@0040, proto@0025
    527 000db0: fa10 4000 0600 0200                    |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@0040, proto@0002
    528 000db8: 0a01                                   |0010: move-result v1
    529 000dba: 6202 0200                              |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    530 000dbe: 2203 1000                              |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0010
    531 000dc2: 7010 3000 0300                         |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    532 000dc8: 1a04 6a00                              |0018: const-string v4, "checkStaticFieldTest9: old " // string@006a
    533 000dcc: 6e20 3600 4300                         |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    534 000dd2: 0c03                                   |001d: move-result-object v3
    535 000dd4: 6e20 3300 0300                         |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    536 000dda: 0c00                                   |0021: move-result-object v0
    537 000ddc: 1a03 0700                              |0022: const-string v3, " new " // string@0007
    538 000de0: 6e20 3600 3000                         |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    539 000de6: 0c00                                   |0027: move-result-object v0
    540 000de8: 6e20 3300 1000                         |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    541 000dee: 0c00                                   |002b: move-result-object v0
    542 000df0: 1a03 0600                              |002c: const-string v3, " expected " // string@0006
    543 000df4: 6e20 3600 3000                         |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    544 000dfa: 0c00                                   |0031: move-result-object v0
    545 000dfc: 6e20 3300 5000                         |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    546 000e02: 0c00                                   |0035: move-result-object v0
    547 000e04: 1a03 0100                              |0036: const-string v3, " " // string@0001
    548 000e08: 6e20 3600 3000                         |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    549 000e0e: 0c00                                   |003b: move-result-object v0
    550 000e10: 6e10 3700 0000                         |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    551 000e16: 0c00                                   |003f: move-result-object v0
    552 000e18: 6e20 2300 0200                         |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@0023
    553 000e1e: 6202 0200                              |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    554 000e22: 3351 0800                              |0045: if-ne v1, v5, 004d // +0008
    555 000e26: 1a00 4400                              |0047: const-string v0, "OK" // string@0044
    556 000e2a: 6e20 2900 0200                         |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    557 000e30: 0e00                                   |004c: return-void
    558 000e32: 1a00 1100                              |004d: const-string v0, "ERROR" // string@0011
    559 000e36: 28fa                                   |004f: goto 0049 // -0006
    560       catches       : (none)
    561       positions     : 
    562         0x0003 line=107
    563         0x0008 line=108
    564         0x000c line=109
    565         0x0011 line=110
    566         0x0043 line=112
    567         0x004c line=113
    568         0x004d line=112
    569       locals        : 
    570         0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle; 
    571         0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle; 
    572 
    573     #9              : (in Linvokecustom/InvokeCustom;)
    574       name          : 'lambda$lambdaTest$0'
    575       type          : '(Ljava/lang/String;)Z'
    576       access        : 0x100a (PRIVATE STATIC SYNTHETIC)
    577       code          -
    578       registers     : 3
    579       ins           : 1
    580       outs          : 2
    581       insns size    : 11 16-bit code units
    582 000e38:                                        |[000e38] invokecustom.InvokeCustom.lambda$lambdaTest$0:(Ljava/lang/String;)Z
    583 000e48: 1a00 4500                              |0000: const-string v0, "One" // string@0045
    584 000e4c: 6e10 2f00 0200                         |0002: invoke-virtual {v2}, Ljava/lang/String;.trim:()Ljava/lang/String; // method@002f
    585 000e52: 0c01                                   |0005: move-result-object v1
    586 000e54: 6e20 2e00 1000                         |0006: invoke-virtual {v0, v1}, Ljava/lang/String;.equals:(Ljava/lang/Object;)Z // method@002e
    587 000e5a: 0a00                                   |0009: move-result v0
    588 000e5c: 0f00                                   |000a: return v0
    589       catches       : (none)
    590       positions     : 
    591         0x0000 line=192
    592       locals        : 
    593         0x0000 - 0x000b reg=2 (null) Ljava/lang/String; 
    594 
    595     #10              : (in Linvokecustom/InvokeCustom;)
    596       name          : 'lambdaTest'
    597       type          : '()V'
    598       access        : 0x0009 (PUBLIC STATIC)
    599       code          -
    600       registers     : 3
    601       ins           : 0
    602       outs          : 2
    603       insns size    : 71 16-bit code units
    604 000e60:                                        |[000e60] invokecustom.InvokeCustom.lambdaTest:()V
    605 000e70: 1230                                   |0000: const/4 v0, #int 3 // #3
    606 000e72: 2300 2500                              |0001: new-array v0, v0, [Ljava/lang/String; // type@0025
    607 000e76: 1201                                   |0003: const/4 v1, #int 0 // #0
    608 000e78: 1a02 4900                              |0004: const-string v2, "Three" // string@0049
    609 000e7c: 4d02 0001                              |0006: aput-object v2, v0, v1
    610 000e80: 1211                                   |0008: const/4 v1, #int 1 // #1
    611 000e82: 1a02 4500                              |0009: const-string v2, "One" // string@0045
    612 000e86: 4d02 0001                              |000b: aput-object v2, v0, v1
    613 000e8a: 1221                                   |000d: const/4 v1, #int 2 // #2
    614 000e8c: 1a02 1600                              |000e: const-string v2, "FortyTwo" // string@0016
    615 000e90: 4d02 0001                              |0010: aput-object v2, v0, v1
    616 000e94: 7110 4700 0000                         |0012: invoke-static {v0}, Ljava/util/Arrays;.asList:([Ljava/lang/Object;)Ljava/util/List; // method@0047
    617 000e9a: 0c01                                   |0015: move-result-object v1
    618 000e9c: 7210 4800 0100                         |0016: invoke-interface {v1}, Ljava/util/List;.stream:()Ljava/util/stream/Stream; // method@0048
    619 000ea2: 0c00                                   |0019: move-result-object v0
    620 000ea4: fc00 0000 0000                         |001a: invoke-custom {}, call_site@0000
    621 000eaa: 0c02                                   |001d: move-result-object v2
    622 000eac: 7220 4a00 2000                         |001e: invoke-interface {v0, v2}, Ljava/util/stream/Stream;.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; // method@004a
    623 000eb2: 0c00                                   |0021: move-result-object v0
    624 000eb4: fc00 0100 0000                         |0022: invoke-custom {}, call_site@0001
    625 000eba: 0c02                                   |0025: move-result-object v2
    626 000ebc: 7220 4d00 2000                         |0026: invoke-interface {v0, v2}, Ljava/util/stream/Stream;.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream; // method@004d
    627 000ec2: 0c00                                   |0029: move-result-object v0
    628 000ec4: 7210 4b00 0000                         |002a: invoke-interface {v0}, Ljava/util/stream/Stream;.findAny:()Ljava/util/Optional; // method@004b
    629 000eca: 0c00                                   |002d: move-result-object v0
    630 000ecc: 1a02 0000                              |002e: const-string v2, "" // string@0000
    631 000ed0: 6e20 4900 2000                         |0030: invoke-virtual {v0, v2}, Ljava/util/Optional;.orElse:(Ljava/lang/Object;)Ljava/lang/Object; // method@0049
    632 000ed6: 0c00                                   |0033: move-result-object v0
    633 000ed8: 1f00 0f00                              |0034: check-cast v0, Ljava/lang/String; // type@000f
    634 000edc: 7210 4800 0100                         |0036: invoke-interface {v1}, Ljava/util/List;.stream:()Ljava/util/stream/Stream; // method@0048
    635 000ee2: 0c00                                   |0039: move-result-object v0
    636 000ee4: 6201 0200                              |003a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    637 000ee8: 6e10 2c00 0100                         |003c: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@002c
    638 000eee: fc10 0200 0100                         |003f: invoke-custom {v1}, call_site@0002
    639 000ef4: 0c01                                   |0042: move-result-object v1
    640 000ef6: 7220 4c00 1000                         |0043: invoke-interface {v0, v1}, Ljava/util/stream/Stream;.forEach:(Ljava/util/function/Consumer;)V // method@004c
    641 000efc: 0e00                                   |0046: return-void
    642       catches       : (none)
    643       positions     : 
    644         0x0000 line=191
    645         0x0016 line=192
    646         0x0026 line=193
    647         0x0036 line=194
    648         0x0046 line=195
    649       locals        : 
    650 
    651     #11              : (in Linvokecustom/InvokeCustom;)
    652       name          : 'main'
    653       type          : '([Ljava/lang/String;)V'
    654       access        : 0x0009 (PUBLIC STATIC)
    655       code          -
    656       registers     : 1
    657       ins           : 1
    658       outs          : 0
    659       insns size    : 28 16-bit code units
    660 000f00:                                        |[000f00] invokecustom.InvokeCustom.main:([Ljava/lang/String;)V
    661 000f10: 7100 1700 0000                         |0000: invoke-static {}, Linvokecustom/InvokeCustom;.test1:()V // method@0017
    662 000f16: 7100 1800 0000                         |0003: invoke-static {}, Linvokecustom/InvokeCustom;.test2:()V // method@0018
    663 000f1c: 7100 1900 0000                         |0006: invoke-static {}, Linvokecustom/InvokeCustom;.test3:()V // method@0019
    664 000f22: 7100 1a00 0000                         |0009: invoke-static {}, Linvokecustom/InvokeCustom;.test4:()V // method@001a
    665 000f28: 7100 1b00 0000                         |000c: invoke-static {}, Linvokecustom/InvokeCustom;.test5:()V // method@001b
    666 000f2e: 7100 1c00 0000                         |000f: invoke-static {}, Linvokecustom/InvokeCustom;.test6:()V // method@001c
    667 000f34: 7100 1d00 0000                         |0012: invoke-static {}, Linvokecustom/InvokeCustom;.test7:()V // method@001d
    668 000f3a: 7100 1e00 0000                         |0015: invoke-static {}, Linvokecustom/InvokeCustom;.test8:()V // method@001e
    669 000f40: 7100 1f00 0000                         |0018: invoke-static {}, Linvokecustom/InvokeCustom;.test9:()V // method@001f
    670 000f46: 0e00                                   |001b: return-void
    671       catches       : (none)
    672       positions     : 
    673       locals        : 
    674 
    675     #12              : (in Linvokecustom/InvokeCustom;)
    676       name          : 'targetMethodTest1'
    677       type          : '()V'
    678       access        : 0x000a (PRIVATE STATIC)
    679       code          -
    680       registers     : 2
    681       ins           : 0
    682       outs          : 2
    683       insns size    : 8 16-bit code units
    684 000f48:                                        |[000f48] invokecustom.InvokeCustom.targetMethodTest1:()V
    685 000f58: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    686 000f5c: 1a01 1700                              |0002: const-string v1, "Hello World!" // string@0017
    687 000f60: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    688 000f66: 0e00                                   |0007: return-void
    689       catches       : (none)
    690       positions     : 
    691         0x0000 line=45
    692         0x0007 line=46
    693       locals        : 
    694 
    695     #13              : (in Linvokecustom/InvokeCustom;)
    696       name          : 'targetMethodTest2'
    697       type          : '(ZBCSIFJDLjava/lang/String;)V'
    698       access        : 0x000a (PRIVATE STATIC)
    699       code          -
    700       registers     : 13
    701       ins           : 11
    702       outs          : 3
    703       insns size    : 46 16-bit code units
    704 000f68:                                        |[000f68] invokecustom.InvokeCustom.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
    705 000f78: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    706 000f7c: 6e20 2a00 2000                         |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@002a
    707 000f82: 6200 0200                              |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    708 000f86: 6e20 2700 3000                         |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@0027
    709 000f8c: 6200 0200                              |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    710 000f90: 6e20 2400 4000                         |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@0024
    711 000f96: 6200 0200                              |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    712 000f9a: 6e20 2700 5000                         |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@0027
    713 000fa0: 6200 0200                              |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    714 000fa4: 6e20 2700 6000                         |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@0027
    715 000faa: 6200 0200                              |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    716 000fae: 6e20 2600 7000                         |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@0026
    717 000fb4: 6200 0200                              |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    718 000fb8: 6e30 2800 8009                         |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@0028
    719 000fbe: 6200 0200                              |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    720 000fc2: 6e30 2500 a00b                         |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@0025
    721 000fc8: 6200 0200                              |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    722 000fcc: 6e20 2900 c000                         |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    723 000fd2: 0e00                                   |002d: return-void
    724       catches       : (none)
    725       positions     : 
    726         0x0000 line=50
    727         0x0005 line=51
    728         0x000a line=52
    729         0x000f line=53
    730         0x0014 line=54
    731         0x0019 line=55
    732         0x001e line=56
    733         0x0023 line=57
    734         0x0028 line=58
    735         0x002d line=59
    736       locals        : 
    737         0x0000 - 0x002e reg=2 (null) Z 
    738         0x0000 - 0x002e reg=3 (null) B 
    739         0x0000 - 0x002e reg=4 (null) C 
    740         0x0000 - 0x002e reg=5 (null) S 
    741         0x0000 - 0x002e reg=6 (null) I 
    742         0x0000 - 0x002e reg=7 (null) F 
    743         0x0000 - 0x002e reg=8 (null) J 
    744         0x0000 - 0x002e reg=10 (null) D 
    745         0x0000 - 0x002e reg=12 (null) Ljava/lang/String; 
    746 
    747     #14              : (in Linvokecustom/InvokeCustom;)
    748       name          : 'targetMethodTest3'
    749       type          : '()V'
    750       access        : 0x000a (PRIVATE STATIC)
    751       code          -
    752       registers     : 2
    753       ins           : 0
    754       outs          : 2
    755       insns size    : 8 16-bit code units
    756 000fd4:                                        |[000fd4] invokecustom.InvokeCustom.targetMethodTest3:()V
    757 000fe4: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    758 000fe8: 1a01 8800                              |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0088
    759 000fec: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    760 000ff2: 0e00                                   |0007: return-void
    761       catches       : (none)
    762       positions     : 
    763         0x0000 line=62
    764         0x0007 line=63
    765       locals        : 
    766 
    767     #15              : (in Linvokecustom/InvokeCustom;)
    768       name          : 'targetMethodTest5'
    769       type          : '(III)I'
    770       access        : 0x0009 (PUBLIC STATIC)
    771       code          -
    772       registers     : 7
    773       ins           : 3
    774       outs          : 2
    775       insns size    : 83 16-bit code units
    776 000ff4:                                        |[000ff4] invokecustom.InvokeCustom.targetMethodTest5:(III)I
    777 001004: 9000 0405                              |0000: add-int v0, v4, v5
    778 001008: 6201 0200                              |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    779 00100c: 2202 1000                              |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0010
    780 001010: 7010 3000 0200                         |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    781 001016: 1a03 8d00                              |0009: const-string v3, "targetMethodTest5 " // string@008d
    782 00101a: 6e20 3600 3200                         |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    783 001020: 0c02                                   |000e: move-result-object v2
    784 001022: 6e20 3300 4200                         |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    785 001028: 0c02                                   |0012: move-result-object v2
    786 00102a: 1a03 0400                              |0013: const-string v3, " + " // string@0004
    787 00102e: 6e20 3600 3200                         |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    788 001034: 0c02                                   |0018: move-result-object v2
    789 001036: 6e20 3300 5200                         |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    790 00103c: 0c02                                   |001c: move-result-object v2
    791 00103e: 1a03 0500                              |001d: const-string v3, " = " // string@0005
    792 001042: 6e20 3600 3200                         |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    793 001048: 0c02                                   |0022: move-result-object v2
    794 00104a: 6e20 3300 0200                         |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    795 001050: 0c02                                   |0026: move-result-object v2
    796 001052: 6e10 3700 0200                         |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    797 001058: 0c02                                   |002a: move-result-object v2
    798 00105a: 6e20 2900 2100                         |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    799 001060: 3260 2400                              |002e: if-eq v0, v6, 0052 // +0024
    800 001064: 6201 0200                              |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    801 001068: 2202 1000                              |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0010
    802 00106c: 7010 3000 0200                         |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    803 001072: 1a03 1400                              |0037: const-string v3, "Failed " // string@0014
    804 001076: 6e20 3600 3200                         |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    805 00107c: 0c02                                   |003c: move-result-object v2
    806 00107e: 6e20 3300 0200                         |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    807 001084: 0c02                                   |0040: move-result-object v2
    808 001086: 1a03 0200                              |0041: const-string v3, " != " // string@0002
    809 00108a: 6e20 3600 3200                         |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    810 001090: 0c02                                   |0046: move-result-object v2
    811 001092: 6e20 3300 6200                         |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
    812 001098: 0c02                                   |004a: move-result-object v2
    813 00109a: 6e10 3700 0200                         |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    814 0010a0: 0c02                                   |004e: move-result-object v2
    815 0010a2: 6e20 2900 2100                         |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    816 0010a8: 0f00                                   |0052: return v0
    817       catches       : (none)
    818       positions     : 
    819         0x0000 line=72
    820         0x0002 line=73
    821         0x002e line=74
    822         0x0030 line=75
    823         0x0052 line=77
    824       locals        : 
    825         0x0000 - 0x0053 reg=4 (null) I 
    826         0x0000 - 0x0053 reg=5 (null) I 
    827         0x0000 - 0x0053 reg=6 (null) I 
    828 
    829     #16              : (in Linvokecustom/InvokeCustom;)
    830       name          : 'targetMethodTest6'
    831       type          : '(JJJ)J'
    832       access        : 0x0009 (PUBLIC STATIC)
    833       code          -
    834       registers     : 12
    835       ins           : 6
    836       outs          : 3
    837       insns size    : 85 16-bit code units
    838 0010ac:                                        |[0010ac] invokecustom.InvokeCustom.targetMethodTest6:(JJJ)J
    839 0010bc: 9b00 0608                              |0000: add-long v0, v6, v8
    840 0010c0: 6202 0200                              |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    841 0010c4: 2203 1000                              |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0010
    842 0010c8: 7010 3000 0300                         |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    843 0010ce: 1a04 9000                              |0009: const-string v4, "targetMethodTest6 " // string@0090
    844 0010d2: 6e20 3600 4300                         |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    845 0010d8: 0c03                                   |000e: move-result-object v3
    846 0010da: 6e30 3400 6307                         |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
    847 0010e0: 0c03                                   |0012: move-result-object v3
    848 0010e2: 1a04 0400                              |0013: const-string v4, " + " // string@0004
    849 0010e6: 6e20 3600 4300                         |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    850 0010ec: 0c03                                   |0018: move-result-object v3
    851 0010ee: 6e30 3400 8309                         |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
    852 0010f4: 0c03                                   |001c: move-result-object v3
    853 0010f6: 1a04 0500                              |001d: const-string v4, " = " // string@0005
    854 0010fa: 6e20 3600 4300                         |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    855 001100: 0c03                                   |0022: move-result-object v3
    856 001102: 6e30 3400 0301                         |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
    857 001108: 0c03                                   |0026: move-result-object v3
    858 00110a: 6e10 3700 0300                         |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    859 001110: 0c03                                   |002a: move-result-object v3
    860 001112: 6e20 2900 3200                         |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    861 001118: 3102 000a                              |002e: cmp-long v2, v0, v10
    862 00111c: 3802 2400                              |0030: if-eqz v2, 0054 // +0024
    863 001120: 6202 0200                              |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    864 001124: 2203 1000                              |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0010
    865 001128: 7010 3000 0300                         |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    866 00112e: 1a04 1400                              |0039: const-string v4, "Failed " // string@0014
    867 001132: 6e20 3600 4300                         |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    868 001138: 0c03                                   |003e: move-result-object v3
    869 00113a: 6e30 3400 0301                         |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
    870 001140: 0c03                                   |0042: move-result-object v3
    871 001142: 1a04 0200                              |0043: const-string v4, " != " // string@0002
    872 001146: 6e20 3600 4300                         |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    873 00114c: 0c03                                   |0048: move-result-object v3
    874 00114e: 6e30 3400 a30b                         |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
    875 001154: 0c03                                   |004c: move-result-object v3
    876 001156: 6e10 3700 0300                         |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    877 00115c: 0c03                                   |0050: move-result-object v3
    878 00115e: 6e20 2900 3200                         |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    879 001164: 1000                                   |0054: return-wide v0
    880       catches       : (none)
    881       positions     : 
    882         0x0000 line=81
    883         0x0002 line=82
    884         0x002e line=83
    885         0x0032 line=84
    886         0x0054 line=86
    887       locals        : 
    888         0x0000 - 0x0055 reg=6 (null) J 
    889         0x0000 - 0x0055 reg=8 (null) J 
    890         0x0000 - 0x0055 reg=10 (null) J 
    891 
    892     #17              : (in Linvokecustom/InvokeCustom;)
    893       name          : 'targetMethodTest7'
    894       type          : '(FFD)D'
    895       access        : 0x0009 (PUBLIC STATIC)
    896       code          -
    897       registers     : 10
    898       ins           : 4
    899       outs          : 3
    900       insns size    : 86 16-bit code units
    901 001168:                                        |[001168] invokecustom.InvokeCustom.targetMethodTest7:(FFD)D
    902 001178: a800 0607                              |0000: mul-float v0, v6, v7
    903 00117c: 8900                                   |0002: float-to-double v0, v0
    904 00117e: 6202 0200                              |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    905 001182: 2203 1000                              |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0010
    906 001186: 7010 3000 0300                         |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    907 00118c: 1a04 9300                              |000a: const-string v4, "targetMethodTest7 " // string@0093
    908 001190: 6e20 3600 4300                         |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    909 001196: 0c03                                   |000f: move-result-object v3
    910 001198: 6e20 3200 6300                         |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032
    911 00119e: 0c03                                   |0013: move-result-object v3
    912 0011a0: 1a04 0300                              |0014: const-string v4, " * " // string@0003
    913 0011a4: 6e20 3600 4300                         |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    914 0011aa: 0c03                                   |0019: move-result-object v3
    915 0011ac: 6e20 3200 7300                         |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@0032
    916 0011b2: 0c03                                   |001d: move-result-object v3
    917 0011b4: 1a04 0500                              |001e: const-string v4, " = " // string@0005
    918 0011b8: 6e20 3600 4300                         |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    919 0011be: 0c03                                   |0023: move-result-object v3
    920 0011c0: 6e30 3100 0301                         |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031
    921 0011c6: 0c03                                   |0027: move-result-object v3
    922 0011c8: 6e10 3700 0300                         |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    923 0011ce: 0c03                                   |002b: move-result-object v3
    924 0011d0: 6e20 2900 3200                         |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    925 0011d6: 2f02 0008                              |002f: cmpl-double v2, v0, v8
    926 0011da: 3802 2400                              |0031: if-eqz v2, 0055 // +0024
    927 0011de: 6202 0200                              |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    928 0011e2: 2203 1000                              |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0010
    929 0011e6: 7010 3000 0300                         |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    930 0011ec: 1a04 1400                              |003a: const-string v4, "Failed " // string@0014
    931 0011f0: 6e20 3600 4300                         |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    932 0011f6: 0c03                                   |003f: move-result-object v3
    933 0011f8: 6e30 3100 0301                         |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031
    934 0011fe: 0c03                                   |0043: move-result-object v3
    935 001200: 1a04 0200                              |0044: const-string v4, " != " // string@0002
    936 001204: 6e20 3600 4300                         |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    937 00120a: 0c03                                   |0049: move-result-object v3
    938 00120c: 6e30 3100 8309                         |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031
    939 001212: 0c03                                   |004d: move-result-object v3
    940 001214: 6e10 3700 0300                         |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    941 00121a: 0c03                                   |0051: move-result-object v3
    942 00121c: 6e20 2900 3200                         |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    943 001222: 1000                                   |0055: return-wide v0
    944       catches       : (none)
    945       positions     : 
    946         0x0000 line=90
    947         0x0003 line=91
    948         0x002f line=92
    949         0x0033 line=93
    950         0x0055 line=95
    951       locals        : 
    952         0x0000 - 0x0056 reg=6 (null) F 
    953         0x0000 - 0x0056 reg=7 (null) F 
    954         0x0000 - 0x0056 reg=8 (null) D 
    955 
    956     #18              : (in Linvokecustom/InvokeCustom;)
    957       name          : 'targetMethodTest8'
    958       type          : '(Ljava/lang/String;)V'
    959       access        : 0x0009 (PUBLIC STATIC)
    960       code          -
    961       registers     : 4
    962       ins           : 1
    963       outs          : 2
    964       insns size    : 25 16-bit code units
    965 001224:                                        |[001224] invokecustom.InvokeCustom.targetMethodTest8:(Ljava/lang/String;)V
    966 001234: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    967 001238: 2201 1000                              |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010
    968 00123c: 7010 3000 0100                         |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
    969 001242: 1a02 9500                              |0007: const-string v2, "targetMethodTest8 " // string@0095
    970 001246: 6e20 3600 2100                         |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    971 00124c: 0c01                                   |000c: move-result-object v1
    972 00124e: 6e20 3600 3100                         |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
    973 001254: 0c01                                   |0010: move-result-object v1
    974 001256: 6e10 3700 0100                         |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
    975 00125c: 0c01                                   |0014: move-result-object v1
    976 00125e: 6e20 2900 1000                         |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    977 001264: 0e00                                   |0018: return-void
    978       catches       : (none)
    979       positions     : 
    980         0x0000 line=99
    981         0x0018 line=100
    982       locals        : 
    983         0x0000 - 0x0019 reg=3 (null) Ljava/lang/String; 
    984 
    985     #19              : (in Linvokecustom/InvokeCustom;)
    986       name          : 'targetMethodTest9'
    987       type          : '()V'
    988       access        : 0x000a (PRIVATE STATIC)
    989       code          -
    990       registers     : 2
    991       ins           : 0
    992       outs          : 2
    993       insns size    : 8 16-bit code units
    994 001268:                                        |[001268] invokecustom.InvokeCustom.targetMethodTest9:()V
    995 001278: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
    996 00127c: 1a01 9700                              |0002: const-string v1, "targetMethodTest9()" // string@0097
    997 001280: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
    998 001286: 0e00                                   |0007: return-void
    999       catches       : (none)
   1000       positions     : 
   1001         0x0000 line=133
   1002         0x0007 line=134
   1003       locals        : 
   1004 
   1005     #20              : (in Linvokecustom/InvokeCustom;)
   1006       name          : 'test1'
   1007       type          : '()V'
   1008       access        : 0x0009 (PUBLIC STATIC)
   1009       code          -
   1010       registers     : 0
   1011       ins           : 0
   1012       outs          : 0
   1013       insns size    : 4 16-bit code units
   1014 001288:                                        |[001288] invokecustom.InvokeCustom.test1:()V
   1015 001298: fc00 0300 0000                         |0000: invoke-custom {}, call_site@0003
   1016 00129e: 0e00                                   |0003: return-void
   1017       catches       : (none)
   1018       positions     : 
   1019       locals        : 
   1020 
   1021     #21              : (in Linvokecustom/InvokeCustom;)
   1022       name          : 'test2'
   1023       type          : '()V'
   1024       access        : 0x0009 (PUBLIC STATIC)
   1025       code          -
   1026       registers     : 11
   1027       ins           : 0
   1028       outs          : 11
   1029       insns size    : 27 16-bit code units
   1030 0012a0:                                        |[0012a0] invokecustom.InvokeCustom.test2:()V
   1031 0012b0: 1210                                   |0000: const/4 v0, #int 1 // #1
   1032 0012b2: 1301 7f00                              |0001: const/16 v1, #int 127 // #7f
   1033 0012b6: 1302 6300                              |0003: const/16 v2, #int 99 // #63
   1034 0012ba: 1303 0004                              |0005: const/16 v3, #int 1024 // #400
   1035 0012be: 1404 40e2 0100                         |0007: const v4, #float 1.72999e-40 // #0001e240
   1036 0012c4: 1405 9a99 993f                         |000a: const v5, #float 1.2 // #3f99999a
   1037 0012ca: 1706 15cd 5b07                         |000d: const-wide/32 v6, #float 1.6536e-34 // #075bcd15
   1038 0012d0: 1808 b6fa f8b0 4819 0c40               |0010: const-wide v8, #double 3.51235 // #400c1948b0f8fab6
   1039 0012da: 1a0a 4800                              |0015: const-string v10, "String" // string@0048
   1040 0012de: fd0b 0400 0000                         |0017: invoke-custom/range {v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10}, call_site@0004
   1041 0012e4: 0e00                                   |001a: return-void
   1042       catches       : (none)
   1043       positions     : 
   1044       locals        : 
   1045 
   1046     #22              : (in Linvokecustom/InvokeCustom;)
   1047       name          : 'test3'
   1048       type          : '()V'
   1049       access        : 0x0009 (PUBLIC STATIC)
   1050       code          -
   1051       registers     : 0
   1052       ins           : 0
   1053       outs          : 0
   1054       insns size    : 4 16-bit code units
   1055 0012e8:                                        |[0012e8] invokecustom.InvokeCustom.test3:()V
   1056 0012f8: fc00 0b00 0000                         |0000: invoke-custom {}, call_site@000b
   1057 0012fe: 0e00                                   |0003: return-void
   1058       catches       : (none)
   1059       positions     : 
   1060       locals        : 
   1061 
   1062     #23              : (in Linvokecustom/InvokeCustom;)
   1063       name          : 'test4'
   1064       type          : '()V'
   1065       access        : 0x0009 (PUBLIC STATIC)
   1066       code          -
   1067       registers     : 1
   1068       ins           : 0
   1069       outs          : 1
   1070       insns size    : 9 16-bit code units
   1071 001300:                                        |[001300] invokecustom.InvokeCustom.test4:()V
   1072 001310: 2200 0700                              |0000: new-instance v0, Linvokecustom/InvokeCustom; // type@0007
   1073 001314: 7010 0100 0000                         |0002: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0001
   1074 00131a: fc10 0c00 0000                         |0005: invoke-custom {v0}, call_site@000c
   1075 001320: 0e00                                   |0008: return-void
   1076       catches       : (none)
   1077       positions     : 
   1078       locals        : 
   1079 
   1080     #24              : (in Linvokecustom/InvokeCustom;)
   1081       name          : 'test5'
   1082       type          : '()V'
   1083       access        : 0x0009 (PUBLIC STATIC)
   1084       code          -
   1085       registers     : 4
   1086       ins           : 0
   1087       outs          : 3
   1088       insns size    : 35 16-bit code units
   1089 001324:                                        |[001324] invokecustom.InvokeCustom.test5:()V
   1090 001334: 1300 e803                              |0000: const/16 v0, #int 1000 // #3e8
   1091 001338: 1301 65fc                              |0002: const/16 v1, #int -923 // #fc65
   1092 00133c: 1302 4d00                              |0004: const/16 v2, #int 77 // #4d
   1093 001340: fc30 0500 1002                         |0006: invoke-custom {v0, v1, v2}, call_site@0005
   1094 001346: 0a00                                   |0009: move-result v0
   1095 001348: 6201 0200                              |000a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
   1096 00134c: 2202 1000                              |000c: new-instance v2, Ljava/lang/StringBuilder; // type@0010
   1097 001350: 7010 3000 0200                         |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
   1098 001356: 1a03 8e00                              |0011: const-string v3, "targetMethodTest5 returned: " // string@008e
   1099 00135a: 6e20 3600 3200                         |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
   1100 001360: 0c02                                   |0016: move-result-object v2
   1101 001362: 6e20 3300 0200                         |0017: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@0033
   1102 001368: 0c00                                   |001a: move-result-object v0
   1103 00136a: 6e10 3700 0000                         |001b: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
   1104 001370: 0c00                                   |001e: move-result-object v0
   1105 001372: 6e20 2900 0100                         |001f: invoke-virtual {v1, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
   1106 001378: 0e00                                   |0022: return-void
   1107       catches       : (none)
   1108       positions     : 
   1109       locals        : 
   1110 
   1111     #25              : (in Linvokecustom/InvokeCustom;)
   1112       name          : 'test6'
   1113       type          : '()V'
   1114       access        : 0x0009 (PUBLIC STATIC)
   1115       code          -
   1116       registers     : 6
   1117       ins           : 0
   1118       outs          : 6
   1119       insns size    : 44 16-bit code units
   1120 00137c:                                        |[00137c] invokecustom.InvokeCustom.test6:()V
   1121 00138c: 1800 7777 7777 7707 0000               |0000: const-wide v0, #double 4.05612e-311 // #0000077777777777
   1122 001396: 1802 efee eeee eefe ffff               |0005: const-wide v2, #double -nan // #fffffeeeeeeeeeef
   1123 0013a0: 1804 6666 6666 6606 0000               |000a: const-wide v4, #double 3.47668e-311 // #0000066666666666
   1124 0013aa: fd06 0600 0000                         |000f: invoke-custom/range {v0, v1, v2, v3, v4, v5}, call_site@0006
   1125 0013b0: 0b00                                   |0012: move-result-wide v0
   1126 0013b2: 6202 0200                              |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
   1127 0013b6: 2203 1000                              |0015: new-instance v3, Ljava/lang/StringBuilder; // type@0010
   1128 0013ba: 7010 3000 0300                         |0017: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
   1129 0013c0: 1a04 9100                              |001a: const-string v4, "targetMethodTest6 returned: " // string@0091
   1130 0013c4: 6e20 3600 4300                         |001c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
   1131 0013ca: 0c03                                   |001f: move-result-object v3
   1132 0013cc: 6e30 3400 0301                         |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@0034
   1133 0013d2: 0c00                                   |0023: move-result-object v0
   1134 0013d4: 6e10 3700 0000                         |0024: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
   1135 0013da: 0c00                                   |0027: move-result-object v0
   1136 0013dc: 6e20 2900 0200                         |0028: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
   1137 0013e2: 0e00                                   |002b: return-void
   1138       catches       : (none)
   1139       positions     : 
   1140       locals        : 
   1141 
   1142     #26              : (in Linvokecustom/InvokeCustom;)
   1143       name          : 'test7'
   1144       type          : '()V'
   1145       access        : 0x0009 (PUBLIC STATIC)
   1146       code          -
   1147       registers     : 5
   1148       ins           : 0
   1149       outs          : 4
   1150       insns size    : 40 16-bit code units
   1151 0013e4:                                        |[0013e4] invokecustom.InvokeCustom.test7:()V
   1152 0013f4: 1400 0040 003f                         |0000: const v0, #float 0.500977 // #3f004000
   1153 0013fa: 1401 0040 00bf                         |0003: const v1, #float -0.500977 // #bf004000
   1154 001400: 1802 0000 0000 0410 d0bf               |0006: const-wide v2, #double -0.250978 // #bfd0100400000000
   1155 00140a: fc40 0700 1032                         |000b: invoke-custom {v0, v1, v2, v3}, call_site@0007
   1156 001410: 0b00                                   |000e: move-result-wide v0
   1157 001412: 6202 0200                              |000f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
   1158 001416: 2203 1000                              |0011: new-instance v3, Ljava/lang/StringBuilder; // type@0010
   1159 00141a: 7010 3000 0300                         |0013: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
   1160 001420: 1a04 9100                              |0016: const-string v4, "targetMethodTest6 returned: " // string@0091
   1161 001424: 6e20 3600 4300                         |0018: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
   1162 00142a: 0c03                                   |001b: move-result-object v3
   1163 00142c: 6e30 3100 0301                         |001c: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@0031
   1164 001432: 0c00                                   |001f: move-result-object v0
   1165 001434: 6e10 3700 0000                         |0020: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
   1166 00143a: 0c00                                   |0023: move-result-object v0
   1167 00143c: 6e20 2900 0200                         |0024: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
   1168 001442: 0e00                                   |0027: return-void
   1169       catches       : (none)
   1170       positions     : 
   1171       locals        : 
   1172 
   1173     #27              : (in Linvokecustom/InvokeCustom;)
   1174       name          : 'test8'
   1175       type          : '()V'
   1176       access        : 0x0009 (PUBLIC STATIC)
   1177       code          -
   1178       registers     : 1
   1179       ins           : 0
   1180       outs          : 1
   1181       insns size    : 16 16-bit code units
   1182 001444:                                        |[001444] invokecustom.InvokeCustom.test8:()V
   1183 001454: 1a00 1500                              |0000: const-string v0, "First invokedynamic invocation" // string@0015
   1184 001458: fc10 0800 0000                         |0002: invoke-custom {v0}, call_site@0008
   1185 00145e: 1a00 4700                              |0005: const-string v0, "Second invokedynamic invocation" // string@0047
   1186 001462: fc10 0900 0000                         |0007: invoke-custom {v0}, call_site@0009
   1187 001468: 1a00 1000                              |000a: const-string v0, "Dupe first invokedynamic invocation" // string@0010
   1188 00146c: fc10 0a00 0000                         |000c: invoke-custom {v0}, call_site@000a
   1189 001472: 0e00                                   |000f: return-void
   1190       catches       : (none)
   1191       positions     : 
   1192       locals        : 
   1193 
   1194     #28              : (in Linvokecustom/InvokeCustom;)
   1195       name          : 'test9'
   1196       type          : '()V'
   1197       access        : 0x0009 (PUBLIC STATIC)
   1198       code          -
   1199       registers     : 0
   1200       ins           : 0
   1201       outs          : 0
   1202       insns size    : 4 16-bit code units
   1203 001474:                                        |[001474] invokecustom.InvokeCustom.test9:()V
   1204 001484: fc00 0d00 0000                         |0000: invoke-custom {}, call_site@000d
   1205 00148a: 0e00                                   |0003: return-void
   1206       catches       : (none)
   1207       positions     : 
   1208       locals        : 
   1209 
   1210   Virtual methods   -
   1211     #0              : (in Linvokecustom/InvokeCustom;)
   1212       name          : 'helperMethodTest9'
   1213       type          : '()V'
   1214       access        : 0x0001 (PUBLIC)
   1215       code          -
   1216       registers     : 4
   1217       ins           : 1
   1218       outs          : 2
   1219       insns size    : 27 16-bit code units
   1220 00148c:                                        |[00148c] invokecustom.InvokeCustom.helperMethodTest9:()V
   1221 00149c: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
   1222 0014a0: 2201 1000                              |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0010
   1223 0014a4: 7010 3000 0100                         |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@0030
   1224 0014aa: 1a02 7300                              |0007: const-string v2, "helperMethodTest9 in " // string@0073
   1225 0014ae: 6e20 3600 2100                         |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0036
   1226 0014b4: 0c01                                   |000c: move-result-object v1
   1227 0014b6: 1c02 0700                              |000d: const-class v2, Linvokecustom/InvokeCustom; // type@0007
   1228 0014ba: 6e20 3500 2100                         |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@0035
   1229 0014c0: 0c01                                   |0012: move-result-object v1
   1230 0014c2: 6e10 3700 0100                         |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0037
   1231 0014c8: 0c01                                   |0016: move-result-object v1
   1232 0014ca: 6e20 2900 1000                         |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
   1233 0014d0: 0e00                                   |001a: return-void
   1234       catches       : (none)
   1235       positions     : 
   1236         0x0000 line=129
   1237         0x001a line=130
   1238       locals        : 
   1239         0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom; 
   1240 
   1241     #1              : (in Linvokecustom/InvokeCustom;)
   1242       name          : 'run'
   1243       type          : '()V'
   1244       access        : 0x0001 (PUBLIC)
   1245       code          -
   1246       registers     : 3
   1247       ins           : 1
   1248       outs          : 2
   1249       insns size    : 8 16-bit code units
   1250 0014d4:                                        |[0014d4] invokecustom.InvokeCustom.run:()V
   1251 0014e4: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
   1252 0014e8: 1a01 8200                              |0002: const-string v1, "run() for Test9" // string@0082
   1253 0014ec: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
   1254 0014f2: 0e00                                   |0007: return-void
   1255       catches       : (none)
   1256       positions     : 
   1257         0x0000 line=137
   1258         0x0007 line=138
   1259       locals        : 
   1260         0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom; 
   1261 
   1262     #2              : (in Linvokecustom/InvokeCustom;)
   1263       name          : 'targetMethodTest4'
   1264       type          : '()V'
   1265       access        : 0x0001 (PUBLIC)
   1266       code          -
   1267       registers     : 3
   1268       ins           : 1
   1269       outs          : 2
   1270       insns size    : 8 16-bit code units
   1271 0014f4:                                        |[0014f4] invokecustom.InvokeCustom.targetMethodTest4:()V
   1272 001504: 6200 0200                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
   1273 001508: 1a01 8a00                              |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@008a
   1274 00150c: 6e20 2900 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0029
   1275 001512: 0e00                                   |0007: return-void
   1276       catches       : (none)
   1277       positions     : 
   1278         0x0000 line=68
   1279         0x0007 line=69
   1280       locals        : 
   1281         0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom; 
   1282 
   1283   source_file_idx   : 27 (InvokeCustom.java)
   1284 
   1285 Method handle #0:
   1286   type        : put-static
   1287   target      : Linvokecustom/InvokeCustom; staticFieldTest9
   1288   target_type : I
   1289 Method handle #1:
   1290   type        : get-static
   1291   target      : Linvokecustom/InvokeCustom; staticFieldTest9
   1292   target_type : I
   1293 Method handle #2:
   1294   type        : put-instance
   1295   target      : Linvokecustom/InvokeCustom; fieldTest9
   1296   target_type : (Linvokecustom/InvokeCustom;
   1297 Method handle #3:
   1298   type        : get-instance
   1299   target      : Linvokecustom/InvokeCustom; fieldTest9
   1300   target_type : (Linvokecustom/InvokeCustom;
   1301 Method handle #4:
   1302   type        : invoke-static
   1303   target      : Linvokecustom/InvokeCustom; bsmCreateCallSite
   1304   target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
   1305 Method handle #5:
   1306   type        : invoke-static
   1307   target      : Linvokecustom/InvokeCustom; bsmLookupStatic
   1308   target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
   1309 Method handle #6:
   1310   type        : invoke-static
   1311   target      : Linvokecustom/InvokeCustom; bsmLookupStaticWithExtraArgs
   1312   target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
   1313 Method handle #7:
   1314   type        : invoke-static
   1315   target      : Linvokecustom/InvokeCustom; bsmLookupTest9
   1316   target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
   1317 Method handle #8:
   1318   type        : invoke-static
   1319   target      : Linvokecustom/InvokeCustom; lambda$lambdaTest$0
   1320   target_type : (Ljava/lang/String;)Z
   1321 Method handle #9:
   1322   type        : invoke-static
   1323   target      : Ljava/lang/invoke/LambdaMetafactory; metafactory
   1324   target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
   1325 Method handle #10:
   1326   type        : invoke-instance
   1327   target      : Linvokecustom/InvokeCustom; helperMethodTest9
   1328   target_type : (Linvokecustom/InvokeCustom;)V
   1329 Method handle #11:
   1330   type        : invoke-instance
   1331   target      : Ljava/io/PrintStream; println
   1332   target_type : (Ljava/io/PrintStream;Ljava/lang/String;)V
   1333 Method handle #12:
   1334   type        : invoke-instance
   1335   target      : Ljava/lang/String; trim
   1336   target_type : (Ljava/lang/String;)Ljava/lang/String;
   1337 Method handle #13:
   1338   type        : invoke-constructor
   1339   target      : Linvokecustom/InvokeCustom; <init>
   1340   target_type : (Linvokecustom/InvokeCustom;I)V
   1341 Method handle #14:
   1342   type        : invoke-direct
   1343   target      : Linvokecustom/Super; targetMethodTest4
   1344   target_type : (Linvokecustom/Super;)V
   1345 Method handle #15:
   1346   type        : invoke-interface
   1347   target      : Ljava/lang/Runnable; run
   1348   target_type : (Ljava/lang/Runnable;)V
   1349 Call site #0: // offset 8450
   1350   link_argument[0] : 9 (MethodHandle)
   1351   link_argument[1] : test (String)
   1352   link_argument[2] : ()Ljava/util/function/Predicate; (MethodType)
   1353   link_argument[3] : (Ljava/lang/Object;)Z (MethodType)
   1354   link_argument[4] : 8 (MethodHandle)
   1355   link_argument[5] : (Ljava/lang/String;)Z (MethodType)
   1356 Call site #1: // offset 8463
   1357   link_argument[0] : 9 (MethodHandle)
   1358   link_argument[1] : apply (String)
   1359   link_argument[2] : ()Ljava/util/function/Function; (MethodType)
   1360   link_argument[3] : (Ljava/lang/Object;)Ljava/lang/Object; (MethodType)
   1361   link_argument[4] : 12 (MethodHandle)
   1362   link_argument[5] : (Ljava/lang/String;)Ljava/lang/String; (MethodType)
   1363 Call site #2: // offset 8476
   1364   link_argument[0] : 9 (MethodHandle)
   1365   link_argument[1] : accept (String)
   1366   link_argument[2] : (Ljava/io/PrintStream;)Ljava/util/function/Consumer; (MethodType)
   1367   link_argument[3] : (Ljava/lang/Object;)V (MethodType)
   1368   link_argument[4] : 11 (MethodHandle)
   1369   link_argument[5] : (Ljava/lang/String;)V (MethodType)
   1370 Call site #3: // offset 8489
   1371   link_argument[0] : 5 (MethodHandle)
   1372   link_argument[1] : targetMethodTest1 (String)
   1373   link_argument[2] : ()V (MethodType)
   1374 Call site #4: // offset 8496
   1375   link_argument[0] : 5 (MethodHandle)
   1376   link_argument[1] : targetMethodTest2 (String)
   1377   link_argument[2] : (ZBCSIFJDLjava/lang/String;)V (MethodType)
   1378 Call site #5: // offset 8503
   1379   link_argument[0] : 5 (MethodHandle)
   1380   link_argument[1] : targetMethodTest5 (String)
   1381   link_argument[2] : (III)I (MethodType)
   1382 Call site #6: // offset 8510
   1383   link_argument[0] : 5 (MethodHandle)
   1384   link_argument[1] : targetMethodTest6 (String)
   1385   link_argument[2] : (JJJ)J (MethodType)
   1386 Call site #7: // offset 8517
   1387   link_argument[0] : 5 (MethodHandle)
   1388   link_argument[1] : targetMethodTest7 (String)
   1389   link_argument[2] : (FFD)D (MethodType)
   1390 Call site #8: // offset 8524
   1391   link_argument[0] : 5 (MethodHandle)
   1392   link_argument[1] : targetMethodTest8 (String)
   1393   link_argument[2] : (Ljava/lang/String;)V (MethodType)
   1394 Call site #9: // offset 8524
   1395   link_argument[0] : 5 (MethodHandle)
   1396   link_argument[1] : targetMethodTest8 (String)
   1397   link_argument[2] : (Ljava/lang/String;)V (MethodType)
   1398 Call site #10: // offset 8524
   1399   link_argument[0] : 5 (MethodHandle)
   1400   link_argument[1] : targetMethodTest8 (String)
   1401   link_argument[2] : (Ljava/lang/String;)V (MethodType)
   1402 Call site #11: // offset 8531
   1403   link_argument[0] : 6 (MethodHandle)
   1404   link_argument[1] : targetMethodTest3 (String)
   1405   link_argument[2] : ()V (MethodType)
   1406   link_argument[3] : 1 (int)
   1407   link_argument[4] : 123456789 (long)
   1408   link_argument[5] : 123.456 (float)
   1409   link_argument[6] : 123457 (double)
   1410 Call site #12: // offset 8559
   1411   link_argument[0] : 4 (MethodHandle)
   1412   link_argument[1] : targetMethodTest4 (String)
   1413   link_argument[2] : (Linvokecustom/InvokeCustom;)V (MethodType)
   1414   link_argument[3] : 14 (MethodHandle)
   1415 Call site #13: // offset 8568
   1416   link_argument[0] : 7 (MethodHandle)
   1417   link_argument[1] : targetMethodTest9 (String)
   1418   link_argument[2] : ()V (MethodType)
   1419   link_argument[3] : 1 (MethodHandle)
   1420   link_argument[4] : 0 (MethodHandle)
   1421   link_argument[5] : 3 (MethodHandle)
   1422   link_argument[6] : 2 (MethodHandle)
   1423   link_argument[7] : 10 (MethodHandle)
   1424   link_argument[8] : 13 (MethodHandle)
   1425   link_argument[9] : 15 (MethodHandle)
   1426