Processing 'invoke-custom.dex'...
Opened 'invoke-custom.dex', DEX version '038'
DEX file header:
magic               : 'dex\n038\0'
checksum            : dc722174
signature           : b59a...f803
file_size           : 31732
header_size         : 112
link_size           : 0
link_off            : 0 (0x000000)
string_ids_size     : 478
string_ids_off      : 112 (0x000070)
type_ids_size       : 77
type_ids_off        : 2024 (0x0007e8)
proto_ids_size      : 91
proto_ids_off       : 2332 (0x00091c)
field_ids_size      : 21
field_ids_off       : 3424 (0x000d60)
method_ids_size     : 243
method_ids_off      : 3592 (0x000e08)
class_defs_size     : 14
class_defs_off      : 5536 (0x0015a0)
data_size           : 25332
data_off            : 6400 (0x001900)

Class #0 header:
class_idx           : 7
access_flags        : 0 (0x0000)
superclass_idx      : 52
interfaces_off      : 0 (0x000000)
source_file_idx     : 144
annotations_off     : 30700 (0x0077ec)
class_data_off      : 28922 (0x0070fa)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 1
virtual_methods_size: 0

Class #0 annotations:
Annotations on class
  VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestBadBootstrapArguments;
  VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name="TestersConstantCallSite"

Class #0            -
  Class descriptor  : 'LTestBadBootstrapArguments$TestersConstantCallSite;'
  Access flags      : 0x0000 ()
  Superclass        : 'Ljava/lang/invoke/ConstantCallSite;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LTestBadBootstrapArguments$TestersConstantCallSite;)
      name          : '<init>'
      type          : '(Ljava/lang/invoke/MethodHandle;)V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 8
      code          -
      registers     : 2
      ins           : 2
      outs          : 2
      insns size    : 4 16-bit code units
001b18:                                        |[001b18] TestBadBootstrapArguments$TestersConstantCallSite.<init>:(Ljava/lang/invoke/MethodHandle;)V
001b28: 7020 d200 1000                         |0000: invoke-direct {v0, v1}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
001b2e: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=449
        0x0003 line=450
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestBadBootstrapArguments$TestersConstantCallSite; 
        0x0000 - 0x0004 reg=1 mh Ljava/lang/invoke/MethodHandle; 

  Virtual methods   -
  source_file_idx   : 144 (TestBadBootstrapArguments.java)

Class #1 header:
class_idx           : 9
access_flags        : 1024 (0x0400)
superclass_idx      : 42
interfaces_off      : 0 (0x000000)
source_file_idx     : 145
annotations_off     : 0 (0x000000)
class_data_off      : 28932 (0x007104)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 13
virtual_methods_size: 0

Class #1            -
  Class descriptor  : 'LTestBase;'
  Access flags      : 0x0400 (ABSTRACT)
  Superclass        : 'Ljava/lang/Object;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LTestBase;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10000 (CONSTRUCTOR)
      method_idx    : 50
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
002544:                                        |[002544] TestBase.<init>:()V
002554: 7010 bf00 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf
00255a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=19
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestBase; 

    #1              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(BB)V'
      access        : 0x0008 (STATIC)
      method_idx    : 51
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 34 16-bit code units
00255c:                                        |[00255c] TestBase.assertEquals:(BB)V
00256c: 3343 0300                              |0000: if-ne v3, v4, 0003 // +0003
002570: 0e00                                   |0002: return-void
002572: 2200 1e00                              |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e
002576: 2201 2d00                              |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d
00257a: 7010 c100 0100                         |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
002580: 1a02 d300                              |000a: const-string v2, "assertEquals b1: " // string@00d3
002584: 6e20 c800 2100                         |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00258a: 6e20 c500 3100                         |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
002590: 1a02 0d00                              |0012: const-string v2, ", b2: " // string@000d
002594: 6e20 c800 2100                         |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00259a: 6e20 c500 4100                         |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0025a0: 6e10 ca00 0100                         |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0025a6: 0c01                                   |001d: move-result-object v1
0025a8: 7020 b500 1000                         |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
0025ae: 2700                                   |0021: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=27
        0x0002 line=28
        0x0003 line=30
      locals        : 
        0x0000 - 0x0022 reg=3 b1 B 
        0x0000 - 0x0022 reg=4 b2 B 

    #2              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(CC)V'
      access        : 0x0008 (STATIC)
      method_idx    : 52
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 34 16-bit code units
0025b0:                                        |[0025b0] TestBase.assertEquals:(CC)V
0025c0: 3343 0300                              |0000: if-ne v3, v4, 0003 // +0003
0025c4: 0e00                                   |0002: return-void
0025c6: 2200 1e00                              |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e
0025ca: 2201 2d00                              |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d
0025ce: 7010 c100 0100                         |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
0025d4: 1a02 d400                              |000a: const-string v2, "assertEquals c1: " // string@00d4
0025d8: 6e20 c800 2100                         |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0025de: 6e20 c200 3100                         |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@00c2
0025e4: 1a02 0e00                              |0012: const-string v2, ", c2: " // string@000e
0025e8: 6e20 c800 2100                         |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0025ee: 6e20 c200 4100                         |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(C)Ljava/lang/StringBuilder; // method@00c2
0025f4: 6e10 ca00 0100                         |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0025fa: 0c01                                   |001d: move-result-object v1
0025fc: 7020 b500 1000                         |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
002602: 2700                                   |0021: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=34
        0x0002 line=35
        0x0003 line=37
      locals        : 
        0x0000 - 0x0022 reg=3 c1 C 
        0x0000 - 0x0022 reg=4 c2 C 

    #3              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(DD)V'
      access        : 0x0008 (STATIC)
      method_idx    : 53
      code          -
      registers     : 7
      ins           : 4
      outs          : 3
      insns size    : 36 16-bit code units
002604:                                        |[002604] TestBase.assertEquals:(DD)V
002614: 2f00 0305                              |0000: cmpl-double v0, v3, v5
002618: 3900 0300                              |0002: if-nez v0, 0005 // +0003
00261c: 0e00                                   |0004: return-void
00261e: 2200 1e00                              |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e
002622: 2201 2d00                              |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d
002626: 7010 c100 0100                         |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
00262c: 1a02 d500                              |000c: const-string v2, "assertEquals d1: " // string@00d5
002630: 6e20 c800 2100                         |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002636: 6e30 c300 3104                         |0011: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00c3
00263c: 1a02 0f00                              |0014: const-string v2, ", d2: " // string@000f
002640: 6e20 c800 2100                         |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002646: 6e30 c300 5106                         |0019: invoke-virtual {v1, v5, v6}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00c3
00264c: 6e10 ca00 0100                         |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
002652: 0c01                                   |001f: move-result-object v1
002654: 7020 b500 1000                         |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
00265a: 2700                                   |0023: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=69
        0x0004 line=70
        0x0005 line=72
      locals        : 
        0x0000 - 0x0024 reg=3 d1 D 
        0x0000 - 0x0024 reg=5 d2 D 

    #4              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(FF)V'
      access        : 0x0008 (STATIC)
      method_idx    : 54
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 36 16-bit code units
00265c:                                        |[00265c] TestBase.assertEquals:(FF)V
00266c: 2d00 0304                              |0000: cmpl-float v0, v3, v4
002670: 3900 0300                              |0002: if-nez v0, 0005 // +0003
002674: 0e00                                   |0004: return-void
002676: 2200 1e00                              |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e
00267a: 2201 2d00                              |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d
00267e: 7010 c100 0100                         |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
002684: 1a02 d600                              |000c: const-string v2, "assertEquals f1: " // string@00d6
002688: 6e20 c800 2100                         |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00268e: 6e20 c400 3100                         |0011: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00c4
002694: 1a02 1000                              |0014: const-string v2, ", f2: " // string@0010
002698: 6e20 c800 2100                         |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00269e: 6e20 c400 4100                         |0019: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00c4
0026a4: 6e10 ca00 0100                         |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0026aa: 0c01                                   |001f: move-result-object v1
0026ac: 7020 b500 1000                         |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
0026b2: 2700                                   |0023: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=62
        0x0004 line=63
        0x0005 line=65
      locals        : 
        0x0000 - 0x0024 reg=3 f1 F 
        0x0000 - 0x0024 reg=4 f2 F 

    #5              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(II)V'
      access        : 0x0008 (STATIC)
      method_idx    : 55
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 34 16-bit code units
0026b4:                                        |[0026b4] TestBase.assertEquals:(II)V
0026c4: 3343 0300                              |0000: if-ne v3, v4, 0003 // +0003
0026c8: 0e00                                   |0002: return-void
0026ca: 2200 1e00                              |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e
0026ce: 2201 2d00                              |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d
0026d2: 7010 c100 0100                         |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
0026d8: 1a02 d700                              |000a: const-string v2, "assertEquals i1: " // string@00d7
0026dc: 6e20 c800 2100                         |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0026e2: 6e20 c500 3100                         |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0026e8: 1a02 1100                              |0012: const-string v2, ", i2: " // string@0011
0026ec: 6e20 c800 2100                         |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0026f2: 6e20 c500 4100                         |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0026f8: 6e10 ca00 0100                         |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0026fe: 0c01                                   |001d: move-result-object v1
002700: 7020 b500 1000                         |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
002706: 2700                                   |0021: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=48
        0x0002 line=49
        0x0003 line=51
      locals        : 
        0x0000 - 0x0022 reg=3 i1 I 
        0x0000 - 0x0022 reg=4 i2 I 

    #6              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(JJ)V'
      access        : 0x0008 (STATIC)
      method_idx    : 56
      code          -
      registers     : 7
      ins           : 4
      outs          : 3
      insns size    : 36 16-bit code units
002764:                                        |[002764] TestBase.assertEquals:(JJ)V
002774: 3100 0305                              |0000: cmp-long v0, v3, v5
002778: 3900 0300                              |0002: if-nez v0, 0005 // +0003
00277c: 0e00                                   |0004: return-void
00277e: 2200 1e00                              |0005: new-instance v0, Ljava/lang/AssertionError; // type@001e
002782: 2201 2d00                              |0007: new-instance v1, Ljava/lang/StringBuilder; // type@002d
002786: 7010 c100 0100                         |0009: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
00278c: 1a02 d800                              |000c: const-string v2, "assertEquals l1: " // string@00d8
002790: 6e20 c800 2100                         |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002796: 6e30 c600 3104                         |0011: invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6
00279c: 1a02 1200                              |0014: const-string v2, ", l2: " // string@0012
0027a0: 6e20 c800 2100                         |0016: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0027a6: 6e30 c600 5106                         |0019: invoke-virtual {v1, v5, v6}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6
0027ac: 6e10 ca00 0100                         |001c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0027b2: 0c01                                   |001f: move-result-object v1
0027b4: 7020 b500 1000                         |0020: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
0027ba: 2700                                   |0023: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=55
        0x0004 line=56
        0x0005 line=58
      locals        : 
        0x0000 - 0x0024 reg=3 l1 J 
        0x0000 - 0x0024 reg=5 l2 J 

    #7              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(Ljava/lang/Object;Ljava/lang/Object;)V'
      access        : 0x0008 (STATIC)
      method_idx    : 57
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 38 16-bit code units
002708:                                        |[002708] TestBase.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
002718: 7120 ec00 4300                         |0000: invoke-static {v3, v4}, Ljava/util/Objects;.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z // method@00ec
00271e: 0a00                                   |0003: move-result v0
002720: 3800 0300                              |0004: if-eqz v0, 0007 // +0003
002724: 0e00                                   |0006: return-void
002726: 2200 1e00                              |0007: new-instance v0, Ljava/lang/AssertionError; // type@001e
00272a: 2201 2d00                              |0009: new-instance v1, Ljava/lang/StringBuilder; // type@002d
00272e: 7010 c100 0100                         |000b: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
002734: 1a02 da00                              |000e: const-string v2, "assertEquals: o1: " // string@00da
002738: 6e20 c800 2100                         |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00273e: 6e20 c700 3100                         |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7
002744: 1a02 1300                              |0016: const-string v2, ", o2: " // string@0013
002748: 6e20 c800 2100                         |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00274e: 6e20 c700 4100                         |001b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7
002754: 6e10 ca00 0100                         |001e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
00275a: 0c01                                   |0021: move-result-object v1
00275c: 7020 b500 1000                         |0022: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
002762: 2700                                   |0025: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=76
        0x0006 line=79
        0x0007 line=77
      locals        : 
        0x0000 - 0x0026 reg=3 o Ljava/lang/Object; 
        0x0000 - 0x0026 reg=4 p Ljava/lang/Object; 

    #8              : (in LTestBase;)
      name          : 'assertEquals'
      type          : '(SS)V'
      access        : 0x0008 (STATIC)
      method_idx    : 58
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 34 16-bit code units
0027bc:                                        |[0027bc] TestBase.assertEquals:(SS)V
0027cc: 3343 0300                              |0000: if-ne v3, v4, 0003 // +0003
0027d0: 0e00                                   |0002: return-void
0027d2: 2200 1e00                              |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e
0027d6: 2201 2d00                              |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d
0027da: 7010 c100 0100                         |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
0027e0: 1a02 d900                              |000a: const-string v2, "assertEquals s1: " // string@00d9
0027e4: 6e20 c800 2100                         |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0027ea: 6e20 c500 3100                         |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0027f0: 1a02 1400                              |0012: const-string v2, ", s2: " // string@0014
0027f4: 6e20 c800 2100                         |0014: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0027fa: 6e20 c500 4100                         |0017: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
002800: 6e10 ca00 0100                         |001a: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
002806: 0c01                                   |001d: move-result-object v1
002808: 7020 b500 1000                         |001e: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
00280e: 2700                                   |0021: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=41
        0x0002 line=42
        0x0003 line=44
      locals        : 
        0x0000 - 0x0022 reg=3 s1 S 
        0x0000 - 0x0022 reg=4 s2 S 

    #9              : (in LTestBase;)
      name          : 'assertNotEquals'
      type          : '(Ljava/lang/Object;Ljava/lang/Object;)V'
      access        : 0x0008 (STATIC)
      method_idx    : 59
      code          -
      registers     : 5
      ins           : 2
      outs          : 2
      insns size    : 38 16-bit code units
002810:                                        |[002810] TestBase.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
002820: 7120 ec00 4300                         |0000: invoke-static {v3, v4}, Ljava/util/Objects;.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z // method@00ec
002826: 0a00                                   |0003: move-result v0
002828: 3900 0300                              |0004: if-nez v0, 0007 // +0003
00282c: 0e00                                   |0006: return-void
00282e: 2200 1e00                              |0007: new-instance v0, Ljava/lang/AssertionError; // type@001e
002832: 2201 2d00                              |0009: new-instance v1, Ljava/lang/StringBuilder; // type@002d
002836: 7010 c100 0100                         |000b: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
00283c: 1a02 dc00                              |000e: const-string v2, "assertNotEquals: o1: " // string@00dc
002840: 6e20 c800 2100                         |0010: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002846: 6e20 c700 3100                         |0013: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7
00284c: 1a02 1300                              |0016: const-string v2, ", o2: " // string@0013
002850: 6e20 c800 2100                         |0018: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002856: 6e20 c700 4100                         |001b: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7
00285c: 6e10 ca00 0100                         |001e: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
002862: 0c01                                   |0021: move-result-object v1
002864: 7020 b500 1000                         |0022: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
00286a: 2700                                   |0025: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=82
        0x0006 line=85
        0x0007 line=83
      locals        : 
        0x0000 - 0x0026 reg=3 o Ljava/lang/Object; 
        0x0000 - 0x0026 reg=4 p Ljava/lang/Object; 

    #10              : (in LTestBase;)
      name          : 'assertNotReached'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 60
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
00286c:                                        |[00286c] TestBase.assertNotReached:()V
00287c: 2200 1e00                              |0000: new-instance v0, Ljava/lang/AssertionError; // type@001e
002880: 1a01 a300                              |0002: const-string v1, "Unreachable" // string@00a3
002884: 7020 b500 1000                         |0004: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
00288a: 2700                                   |0007: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=88
      locals        : 

    #11              : (in LTestBase;)
      name          : 'assertTrue'
      type          : '(Z)V'
      access        : 0x0008 (STATIC)
      method_idx    : 61
      code          -
      registers     : 4
      ins           : 1
      outs          : 2
      insns size    : 26 16-bit code units
00288c:                                        |[00288c] TestBase.assertTrue:(Z)V
00289c: 3803 0300                              |0000: if-eqz v3, 0003 // +0003
0028a0: 0e00                                   |0002: return-void
0028a2: 2200 1e00                              |0003: new-instance v0, Ljava/lang/AssertionError; // type@001e
0028a6: 2201 2d00                              |0005: new-instance v1, Ljava/lang/StringBuilder; // type@002d
0028aa: 7010 c100 0100                         |0007: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
0028b0: 1a02 df00                              |000a: const-string v2, "assertTrue value: " // string@00df
0028b4: 6e20 c800 2100                         |000c: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0028ba: 6e20 c900 3100                         |000f: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Z)Ljava/lang/StringBuilder; // method@00c9
0028c0: 6e10 ca00 0100                         |0012: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0028c6: 0c01                                   |0015: move-result-object v1
0028c8: 7020 b500 1000                         |0016: invoke-direct {v0, v1}, Ljava/lang/AssertionError;.<init>:(Ljava/lang/Object;)V // method@00b5
0028ce: 2700                                   |0019: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=21
        0x0002 line=24
        0x0003 line=22
      locals        : 
        0x0000 - 0x001a reg=3 value Z 

    #12              : (in LTestBase;)
      name          : 'fail'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 62
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 11 16-bit code units
0028d0:                                        |[0028d0] TestBase.fail:()V
0028e0: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0028e4: 1a01 2601                              |0002: const-string v1, "fail" // string@0126
0028e8: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0028ee: 7100 cc00 0000                         |0007: invoke-static {}, Ljava/lang/Thread;.dumpStack:()V // method@00cc
0028f4: 0e00                                   |000a: return-void
      catches       : (none)
      positions     : 
        0x0000 line=92
        0x0007 line=93
        0x000a line=94
      locals        : 

  Virtual methods   -
  source_file_idx   : 145 (TestBase.java)

Class #2 header:
class_idx           : 11
access_flags        : 0 (0x0000)
superclass_idx      : 42
interfaces_off      : 0 (0x000000)
source_file_idx     : 148
annotations_off     : 30716 (0x0077fc)
class_data_off      : 28990 (0x00713e)
static_fields_size  : 0
instance_fields_size: 1
direct_methods_size : 1
virtual_methods_size: 0

Class #2 annotations:
Annotations on class
  VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestInvocationKinds;
  VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=8 name="Widget"

Class #2            -
  Class descriptor  : 'LTestInvocationKinds$Widget;'
  Access flags      : 0x0000 ()
  Superclass        : 'Ljava/lang/Object;'
  Interfaces        -
  Static fields     -
  Instance fields   -
    #0              : (in LTestInvocationKinds$Widget;)
      name          : 'value'
      type          : 'I'
      access        : 0x0000 ()
  Direct methods    -
    #0              : (in LTestInvocationKinds$Widget;)
      name          : '<init>'
      type          : '(I)V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 72
      code          -
      registers     : 2
      ins           : 2
      outs          : 1
      insns size    : 4 16-bit code units
002abc:                                        |[002abc] TestInvocationKinds$Widget.<init>:(I)V
002acc: 7010 bf00 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf
002ad2: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=177
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestInvocationKinds$Widget; 
        0x0000 - 0x0004 reg=1 value I 

  Virtual methods   -
  source_file_idx   : 148 (TestInvocationKinds.java)

Class #3 header:
class_idx           : 13
access_flags        : 0 (0x0000)
superclass_idx      : 48
interfaces_off      : 0 (0x000000)
source_file_idx     : 149
annotations_off     : 30732 (0x00780c)
class_data_off      : 29002 (0x00714a)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 1
virtual_methods_size: 2

Class #3 annotations:
Annotations on class
  VISIBILITY_SYSTEM Ldalvik/annotation/EnclosingClass; value=LTestInvokeCustomWithConcurrentThreads;
  VISIBILITY_SYSTEM Ldalvik/annotation/InnerClass; accessFlags=0 name=null
  VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/ThreadLocal<" "Ljava/lang/Integer;" ">;" }

Class #3            -
  Class descriptor  : 'LTestInvokeCustomWithConcurrentThreads$1;'
  Access flags      : 0x0000 ()
  Superclass        : 'Ljava/lang/ThreadLocal;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LTestInvokeCustomWithConcurrentThreads$1;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10000 (CONSTRUCTOR)
      method_idx    : 96
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
002ee8:                                        |[002ee8] TestInvokeCustomWithConcurrentThreads$1.<init>:()V
002ef8: 7010 cf00 0000                         |0000: invoke-direct {v0}, Ljava/lang/ThreadLocal;.<init>:()V // method@00cf
002efe: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=33
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestInvokeCustomWithConcurrentThreads$1; 

  Virtual methods   -
    #0              : (in LTestInvokeCustomWithConcurrentThreads$1;)
      name          : 'initialValue'
      type          : '()Ljava/lang/Integer;'
      access        : 0x0004 (PROTECTED)
      method_idx    : 97
      code          -
      registers     : 2
      ins           : 1
      outs          : 1
      insns size    : 13 16-bit code units
002ea0:                                        |[002ea0] TestInvokeCustomWithConcurrentThreads$1.initialValue:()Ljava/lang/Integer;
002eb0: 7100 6500 0000                         |0000: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.access$000:()Ljava/util/concurrent/atomic/AtomicInteger; // method@0065
002eb6: 0c00                                   |0003: move-result-object v0
002eb8: 6e10 f100 0000                         |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@00f1
002ebe: 0a00                                   |0007: move-result v0
002ec0: 7110 bd00 0000                         |0008: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
002ec6: 0c00                                   |000b: move-result-object v0
002ec8: 1100                                   |000c: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=36
      locals        : 
        0x0000 - 0x000d reg=1 this LTestInvokeCustomWithConcurrentThreads$1; 

    #1              : (in LTestInvokeCustomWithConcurrentThreads$1;)
      name          : 'initialValue'
      type          : '()Ljava/lang/Object;'
      access        : 0x1044 (PROTECTED BRIDGE SYNTHETIC)
      method_idx    : 98
      code          -
      registers     : 2
      ins           : 1
      outs          : 1
      insns size    : 5 16-bit code units
002ecc:                                        |[002ecc] TestInvokeCustomWithConcurrentThreads$1.initialValue:()Ljava/lang/Object;
002edc: 6e10 6100 0100                         |0000: invoke-virtual {v1}, LTestInvokeCustomWithConcurrentThreads$1;.initialValue:()Ljava/lang/Integer; // method@0061
002ee2: 0c00                                   |0003: move-result-object v0
002ee4: 1100                                   |0004: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=33
      locals        : 
        0x0000 - 0x0005 reg=1 this LTestInvokeCustomWithConcurrentThreads$1; 

  source_file_idx   : 149 (TestInvokeCustomWithConcurrentThreads.java)

Class #4 header:
class_idx           : 19
access_flags        : 0 (0x0000)
superclass_idx      : 42
interfaces_off      : 0 (0x000000)
source_file_idx     : 164
annotations_off     : 30748 (0x00781c)
class_data_off      : 29021 (0x00715d)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 2
virtual_methods_size: 0

Class #4 annotations:
Annotations on method #170 'bsm'
  VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "Ljava/lang/Class<" "*>;)" "Ljava/lang/invoke/CallSite;" }
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }

Class #4            -
  Class descriptor  : 'LUnrelatedBSM;'
  Access flags      : 0x0000 ()
  Superclass        : 'Ljava/lang/Object;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LUnrelatedBSM;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10000 (CONSTRUCTOR)
      method_idx    : 169
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
003fc8:                                        |[003fc8] UnrelatedBSM.<init>:()V
003fd8: 7010 bf00 0000                         |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf
003fde: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=23
      locals        : 
        0x0000 - 0x0004 reg=0 this LUnrelatedBSM; 

    #1              : (in LUnrelatedBSM;)
      name          : 'bsm'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 170
      code          -
      registers     : 6
      ins           : 4
      outs          : 4
      insns size    : 10 16-bit code units
003fa4:                                        |[003fa4] UnrelatedBSM.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;
003fb4: 6e40 d800 5243                         |0000: invoke-virtual {v2, v5, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003fba: 0c00                                   |0003: move-result-object v0
003fbc: 2201 3400                              |0004: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
003fc0: 7020 d200 0100                         |0006: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003fc6: 1101                                   |0009: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=27
        0x0004 line=28
      locals        : 
        0x0000 - 0x0000 reg=5 (null) Ljava/lang/Class; 
        0x0004 - 0x000a reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x000a reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x000a reg=3 name Ljava/lang/String; 
        0x0000 - 0x000a reg=4 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x000a reg=5 target Ljava/lang/Class; Ljava/lang/Class<*>;

  Virtual methods   -
  source_file_idx   : 164 (UnrelatedBSM.java)

Class #5 header:
class_idx           : 6
access_flags        : 1 (0x0001)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 136
annotations_off     : 30772 (0x007834)
class_data_off      : 29036 (0x00716c)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 5
virtual_methods_size: 0

Class #5 annotations:
Annotations on method #1 'TestLinkerMethodMinimalArguments'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #2 'TestLinkerMethodMultipleArgumentTypes'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #3 'TestUninitializedCallSite'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #7 'main'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }

Class #5            -
  Class descriptor  : 'LMain;'
  Access flags      : 0x0001 (PUBLIC)
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LMain;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 0
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
001900:                                        |[001900] Main.<init>:()V
001910: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
001916: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=21
      locals        : 
        0x0000 - 0x0004 reg=0 this LMain; 

    #1              : (in LMain;)
      name          : 'TestLinkerMethodMinimalArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 1
      code          -
      registers     : 4
      ins           : 0
      outs          : 3
      insns size    : 66 16-bit code units
001918:                                        |[001918] Main.TestLinkerMethodMinimalArguments:()V
001928: 1210                                   |0000: const/4 v0, #int 1 // #1
00192a: 1301 0a00                              |0001: const/16 v1, #int 10 // #a
00192e: 7130 7700 1001                         |0003: invoke-static {v0, v1, v1}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077
001934: 7100 0500 0000                         |0006: invoke-static {}, LMain;.assertNotReached:()V // method@0005
00193a: 280f                                   |0009: goto 0018 // +000f
00193c: 0d00                                   |000a: move-exception v0
00193e: 6e10 b600 0000                         |000b: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
001944: 0c02                                   |000e: move-result-object v2
001946: 6e10 c000 0200                         |000f: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00194c: 0c02                                   |0012: move-result-object v2
00194e: 1c03 2200                              |0013: const-class v3, Ljava/lang/ClassCastException; // type@0022
001952: 7120 0400 3200                         |0015: invoke-static {v2, v3}, LMain;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0004
001958: 1220                                   |0018: const/4 v0, #int 2 // #2
00195a: 1302 0b00                              |0019: const/16 v2, #int 11 // #b
00195e: 7130 7700 1002                         |001b: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077
001964: 7100 0500 0000                         |001e: invoke-static {}, LMain;.assertNotReached:()V // method@0005
00196a: 280f                                   |0021: goto 0030 // +000f
00196c: 0d00                                   |0022: move-exception v0
00196e: 6e10 b600 0000                         |0023: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
001974: 0c02                                   |0026: move-result-object v2
001976: 6e10 c000 0200                         |0027: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00197c: 0c02                                   |002a: move-result-object v2
00197e: 1c03 2600                              |002b: const-class v3, Ljava/lang/InstantiationException; // type@0026
001982: 7120 0400 3200                         |002d: invoke-static {v2, v3}, LMain;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0004
001988: 1230                                   |0030: const/4 v0, #int 3 // #3
00198a: 1302 0c00                              |0031: const/16 v2, #int 12 // #c
00198e: 7130 7700 1002                         |0033: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077
001994: 7100 0500 0000                         |0036: invoke-static {}, LMain;.assertNotReached:()V // method@0005
00199a: 2802                                   |0039: goto 003b // +0002
00199c: 0d00                                   |003a: move-exception v0
00199e: 1200                                   |003b: const/4 v0, #int 0 // #0
0019a0: 1302 0d00                              |003c: const/16 v2, #int 13 // #d
0019a4: 7130 7700 1002                         |003e: invoke-static {v0, v1, v2}, LTestLinkerMethodMinimalArguments;.test:(III)V // method@0077
0019aa: 0e00                                   |0041: return-void
      catches       : 3
        0x0003 - 0x0009
          Ljava/lang/BootstrapMethodError; -> 0x000a
        0x001b - 0x0021
          Ljava/lang/BootstrapMethodError; -> 0x0022
        0x0033 - 0x0039
          Ljava/lang/ArithmeticException; -> 0x003a
      positions     : 
        0x0000 line=49
        0x0006 line=53
        0x0009 line=56
        0x000a line=54
        0x000b line=55
        0x0018 line=59
        0x001e line=61
        0x0021 line=64
        0x0022 line=62
        0x0023 line=63
        0x0030 line=67
        0x0036 line=69
        0x0039 line=71
        0x003a line=70
        0x003b line=73
        0x0041 line=75
      locals        : 
        0x000b - 0x0018 reg=0 e Ljava/lang/BootstrapMethodError; 
        0x0023 - 0x0030 reg=0 e Ljava/lang/BootstrapMethodError; 

    #2              : (in LMain;)
      name          : 'TestLinkerMethodMultipleArgumentTypes'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 2
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 22 16-bit code units
0019d0:                                        |[0019d0] Main.TestLinkerMethodMultipleArgumentTypes:()V
0019e0: 1300 2100                              |0000: const/16 v0, #int 33 // #21
0019e4: 1301 4300                              |0002: const/16 v1, #int 67 // #43
0019e8: 7120 8400 1000                         |0004: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084
0019ee: 1300 f0d8                              |0007: const/16 v0, #int -10000 // #d8f0
0019f2: 1301 e803                              |0009: const/16 v1, #int 1000 // #3e8
0019f6: 7120 8400 1000                         |000b: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084
0019fc: 1300 18fc                              |000e: const/16 v0, #int -1000 // #fc18
001a00: 1301 1027                              |0010: const/16 v1, #int 10000 // #2710
001a04: 7120 8400 1000                         |0012: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.test:(II)V // method@0084
001a0a: 0e00                                   |0015: return-void
      catches       : (none)
      positions     : 
        0x0000 line=42
        0x0007 line=43
        0x000e line=44
        0x0015 line=45
      locals        : 

    #3              : (in LMain;)
      name          : 'TestUninitializedCallSite'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 3
      code          -
      registers     : 7
      ins           : 0
      outs          : 3
      insns size    : 78 16-bit code units
001a0c:                                        |[001a0c] Main.TestUninitializedCallSite:()V
001a1c: 2200 3900                              |0000: new-instance v0, Ljava/lang/invoke/MutableCallSite; // type@0039
001a20: 6201 1200                              |0002: sget-object v1, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012
001a24: 7110 e100 0100                         |0004: invoke-static {v1}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00e1
001a2a: 0c01                                   |0007: move-result-object v1
001a2c: 7020 e600 1000                         |0008: invoke-direct {v0, v1}, Ljava/lang/invoke/MutableCallSite;.<init>:(Ljava/lang/invoke/MethodType;)V // method@00e6
001a32: 6e10 d100 0000                         |000b: invoke-virtual {v0}, Ljava/lang/invoke/CallSite;.getTarget:()Ljava/lang/invoke/MethodHandle; // method@00d1
001a38: 0c01                                   |000e: move-result-object v1
001a3a: fa10 d300 0100 4100                    |000f: invoke-polymorphic {v1}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, ()V // method@00d3, proto@0041
001a42: 7100 0600 0000                         |0013: invoke-static {}, LMain;.fail:()V // method@0006
001a48: 2809                                   |0016: goto 001f // +0009
001a4a: 0d01                                   |0017: move-exception v1
001a4c: 6202 1300                              |0018: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001a50: 1a03 2100                              |001a: const-string v3, "Caught exception from uninitialized call site" // string@0021
001a54: 6e20 b300 3200                         |001c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001a5a: 2201 3900                              |001f: new-instance v1, Ljava/lang/invoke/MutableCallSite; // type@0039
001a5e: 1c02 2c00                              |0021: const-class v2, Ljava/lang/String; // type@002c
001a62: 6203 1200                              |0023: sget-object v3, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012
001a66: 1214                                   |0025: const/4 v4, #int 1 // #1
001a68: 2344 4600                              |0026: new-array v4, v4, [Ljava/lang/Class; // type@0046
001a6c: 1205                                   |0028: const/4 v5, #int 0 // #0
001a6e: 6206 1100                              |0029: sget-object v6, Ljava/lang/Character;.TYPE:Ljava/lang/Class; // field@0011
001a72: 4d06 0405                              |002b: aput-object v6, v4, v5
001a76: 7130 e200 3204                         |002d: invoke-static {v2, v3, v4}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00e2
001a7c: 0c02                                   |0030: move-result-object v2
001a7e: 7020 e600 2100                         |0031: invoke-direct {v1, v2}, Ljava/lang/invoke/MutableCallSite;.<init>:(Ljava/lang/invoke/MethodType;)V // method@00e6
001a84: 0710                                   |0034: move-object v0, v1
001a86: 6e10 d100 0000                         |0035: invoke-virtual {v0}, Ljava/lang/invoke/CallSite;.getTarget:()Ljava/lang/invoke/MethodHandle; // method@00d1
001a8c: 0c01                                   |0038: move-result-object v1
001a8e: 1302 ff05                              |0039: const/16 v2, #int 1535 // #5ff
001a92: 1303 6400                              |003b: const/16 v3, #int 100 // #64
001a96: fa30 d300 2103 4800                    |003d: invoke-polymorphic {v1, v2, v3}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (IC)V // method@00d3, proto@0048
001a9e: 7100 0600 0000                         |0041: invoke-static {}, LMain;.fail:()V // method@0006
001aa4: 2809                                   |0044: goto 004d // +0009
001aa6: 0d01                                   |0045: move-exception v1
001aa8: 6202 1300                              |0046: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001aac: 1a03 2100                              |0048: const-string v3, "Caught exception from uninitialized call site" // string@0021
001ab0: 6e20 b300 3200                         |004a: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001ab6: 0e00                                   |004d: return-void
      catches       : 2
        0x000b - 0x0016
          Ljava/lang/IllegalStateException; -> 0x0017
        0x0035 - 0x0044
          Ljava/lang/IllegalStateException; -> 0x0045
      positions     : 
        0x0000 line=24
        0x000b line=26
        0x0013 line=27
        0x0016 line=30
        0x0017 line=28
        0x0018 line=29
        0x001f line=32
        0x0035 line=34
        0x0041 line=35
        0x0044 line=38
        0x0045 line=36
        0x0046 line=37
        0x004d line=39
      locals        : 
        0x0018 - 0x001f reg=1 e Ljava/lang/IllegalStateException; 
        0x0046 - 0x004d reg=1 e Ljava/lang/IllegalStateException; 
        0x000b - 0x004e reg=0 callSite Ljava/lang/invoke/CallSite; 

    #4              : (in LMain;)
      name          : 'main'
      type          : '([Ljava/lang/String;)V'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 7
      code          -
      registers     : 1
      ins           : 1
      outs          : 0
      insns size    : 28 16-bit code units
001ad0:                                        |[001ad0] Main.main:([Ljava/lang/String;)V
001ae0: 7100 0300 0000                         |0000: invoke-static {}, LMain;.TestUninitializedCallSite:()V // method@0003
001ae6: 7100 0100 0000                         |0003: invoke-static {}, LMain;.TestLinkerMethodMinimalArguments:()V // method@0001
001aec: 7100 0200 0000                         |0006: invoke-static {}, LMain;.TestLinkerMethodMultipleArgumentTypes:()V // method@0002
001af2: 7100 8c00 0000                         |0009: invoke-static {}, LTestLinkerUnrelatedBSM;.test:()V // method@008c
001af8: 7100 6e00 0000                         |000c: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.test:()V // method@006e
001afe: 7100 5b00 0000                         |000f: invoke-static {}, LTestInvocationKinds;.test:()V // method@005b
001b04: 7100 4500 0000                         |0012: invoke-static {}, LTestDynamicBootstrapArguments;.test:()V // method@0045
001b0a: 7100 2b00 0000                         |0015: invoke-static {}, LTestBadBootstrapArguments;.test:()V // method@002b
001b10: 7100 a800 0000                         |0018: invoke-static {}, LTestVariableArityLinkerMethod;.test:()V // method@00a8
001b16: 0e00                                   |001b: return-void
      catches       : (none)
      positions     : 
        0x0000 line=78
        0x0003 line=79
        0x0006 line=80
        0x0009 line=81
        0x000c line=82
        0x000f line=83
        0x0012 line=84
        0x0015 line=85
        0x0018 line=86
        0x001b line=87
      locals        : 
        0x0000 - 0x001c reg=0 args [Ljava/lang/String; 

  Virtual methods   -
  source_file_idx   : 136 (Main.java)

Class #6 header:
class_idx           : 8
access_flags        : 1 (0x0001)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 144
annotations_off     : 30820 (0x007864)
class_data_off      : 29062 (0x007186)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 38
virtual_methods_size: 0

Class #6 annotations:
Annotations on class
  VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ LTestBadBootstrapArguments$TestersConstantCallSite; }
Annotations on method #14 'bsm'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #15 'bsmDJ'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #16 'bsmDoubleLong'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #19 'bsmReturningTestersConstantCallsite'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #21 'bsmZBCS'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #25 'invokeBoxingArguments'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDoubleLong" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Double; Ljava/lang/Long; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; longValue={ 9223372036854775807 } } fieldOrMethodName="boxingArguments"
Annotations on method #26 'invokeExtraArguments'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 1 } Lannotations/Constant; stringValue={ "2" } Lannotations/Constant; intValue={ 3 } } fieldOrMethodName="extraArguments"
Annotations on method #27 'invokeHappy'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; stringValue={ "very" } } fieldOrMethodName="happy"
Annotations on method #28 'invokeIntegerReturnType'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningInteger" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=Ljava/lang/Integer; } fieldOrMethodName="integerReturnType"
Annotations on method #29 'invokeMissingParameterTypes'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I D } } constantArgumentsForBootstrapMethod={ } fieldOrMethodName="missingParameterTypes"
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodError; }
Annotations on method #30 'invokeNarrowArguments'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmZBCS" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Z B C S } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; booleanValue={ true } Lannotations/Constant; byteValue={ 127 } Lannotations/Constant; charValue={ 65 } Lannotations/Constant; shortValue={ -32768 } } fieldOrMethodName="narrowArguments"
Annotations on method #31 'invokeObjectReturnType'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningObject" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=Ljava/lang/Object; } fieldOrMethodName="ObjectReturnType"
Annotations on method #32 'invokeViaCustomCallSiteClass'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningTestersConstantCallsite" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=LTestBadBootstrapArguments$TestersConstantCallSite; } fieldOrMethodName="sayHello"
Annotations on method #33 'invokeVoidReturnType'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmReturningVoid" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } returnType=V } fieldOrMethodName="voidReturnType"
Annotations on method #34 'invokeWideningArguments'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDJ" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; D J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; intValue={ 2147483647 } } fieldOrMethodName="wideningArguments"
Annotations on method #35 'invokeWideningBoxingArguments'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsmDoubleLong" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Double; Ljava/lang/Long; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; floatValue={ 3.40282e+38 } Lannotations/Constant; longValue={ 2147483647 } } fieldOrMethodName="wideningBoxingArguments"
Annotations on method #36 'invokeWrongArguments'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "1" } Lannotations/Constant; doubleValue={ 3.14159 } } fieldOrMethodName="wrongArguments"
Annotations on method #37 'invokeWrongArgumentsAgain'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 3.14159 } Lannotations/Constant; stringValue={ "pie" } } fieldOrMethodName="wrongArgumentsAgain"
Annotations on method #38 'invokeWrongParameterTypes'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestBadBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I D } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; stringValue={ "very" } } fieldOrMethodName="wrongParameterTypes"
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/NoSuchMethodError; }

Class #6            -
  Class descriptor  : 'LTestBadBootstrapArguments;'
  Access flags      : 0x0001 (PUBLIC)
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LTestBadBootstrapArguments;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 9
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
001d64:                                        |[001d64] TestBadBootstrapArguments.<init>:()V
001d74: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
001d7a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=27
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestBadBootstrapArguments; 

    #1              : (in LTestBadBootstrapArguments;)
      name          : 'boxingArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 12
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
001d7c:                                        |[001d7c] TestBadBootstrapArguments.boxingArguments:()V
001d8c: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001d90: 1a01 e900                              |0002: const-string v1, "boxingArguments" // string@00e9
001d94: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001d9a: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=348
        0x0007 line=349
      locals        : 

    #2              : (in LTestBadBootstrapArguments;)
      name          : 'bsm'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 14
      code          -
      registers     : 7
      ins           : 5
      outs          : 4
      insns size    : 85 16-bit code units
001bb4:                                        |[001bb4] TestBadBootstrapArguments.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite;
001bc4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001bc8: 1a01 ee00                              |0002: const-string v1, "bsm(" // string@00ee
001bcc: 6e20 b000 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001bd2: 6200 1300                              |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001bd6: 6e10 dc00 0200                         |0009: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
001bdc: 0c01                                   |000c: move-result-object v1
001bde: 6e20 af00 1000                         |000d: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
001be4: 6200 1300                              |0010: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001be8: 1a01 0c00                              |0012: const-string v1, ", " // string@000c
001bec: 6e20 b000 1000                         |0014: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001bf2: 6200 1300                              |0017: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001bf6: 6e20 b000 3000                         |0019: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001bfc: 6200 1300                              |001c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c00: 1a01 0c00                              |001e: const-string v1, ", " // string@000c
001c04: 6e20 b000 1000                         |0020: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001c0a: 6200 1300                              |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c0e: 6e20 af00 4000                         |0025: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
001c14: 6200 1300                              |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c18: 1a01 0c00                              |002a: const-string v1, ", " // string@000c
001c1c: 6e20 b000 1000                         |002c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001c22: 6200 1300                              |002f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c26: 6e20 ad00 5000                         |0031: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.print:(I)V // method@00ad
001c2c: 6200 1300                              |0034: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c30: 1a01 0c00                              |0036: const-string v1, ", " // string@000c
001c34: 6e20 b000 1000                         |0038: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001c3a: 6200 1300                              |003b: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c3e: 6e20 b000 6000                         |003d: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001c44: 6200 1300                              |0040: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c48: 1a01 0700                              |0042: const-string v1, ")" // string@0007
001c4c: 6e20 b300 1000                         |0044: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001c52: 6e10 dc00 0200                         |0047: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
001c58: 0c00                                   |004a: move-result-object v0
001c5a: 6e40 d800 0243                         |004b: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
001c60: 0c00                                   |004e: move-result-object v0
001c62: 2201 3400                              |004f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
001c66: 7020 d200 0100                         |0051: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
001c6c: 1101                                   |0054: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=35
        0x0007 line=36
        0x0010 line=37
        0x0017 line=38
        0x001c line=39
        0x0023 line=40
        0x0028 line=41
        0x002f line=42
        0x0034 line=43
        0x003b line=44
        0x0040 line=45
        0x0047 line=46
        0x004f line=47
      locals        : 
        0x004f - 0x0055 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0055 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0055 reg=3 methodName Ljava/lang/String; 
        0x0000 - 0x0055 reg=4 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0055 reg=5 extraInt I 
        0x0000 - 0x0055 reg=6 extraString Ljava/lang/String; 

    #3              : (in LTestBadBootstrapArguments;)
      name          : 'bsmDJ'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 15
      code          -
      registers     : 9
      ins           : 7
      outs          : 4
      insns size    : 45 16-bit code units
001c70:                                        |[001c70] TestBadBootstrapArguments.bsmDJ:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite;
001c80: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c84: 1a01 f100                              |0002: const-string v1, "bsmDJ(..., " // string@00f1
001c88: 6e20 b000 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001c8e: 6200 1300                              |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c92: 6e30 ac00 5006                         |0009: invoke-virtual {v0, v5, v6}, Ljava/io/PrintStream;.print:(D)V // method@00ac
001c98: 6200 1300                              |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001c9c: 1a01 0c00                              |000e: const-string v1, ", " // string@000c
001ca0: 6e20 b000 1000                         |0010: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001ca6: 6200 1300                              |0013: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001caa: 6e30 ae00 7008                         |0015: invoke-virtual {v0, v7, v8}, Ljava/io/PrintStream;.print:(J)V // method@00ae
001cb0: 6200 1300                              |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001cb4: 1a01 0700                              |001a: const-string v1, ")" // string@0007
001cb8: 6e20 b300 1000                         |001c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001cbe: 6e10 dc00 0200                         |001f: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
001cc4: 0c00                                   |0022: move-result-object v0
001cc6: 6e40 d800 0243                         |0023: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
001ccc: 0c00                                   |0026: move-result-object v0
001cce: 2201 3400                              |0027: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
001cd2: 7020 d200 0100                         |0029: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
001cd8: 1101                                   |002c: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=270
        0x0007 line=271
        0x000c line=272
        0x0013 line=273
        0x0018 line=274
        0x001f line=275
        0x0027 line=276
      locals        : 
        0x0027 - 0x002d reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x002d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x002d reg=3 methodName Ljava/lang/String; 
        0x0000 - 0x002d reg=4 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x002d reg=5 extraArg0 D 
        0x0000 - 0x002d reg=7 extraArg1 J 

    #4              : (in LTestBadBootstrapArguments;)
      name          : 'bsmDoubleLong'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 16
      code          -
      registers     : 7
      ins           : 5
      outs          : 4
      insns size    : 45 16-bit code units
001cdc:                                        |[001cdc] TestBadBootstrapArguments.bsmDoubleLong:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite;
001cec: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001cf0: 1a01 f300                              |0002: const-string v1, "bsmDoubleLong(..., " // string@00f3
001cf4: 6e20 b000 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001cfa: 6200 1300                              |0007: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001cfe: 6e20 af00 5000                         |0009: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
001d04: 6200 1300                              |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001d08: 1a01 0c00                              |000e: const-string v1, ", " // string@000c
001d0c: 6e20 b000 1000                         |0010: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
001d12: 6200 1300                              |0013: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001d16: 6e20 af00 6000                         |0015: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
001d1c: 6200 1300                              |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001d20: 1a01 0700                              |001a: const-string v1, ")" // string@0007
001d24: 6e20 b300 1000                         |001c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001d2a: 6e10 dc00 0200                         |001f: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
001d30: 0c00                                   |0022: move-result-object v0
001d32: 6e40 d800 0243                         |0023: invoke-virtual {v2, v0, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
001d38: 0c00                                   |0026: move-result-object v0
001d3a: 2201 3400                              |0027: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
001d3e: 7020 d200 0100                         |0029: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
001d44: 1101                                   |002c: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=314
        0x0007 line=315
        0x000c line=316
        0x0013 line=317
        0x0018 line=318
        0x001f line=319
        0x0027 line=320
      locals        : 
        0x0027 - 0x002d reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x002d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x002d reg=3 methodName Ljava/lang/String; 
        0x0000 - 0x002d reg=4 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x002d reg=5 extraArg0 Ljava/lang/Double; 
        0x0000 - 0x002d reg=6 extraArg1 Ljava/lang/Long; 

    #5              : (in LTestBadBootstrapArguments;)
      name          : 'bsmReturningInteger'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer;'
      access        : 0x0008 (STATIC)
      method_idx    : 17
      code          -
      registers     : 5
      ins           : 3
      outs          : 2
      insns size    : 13 16-bit code units
001b5c:                                        |[001b5c] TestBadBootstrapArguments.bsmReturningInteger:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer;
001b6c: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001b70: 1a01 eb00                              |0002: const-string v1, "bsm returning Integer value." // string@00eb
001b74: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001b7a: 1230                                   |0007: const/4 v0, #int 3 // #3
001b7c: 7110 bd00 0000                         |0008: invoke-static {v0}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
001b82: 0c00                                   |000b: move-result-object v0
001b84: 1100                                   |000c: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=425
        0x0007 line=426
      locals        : 
        0x0000 - 0x000d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x000d reg=3 name Ljava/lang/String; 
        0x0000 - 0x000d reg=4 type Ljava/lang/invoke/MethodType; 

    #6              : (in LTestBadBootstrapArguments;)
      name          : 'bsmReturningObject'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object;'
      access        : 0x0008 (STATIC)
      method_idx    : 18
      code          -
      registers     : 5
      ins           : 3
      outs          : 2
      insns size    : 13 16-bit code units
001b88:                                        |[001b88] TestBadBootstrapArguments.bsmReturningObject:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object;
001b98: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001b9c: 1a01 ec00                              |0002: const-string v1, "bsm returning Object value." // string@00ec
001ba0: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001ba6: 2200 2a00                              |0007: new-instance v0, Ljava/lang/Object; // type@002a
001baa: 7010 bf00 0000                         |0009: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00bf
001bb0: 1100                                   |000c: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=402
        0x0007 line=403
      locals        : 
        0x0000 - 0x000d reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x000d reg=3 name Ljava/lang/String; 
        0x0000 - 0x000d reg=4 type Ljava/lang/invoke/MethodType; 

    #7              : (in LTestBadBootstrapArguments;)
      name          : 'bsmReturningTestersConstantCallsite'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 19
      code          -
      registers     : 5
      ins           : 3
      outs          : 4
      insns size    : 14 16-bit code units
001b30:                                        |[001b30] TestBadBootstrapArguments.bsmReturningTestersConstantCallsite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite;
001b40: 2200 0700                              |0000: new-instance v0, LTestBadBootstrapArguments$TestersConstantCallSite; // type@0007
001b44: 6e10 dc00 0200                         |0002: invoke-virtual {v2}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
001b4a: 0c01                                   |0005: move-result-object v1
001b4c: 6e40 d800 1243                         |0006: invoke-virtual {v2, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
001b52: 0c01                                   |0009: move-result-object v1
001b54: 7020 0800 1000                         |000a: invoke-direct {v0, v1}, LTestBadBootstrapArguments$TestersConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@0008
001b5a: 1100                                   |000d: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=455
      locals        : 
        0x0000 - 0x000e reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x000e reg=3 name Ljava/lang/String; 
        0x0000 - 0x000e reg=4 type Ljava/lang/invoke/MethodType; 

    #8              : (in LTestBadBootstrapArguments;)
      name          : 'bsmReturningVoid'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V'
      access        : 0x0008 (STATIC)
      method_idx    : 20
      code          -
      registers     : 5
      ins           : 3
      outs          : 2
      insns size    : 8 16-bit code units
001d9c:                                        |[001d9c] TestBadBootstrapArguments.bsmReturningVoid:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
001dac: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001db0: 1a01 ed00                              |0002: const-string v1, "bsm returning void value." // string@00ed
001db4: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001dba: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=380
        0x0007 line=381
      locals        : 
        0x0000 - 0x0008 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0008 reg=3 name Ljava/lang/String; 
        0x0000 - 0x0008 reg=4 type Ljava/lang/invoke/MethodType; 

    #9              : (in LTestBadBootstrapArguments;)
      name          : 'bsmZBCS'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 21
      code          -
      registers     : 8
      ins           : 7
      outs          : 0
      insns size    : 5 16-bit code units
001d48:                                        |[001d48] TestBadBootstrapArguments.bsmZBCS:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite;
001d58: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001d5e: 1200                                   |0003: const/4 v0, #int 0 // #0
001d60: 1100                                   |0004: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=227
        0x0003 line=228
      locals        : 
        0x0000 - 0x0005 reg=1 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0005 reg=2 methodName Ljava/lang/String; 
        0x0000 - 0x0005 reg=3 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0005 reg=4 extraArg0 Z 
        0x0000 - 0x0005 reg=5 extraArg1 B 
        0x0000 - 0x0005 reg=6 extraArg2 C 
        0x0000 - 0x0005 reg=7 extraArg3 S 

    #10              : (in LTestBadBootstrapArguments;)
      name          : 'extraArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 22
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
001dbc:                                        |[001dbc] TestBadBootstrapArguments.extraArguments:()V
001dcc: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001dd0: 1a01 2001                              |0002: const-string v1, "extraArguments" // string@0120
001dd4: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001dda: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=158
        0x0007 line=159
      locals        : 

    #11              : (in LTestBadBootstrapArguments;)
      name          : 'happy'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 23
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
001ddc:                                        |[001ddc] TestBadBootstrapArguments.happy:()V
001dec: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001df0: 1a01 3d01                              |0002: const-string v1, "happy" // string@013d
001df4: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001dfa: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=74
        0x0007 line=75
      locals        : 

    #12              : (in LTestBadBootstrapArguments;)
      name          : 'integerReturnType'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 24
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001dfc:                                        |[001dfc] TestBadBootstrapArguments.integerReturnType:()V
001e0c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001e12: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=444
        0x0003 line=445
      locals        : 

    #13              : (in LTestBadBootstrapArguments;)
      name          : 'invokeBoxingArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 25
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001e14:                                        |[001e14] TestBadBootstrapArguments.invokeBoxingArguments:()V
001e24: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001e2a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=344
        0x0003 line=345
      locals        : 

    #14              : (in LTestBadBootstrapArguments;)
      name          : 'invokeExtraArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 26
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001e2c:                                        |[001e2c] TestBadBootstrapArguments.invokeExtraArguments:()V
001e3c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001e42: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=154
        0x0003 line=155
      locals        : 

    #15              : (in LTestBadBootstrapArguments;)
      name          : 'invokeHappy'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 27
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001e44:                                        |[001e44] TestBadBootstrapArguments.invokeHappy:()V
001e54: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001e5a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=70
        0x0003 line=71
      locals        : 

    #16              : (in LTestBadBootstrapArguments;)
      name          : 'invokeIntegerReturnType'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 28
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001e5c:                                        |[001e5c] TestBadBootstrapArguments.invokeIntegerReturnType:()V
001e6c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001e72: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=440
        0x0003 line=441
      locals        : 

    #17              : (in LTestBadBootstrapArguments;)
      name          : 'invokeMissingParameterTypes'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 29
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001e74:                                        |[001e74] TestBadBootstrapArguments.invokeMissingParameterTypes:()V
001e84: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001e8a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=124
        0x0003 line=125
      locals        : 

    #18              : (in LTestBadBootstrapArguments;)
      name          : 'invokeNarrowArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 30
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001e8c:                                        |[001e8c] TestBadBootstrapArguments.invokeNarrowArguments:()V
001e9c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001ea2: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=256
        0x0003 line=257
      locals        : 

    #19              : (in LTestBadBootstrapArguments;)
      name          : 'invokeObjectReturnType'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 31
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001ea4:                                        |[001ea4] TestBadBootstrapArguments.invokeObjectReturnType:()V
001eb4: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001eba: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=417
        0x0003 line=418
      locals        : 

    #20              : (in LTestBadBootstrapArguments;)
      name          : 'invokeViaCustomCallSiteClass'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 32
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001ebc:                                        |[001ebc] TestBadBootstrapArguments.invokeViaCustomCallSiteClass:()V
001ecc: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001ed2: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=469
        0x0003 line=470
      locals        : 

    #21              : (in LTestBadBootstrapArguments;)
      name          : 'invokeVoidReturnType'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 33
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001ed4:                                        |[001ed4] TestBadBootstrapArguments.invokeVoidReturnType:()V
001ee4: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001eea: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=394
        0x0003 line=395
      locals        : 

    #22              : (in LTestBadBootstrapArguments;)
      name          : 'invokeWideningArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 34
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001eec:                                        |[001eec] TestBadBootstrapArguments.invokeWideningArguments:()V
001efc: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001f02: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=300
        0x0003 line=301
      locals        : 

    #23              : (in LTestBadBootstrapArguments;)
      name          : 'invokeWideningBoxingArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 35
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001f04:                                        |[001f04] TestBadBootstrapArguments.invokeWideningBoxingArguments:()V
001f14: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001f1a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=372
        0x0003 line=373
      locals        : 

    #24              : (in LTestBadBootstrapArguments;)
      name          : 'invokeWrongArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 36
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001f1c:                                        |[001f1c] TestBadBootstrapArguments.invokeWrongArguments:()V
001f2c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001f32: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=182
        0x0003 line=183
      locals        : 

    #25              : (in LTestBadBootstrapArguments;)
      name          : 'invokeWrongArgumentsAgain'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 37
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001f34:                                        |[001f34] TestBadBootstrapArguments.invokeWrongArgumentsAgain:()V
001f44: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001f4a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=210
        0x0003 line=211
      locals        : 

    #26              : (in LTestBadBootstrapArguments;)
      name          : 'invokeWrongParameterTypes'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 38
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001f4c:                                        |[001f4c] TestBadBootstrapArguments.invokeWrongParameterTypes:()V
001f5c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001f62: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=98
        0x0003 line=99
      locals        : 

    #27              : (in LTestBadBootstrapArguments;)
      name          : 'missingParameterTypes'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 39
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
001f64:                                        |[001f64] TestBadBootstrapArguments.missingParameterTypes:()V
001f74: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001f78: 1a01 8c01                              |0002: const-string v1, "missingParameterTypes" // string@018c
001f7c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001f82: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=128
        0x0007 line=129
      locals        : 

    #28              : (in LTestBadBootstrapArguments;)
      name          : 'narrowArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 40
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001f84:                                        |[001f84] TestBadBootstrapArguments.narrowArguments:()V
001f94: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001f9a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=260
        0x0003 line=261
      locals        : 

    #29              : (in LTestBadBootstrapArguments;)
      name          : 'objectReturnType'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 41
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
001f9c:                                        |[001f9c] TestBadBootstrapArguments.objectReturnType:()V
001fac: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
001fb2: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=421
        0x0003 line=422
      locals        : 

    #30              : (in LTestBadBootstrapArguments;)
      name          : 'sayHello'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 42
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
001fb4:                                        |[001fb4] TestBadBootstrapArguments.sayHello:()V
001fc4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001fc8: 1a01 2d00                              |0002: const-string v1, "Hello!" // string@002d
001fcc: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001fd2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=473
        0x0007 line=474
      locals        : 

    #31              : (in LTestBadBootstrapArguments;)
      name          : 'test'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 43
      code          -
      registers     : 3
      ins           : 0
      outs          : 2
      insns size    : 529 16-bit code units
001fd4:                                        |[001fd4] TestBadBootstrapArguments.test:()V
001fe4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
001fe8: 1a01 8f00                              |0002: const-string v1, "TestBadBootstrapArguments" // string@008f
001fec: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
001ff2: fc00 0000 0000                         |0007: invoke-custom {}, call_site@0000
001ff8: fc00 0100 0000                         |000a: invoke-custom {}, call_site@0001
001ffe: 7100 0b00 0000                         |000d: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
002004: 2812                                   |0010: goto 0022 // +0012
002006: 0d00                                   |0011: move-exception v0
002008: 6201 1300                              |0012: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00200c: 1a02 6101                              |0014: const-string v2, "invokeWrongParameterTypes => " // string@0161
002010: 6e20 b000 2100                         |0016: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002016: 6201 1300                              |0019: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00201a: 6e10 c000 0000                         |001b: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002020: 0c02                                   |001e: move-result-object v2
002022: 6e20 b200 2100                         |001f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
002028: fc00 0200 0000                         |0022: invoke-custom {}, call_site@0002
00202e: 7100 0b00 0000                         |0025: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
002034: 2812                                   |0028: goto 003a // +0012
002036: 0d00                                   |0029: move-exception v0
002038: 6201 1300                              |002a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00203c: 1a02 5101                              |002c: const-string v2, "invokeMissingParameterTypes => " // string@0151
002040: 6e20 b000 2100                         |002e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002046: 6201 1300                              |0031: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00204a: 6e10 c000 0000                         |0033: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002050: 0c02                                   |0036: move-result-object v2
002052: 6e20 b200 2100                         |0037: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
002058: fc00 0300 0000                         |003a: invoke-custom {}, call_site@0003
00205e: 7100 0b00 0000                         |003d: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
002064: 2833                                   |0040: goto 0073 // +0033
002066: 0d00                                   |0041: move-exception v0
002068: 1c01 3a00                              |0042: const-class v1, Ljava/lang/invoke/WrongMethodTypeException; // type@003a
00206c: 6e10 b600 0000                         |0044: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
002072: 0c02                                   |0047: move-result-object v2
002074: 6e10 c000 0200                         |0048: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00207a: 0c02                                   |004b: move-result-object v2
00207c: 7120 0a00 2100                         |004c: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a
002082: 6201 1300                              |004f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002086: 1a02 4c01                              |0051: const-string v2, "invokeExtraArguments => " // string@014c
00208a: 6e20 b000 2100                         |0053: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002090: 6201 1300                              |0056: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002094: 6e10 c000 0000                         |0058: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00209a: 0c02                                   |005b: move-result-object v2
00209c: 6e20 af00 2100                         |005c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
0020a2: 6201 1300                              |005f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0020a6: 1a02 0200                              |0061: const-string v2, " => " // string@0002
0020aa: 6e20 b000 2100                         |0063: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
0020b0: 6201 1300                              |0066: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0020b4: 6e10 b600 0000                         |0068: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
0020ba: 0c02                                   |006b: move-result-object v2
0020bc: 6e10 c000 0200                         |006c: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0020c2: 0c02                                   |006f: move-result-object v2
0020c4: 6e20 b200 2100                         |0070: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
0020ca: fc00 0400 0000                         |0073: invoke-custom {}, call_site@0004
0020d0: 7100 0b00 0000                         |0076: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
0020d6: 2833                                   |0079: goto 00ac // +0033
0020d8: 0d00                                   |007a: move-exception v0
0020da: 1c01 2200                              |007b: const-class v1, Ljava/lang/ClassCastException; // type@0022
0020de: 6e10 b600 0000                         |007d: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
0020e4: 0c02                                   |0080: move-result-object v2
0020e6: 6e10 c000 0200                         |0081: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0020ec: 0c02                                   |0084: move-result-object v2
0020ee: 7120 0a00 2100                         |0085: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a
0020f4: 6201 1300                              |0088: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0020f8: 1a02 5d01                              |008a: const-string v2, "invokeWrongArguments => " // string@015d
0020fc: 6e20 b000 2100                         |008c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002102: 6201 1300                              |008f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002106: 6e10 c000 0000                         |0091: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00210c: 0c02                                   |0094: move-result-object v2
00210e: 6e20 af00 2100                         |0095: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
002114: 6201 1300                              |0098: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002118: 1a02 0200                              |009a: const-string v2, " => " // string@0002
00211c: 6e20 b000 2100                         |009c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002122: 6201 1300                              |009f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002126: 6e10 b600 0000                         |00a1: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
00212c: 0c02                                   |00a4: move-result-object v2
00212e: 6e10 c000 0200                         |00a5: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002134: 0c02                                   |00a8: move-result-object v2
002136: 6e20 b200 2100                         |00a9: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
00213c: fc00 0500 0000                         |00ac: invoke-custom {}, call_site@0005
002142: 7100 0b00 0000                         |00af: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
002148: 2833                                   |00b2: goto 00e5 // +0033
00214a: 0d00                                   |00b3: move-exception v0
00214c: 1c01 2200                              |00b4: const-class v1, Ljava/lang/ClassCastException; // type@0022
002150: 6e10 b600 0000                         |00b6: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
002156: 0c02                                   |00b9: move-result-object v2
002158: 6e10 c000 0200                         |00ba: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00215e: 0c02                                   |00bd: move-result-object v2
002160: 7120 0a00 2100                         |00be: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a
002166: 6201 1300                              |00c1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00216a: 1a02 5d01                              |00c3: const-string v2, "invokeWrongArguments => " // string@015d
00216e: 6e20 b000 2100                         |00c5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002174: 6201 1300                              |00c8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002178: 6e10 c000 0000                         |00ca: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00217e: 0c02                                   |00cd: move-result-object v2
002180: 6e20 af00 2100                         |00ce: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
002186: 6201 1300                              |00d1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00218a: 1a02 0200                              |00d3: const-string v2, " => " // string@0002
00218e: 6e20 b000 2100                         |00d5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002194: 6201 1300                              |00d8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002198: 6e10 b600 0000                         |00da: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
00219e: 0c02                                   |00dd: move-result-object v2
0021a0: 6e10 c000 0200                         |00de: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0021a6: 0c02                                   |00e1: move-result-object v2
0021a8: 6e20 b200 2100                         |00e2: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
0021ae: fc00 0600 0000                         |00e5: invoke-custom {}, call_site@0006
0021b4: 7100 0b00 0000                         |00e8: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
0021ba: 2833                                   |00eb: goto 011e // +0033
0021bc: 0d00                                   |00ec: move-exception v0
0021be: 1c01 2200                              |00ed: const-class v1, Ljava/lang/ClassCastException; // type@0022
0021c2: 6e10 b600 0000                         |00ef: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
0021c8: 0c02                                   |00f2: move-result-object v2
0021ca: 6e10 c000 0200                         |00f3: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0021d0: 0c02                                   |00f6: move-result-object v2
0021d2: 7120 0a00 2100                         |00f7: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a
0021d8: 6201 1300                              |00fa: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0021dc: 1a02 5f01                              |00fc: const-string v2, "invokeWrongArgumentsAgain => " // string@015f
0021e0: 6e20 b000 2100                         |00fe: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
0021e6: 6201 1300                              |0101: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0021ea: 6e10 c000 0000                         |0103: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0021f0: 0c02                                   |0106: move-result-object v2
0021f2: 6e20 af00 2100                         |0107: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
0021f8: 6201 1300                              |010a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0021fc: 1a02 0200                              |010c: const-string v2, " => " // string@0002
002200: 6e20 b000 2100                         |010e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002206: 6201 1300                              |0111: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00220a: 6e10 b600 0000                         |0113: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
002210: 0c02                                   |0116: move-result-object v2
002212: 6e10 c000 0200                         |0117: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002218: 0c02                                   |011a: move-result-object v2
00221a: 6e20 b200 2100                         |011b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
002220: fc00 0700 0000                         |011e: invoke-custom {}, call_site@0007
002226: 7100 0b00 0000                         |0121: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
00222c: 2833                                   |0124: goto 0157 // +0033
00222e: 0d00                                   |0125: move-exception v0
002230: 1c01 2200                              |0126: const-class v1, Ljava/lang/ClassCastException; // type@0022
002234: 6e10 b600 0000                         |0128: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
00223a: 0c02                                   |012b: move-result-object v2
00223c: 6e10 c000 0200                         |012c: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002242: 0c02                                   |012f: move-result-object v2
002244: 7120 0a00 2100                         |0130: invoke-static {v1, v2}, LTestBadBootstrapArguments;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@000a
00224a: 6201 1300                              |0133: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00224e: 1a02 5301                              |0135: const-string v2, "invokeNarrowArguments => " // string@0153
002252: 6e20 b000 2100                         |0137: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002258: 6201 1300                              |013a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00225c: 6e10 c000 0000                         |013c: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002262: 0c02                                   |013f: move-result-object v2
002264: 6e20 af00 2100                         |0140: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
00226a: 6201 1300                              |0143: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00226e: 1a02 0200                              |0145: const-string v2, " => " // string@0002
002272: 6e20 b000 2100                         |0147: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002278: 6201 1300                              |014a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00227c: 6e10 b600 0000                         |014c: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
002282: 0c02                                   |014f: move-result-object v2
002284: 6e10 c000 0200                         |0150: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00228a: 0c02                                   |0153: move-result-object v2
00228c: 6e20 b200 2100                         |0154: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
002292: fc00 0800 0000                         |0157: invoke-custom {}, call_site@0008
002298: fc00 0900 0000                         |015a: invoke-custom {}, call_site@0009
00229e: fc00 0a00 0000                         |015d: invoke-custom {}, call_site@000a
0022a4: 7100 0b00 0000                         |0160: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
0022aa: 2826                                   |0163: goto 0189 // +0026
0022ac: 0d00                                   |0164: move-exception v0
0022ae: 6201 1300                              |0165: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0022b2: 1a02 5b01                              |0167: const-string v2, "invokeWideningBoxingArguments => " // string@015b
0022b6: 6e20 b000 2100                         |0169: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
0022bc: 6201 1300                              |016c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0022c0: 6e10 c000 0000                         |016e: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0022c6: 0c02                                   |0171: move-result-object v2
0022c8: 6e20 af00 2100                         |0172: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
0022ce: 6201 1300                              |0175: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0022d2: 1a02 0200                              |0177: const-string v2, " => " // string@0002
0022d6: 6e20 b000 2100                         |0179: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
0022dc: 6201 1300                              |017c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0022e0: 6e10 b600 0000                         |017e: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
0022e6: 0c02                                   |0181: move-result-object v2
0022e8: 6e10 c000 0200                         |0182: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0022ee: 0c02                                   |0185: move-result-object v2
0022f0: 6e20 b200 2100                         |0186: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
0022f6: fc00 0b00 0000                         |0189: invoke-custom {}, call_site@000b
0022fc: 7100 0b00 0000                         |018c: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
002302: 2826                                   |018f: goto 01b5 // +0026
002304: 0d00                                   |0190: move-exception v0
002306: 6201 1300                              |0191: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00230a: 1a02 5801                              |0193: const-string v2, "invokeVoidReturnType() => " // string@0158
00230e: 6e20 b000 2100                         |0195: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002314: 6201 1300                              |0198: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002318: 6e10 c000 0000                         |019a: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00231e: 0c02                                   |019d: move-result-object v2
002320: 6e20 af00 2100                         |019e: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
002326: 6201 1300                              |01a1: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00232a: 1a02 0200                              |01a3: const-string v2, " => " // string@0002
00232e: 6e20 b000 2100                         |01a5: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002334: 6201 1300                              |01a8: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002338: 6e10 b600 0000                         |01aa: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
00233e: 0c02                                   |01ad: move-result-object v2
002340: 6e10 c000 0200                         |01ae: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002346: 0c02                                   |01b1: move-result-object v2
002348: 6e20 b200 2100                         |01b2: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
00234e: fc00 0c00 0000                         |01b5: invoke-custom {}, call_site@000c
002354: 7100 0b00 0000                         |01b8: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
00235a: 2826                                   |01bb: goto 01e1 // +0026
00235c: 0d00                                   |01bc: move-exception v0
00235e: 6201 1300                              |01bd: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002362: 1a02 5501                              |01bf: const-string v2, "invokeObjectReturnType() => " // string@0155
002366: 6e20 b000 2100                         |01c1: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
00236c: 6201 1300                              |01c4: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002370: 6e10 c000 0000                         |01c6: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002376: 0c02                                   |01c9: move-result-object v2
002378: 6e20 af00 2100                         |01ca: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
00237e: 6201 1300                              |01cd: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002382: 1a02 0200                              |01cf: const-string v2, " => " // string@0002
002386: 6e20 b000 2100                         |01d1: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
00238c: 6201 1300                              |01d4: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002390: 6e10 b600 0000                         |01d6: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
002396: 0c02                                   |01d9: move-result-object v2
002398: 6e10 c000 0200                         |01da: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
00239e: 0c02                                   |01dd: move-result-object v2
0023a0: 6e20 b200 2100                         |01de: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
0023a6: fc00 0d00 0000                         |01e1: invoke-custom {}, call_site@000d
0023ac: 7100 0b00 0000                         |01e4: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
0023b2: 2826                                   |01e7: goto 020d // +0026
0023b4: 0d00                                   |01e8: move-exception v0
0023b6: 6201 1300                              |01e9: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0023ba: 1a02 4f01                              |01eb: const-string v2, "invokeIntegerReturnType() => " // string@014f
0023be: 6e20 b000 2100                         |01ed: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
0023c4: 6201 1300                              |01f0: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0023c8: 6e10 c000 0000                         |01f2: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0023ce: 0c02                                   |01f5: move-result-object v2
0023d0: 6e20 af00 2100                         |01f6: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
0023d6: 6201 1300                              |01f9: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0023da: 1a02 0200                              |01fb: const-string v2, " => " // string@0002
0023de: 6e20 b000 2100                         |01fd: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
0023e4: 6201 1300                              |0200: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0023e8: 6e10 b600 0000                         |0202: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
0023ee: 0c02                                   |0205: move-result-object v2
0023f0: 6e10 c000 0200                         |0206: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
0023f6: 0c02                                   |0209: move-result-object v2
0023f8: 6e20 b200 2100                         |020a: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
0023fe: fc00 0e00 0000                         |020d: invoke-custom {}, call_site@000e
002404: 0e00                                   |0210: return-void
      catches       : 11
        0x000a - 0x0010
          Ljava/lang/NoSuchMethodError; -> 0x0011
        0x0022 - 0x0028
          Ljava/lang/NoSuchMethodError; -> 0x0029
        0x003a - 0x0040
          Ljava/lang/BootstrapMethodError; -> 0x0041
        0x0073 - 0x0079
          Ljava/lang/BootstrapMethodError; -> 0x007a
        0x00ac - 0x00b2
          Ljava/lang/BootstrapMethodError; -> 0x00b3
        0x00e5 - 0x00eb
          Ljava/lang/BootstrapMethodError; -> 0x00ec
        0x011e - 0x0124
          Ljava/lang/BootstrapMethodError; -> 0x0125
        0x015d - 0x0163
          Ljava/lang/BootstrapMethodError; -> 0x0164
        0x0189 - 0x018f
          Ljava/lang/BootstrapMethodError; -> 0x0190
        0x01b5 - 0x01bb
          Ljava/lang/BootstrapMethodError; -> 0x01bc
        0x01e1 - 0x01e7
          Ljava/lang/BootstrapMethodError; -> 0x01e8
      positions     : 
        0x0000 line=477
        0x0007 line=478
        0x000a line=480
        0x000d line=481
        0x0010 line=485
        0x0011 line=482
        0x0012 line=483
        0x0019 line=484
        0x0022 line=487
        0x0025 line=488
        0x0028 line=492
        0x0029 line=489
        0x002a line=490
        0x0031 line=491
        0x003a line=494
        0x003d line=495
        0x0040 line=502
        0x0041 line=496
        0x0042 line=497
        0x004f line=498
        0x0056 line=499
        0x005f line=500
        0x0066 line=501
        0x0073 line=504
        0x0076 line=505
        0x0079 line=512
        0x007a line=506
        0x007b line=507
        0x0088 line=508
        0x008f line=509
        0x0098 line=510
        0x009f line=511
        0x00ac line=514
        0x00af line=515
        0x00b2 line=522
        0x00b3 line=516
        0x00b4 line=517
        0x00c1 line=518
        0x00c8 line=519
        0x00d1 line=520
        0x00d8 line=521
        0x00e5 line=524
        0x00e8 line=525
        0x00eb line=532
        0x00ec line=526
        0x00ed line=527
        0x00fa line=528
        0x0101 line=529
        0x010a line=530
        0x0111 line=531
        0x011e line=534
        0x0121 line=535
        0x0124 line=542
        0x0125 line=536
        0x0126 line=537
        0x0133 line=538
        0x013a line=539
        0x0143 line=540
        0x014a line=541
        0x0157 line=543
        0x015a line=544
        0x015d line=546
        0x0160 line=547
        0x0163 line=553
        0x0164 line=548
        0x0165 line=549
        0x016c line=550
        0x0175 line=551
        0x017c line=552
        0x0189 line=555
        0x018c line=556
        0x018f line=562
        0x0190 line=557
        0x0191 line=558
        0x0198 line=559
        0x01a1 line=560
        0x01a8 line=561
        0x01b5 line=564
        0x01b8 line=565
        0x01bb line=571
        0x01bc line=566
        0x01bd line=567
        0x01c4 line=568
        0x01cd line=569
        0x01d4 line=570
        0x01e1 line=573
        0x01e4 line=574
        0x01e7 line=580
        0x01e8 line=575
        0x01e9 line=576
        0x01f0 line=577
        0x01f9 line=578
        0x0200 line=579
        0x020d line=581
        0x0210 line=582
      locals        : 
        0x0012 - 0x0022 reg=0 expected Ljava/lang/NoSuchMethodError; 
        0x002a - 0x003a reg=0 expected Ljava/lang/NoSuchMethodError; 
        0x0042 - 0x0073 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x007b - 0x00ac reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x00b4 - 0x00e5 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x00ed - 0x011e reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x0126 - 0x0157 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x0165 - 0x0189 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x0191 - 0x01b5 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x01bd - 0x01e1 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x01e9 - 0x020d reg=0 expected Ljava/lang/BootstrapMethodError; 

    #32              : (in LTestBadBootstrapArguments;)
      name          : 'voidReturnType'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 44
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
00248c:                                        |[00248c] TestBadBootstrapArguments.voidReturnType:()V
00249c: 7100 0b00 0000                         |0000: invoke-static {}, LTestBadBootstrapArguments;.assertNotReached:()V // method@000b
0024a2: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=398
        0x0003 line=399
      locals        : 

    #33              : (in LTestBadBootstrapArguments;)
      name          : 'wideningArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 45
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
0024a4:                                        |[0024a4] TestBadBootstrapArguments.wideningArguments:()V
0024b4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0024b8: 1a01 d101                              |0002: const-string v1, "wideningArguments" // string@01d1
0024bc: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0024c2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=304
        0x0007 line=305
      locals        : 

    #34              : (in LTestBadBootstrapArguments;)
      name          : 'wideningBoxingArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 46
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
0024c4:                                        |[0024c4] TestBadBootstrapArguments.wideningBoxingArguments:()V
0024d4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0024d8: 1a01 d201                              |0002: const-string v1, "wideningBoxingArguments" // string@01d2
0024dc: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0024e2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=376
        0x0007 line=377
      locals        : 

    #35              : (in LTestBadBootstrapArguments;)
      name          : 'wrongArguments'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 47
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
0024e4:                                        |[0024e4] TestBadBootstrapArguments.wrongArguments:()V
0024f4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0024f8: 1a01 d401                              |0002: const-string v1, "wrongArguments" // string@01d4
0024fc: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002502: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=186
        0x0007 line=187
      locals        : 

    #36              : (in LTestBadBootstrapArguments;)
      name          : 'wrongArgumentsAgain'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 48
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
002504:                                        |[002504] TestBadBootstrapArguments.wrongArgumentsAgain:()V
002514: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002518: 1a01 d501                              |0002: const-string v1, "wrongArgumentsAgain" // string@01d5
00251c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002522: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=214
        0x0007 line=215
      locals        : 

    #37              : (in LTestBadBootstrapArguments;)
      name          : 'wrongParameterTypes'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 49
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
002524:                                        |[002524] TestBadBootstrapArguments.wrongParameterTypes:()V
002534: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002538: 1a01 d601                              |0002: const-string v1, "wrongParameterTypes" // string@01d6
00253c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002542: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=102
        0x0007 line=103
      locals        : 

  Virtual methods   -
  source_file_idx   : 144 (TestBadBootstrapArguments.java)

Class #7 header:
class_idx           : 10
access_flags        : 0 (0x0000)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 147
annotations_off     : 30988 (0x00790c)
class_data_off      : 29220 (0x007224)
static_fields_size  : 1
instance_fields_size: 0
direct_methods_size : 7
virtual_methods_size: 0

Class #7 annotations:
Annotations on method #67 'bsm'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #71 'testDynamic'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestDynamicBootstrapArguments; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/String; J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "A" } Lannotations/Constant; longValue={ 100000000 } } fieldOrMethodName="target" parameterTypes={ I Ljava/lang/String; D } returnType=I

Class #7            -
  Class descriptor  : 'LTestDynamicBootstrapArguments;'
  Access flags      : 0x0000 ()
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
    #0              : (in LTestDynamicBootstrapArguments;)
      name          : 'bsmCalls'
      type          : 'I'
      access        : 0x000a (PRIVATE STATIC)
  Instance fields   -
  Direct methods    -
    #0              : (in LTestDynamicBootstrapArguments;)
      name          : '<clinit>'
      type          : '()V'
      access        : 0x10008 (STATIC CONSTRUCTOR)
      method_idx    : 63
      code          -
      registers     : 1
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
0029c8:                                        |[0029c8] TestDynamicBootstrapArguments.<clinit>:()V
0029d8: 1200                                   |0000: const/4 v0, #int 0 // #0
0029da: 6700 0000                              |0001: sput v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000
0029de: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=27
      locals        : 

    #1              : (in LTestDynamicBootstrapArguments;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10000 (CONSTRUCTOR)
      method_idx    : 64
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
0029e0:                                        |[0029e0] TestDynamicBootstrapArguments.<init>:()V
0029f0: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
0029f6: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=26
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestDynamicBootstrapArguments; 

    #2              : (in LTestDynamicBootstrapArguments;)
      name          : 'bsm'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 67
      code          -
      registers     : 11
      ins           : 6
      outs          : 4
      insns size    : 43 16-bit code units
002960:                                        |[002960] TestDynamicBootstrapArguments.bsm:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite;
002970: 6000 0000                              |0000: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000
002974: d800 0001                              |0002: add-int/lit8 v0, v0, #int 1 // #01
002978: 6700 0000                              |0004: sput v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000
00297c: 1c00 0a00                              |0006: const-class v0, LTestDynamicBootstrapArguments; // type@000a
002980: 2201 2d00                              |0008: new-instance v1, Ljava/lang/StringBuilder; // type@002d
002984: 7010 c100 0100                         |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
00298a: 6e20 c800 6100                         |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002990: 6e20 c800 8100                         |0010: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
002996: 6e30 c600 910a                         |0013: invoke-virtual {v1, v9, v10}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00c6
00299c: 6e10 ca00 0100                         |0016: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0029a2: 0c01                                   |0019: move-result-object v1
0029a4: 6e40 d800 0571                         |001a: invoke-virtual {v5, v0, v1, v7}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
0029aa: 0c02                                   |001d: move-result-object v2
0029ac: 6203 1300                              |001e: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0029b0: 1a04 ea00                              |0020: const-string v4, "bsm" // string@00ea
0029b4: 6e20 b300 4300                         |0022: invoke-virtual {v3, v4}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0029ba: 2203 3400                              |0025: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034
0029be: 7020 d200 2300                         |0027: invoke-direct {v3, v2}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
0029c4: 1103                                   |002a: return-object v3
      catches       : (none)
      positions     : 
        0x0000 line=36
        0x0006 line=37
        0x0008 line=38
        0x001a line=39
        0x001e line=40
        0x0025 line=41
      locals        : 
        0x0008 - 0x002b reg=0 definingClass Ljava/lang/Class; Ljava/lang/Class<*>;
        0x001a - 0x002b reg=1 methodName Ljava/lang/String; 
        0x001e - 0x002b reg=2 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x002b reg=5 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x002b reg=6 name Ljava/lang/String; 
        0x0000 - 0x002b reg=7 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x002b reg=8 otherNameComponent Ljava/lang/String; 
        0x0000 - 0x002b reg=9 nameSuffix J 

    #3              : (in LTestDynamicBootstrapArguments;)
      name          : 'targetA100000000'
      type          : '(ILjava/lang/String;Ljava/lang/Double;)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 68
      code          -
      registers     : 5
      ins           : 3
      outs          : 2
      insns size    : 30 16-bit code units
0028f8:                                        |[0028f8] TestDynamicBootstrapArguments.targetA100000000:(ILjava/lang/String;Ljava/lang/Double;)I
002908: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00290c: 6e20 ad00 2000                         |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.print:(I)V // method@00ad
002912: 6200 1300                              |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002916: 1a01 0c00                              |0007: const-string v1, ", " // string@000c
00291a: 6e20 b000 1000                         |0009: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002920: 6200 1300                              |000c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002924: 6e20 b000 3000                         |000e: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
00292a: 6200 1300                              |0011: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00292e: 1a01 0c00                              |0013: const-string v1, ", " // string@000c
002932: 6e20 b000 1000                         |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002938: 6200 1300                              |0018: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00293c: 6e20 b200 4000                         |001a: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
002942: 0f02                                   |001d: return v2
      catches       : (none)
      positions     : 
        0x0000 line=71
        0x0005 line=72
        0x000c line=73
        0x0011 line=74
        0x0018 line=75
        0x001d line=76
      locals        : 
        0x0000 - 0x001e reg=2 i I 
        0x0000 - 0x001e reg=3 s Ljava/lang/String; 
        0x0000 - 0x001e reg=4 d Ljava/lang/Double; 

    #4              : (in LTestDynamicBootstrapArguments;)
      name          : 'test'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 69
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 25 16-bit code units
0029f8:                                        |[0029f8] TestDynamicBootstrapArguments.test:()V
002a08: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002a0c: 1a01 9200                              |0002: const-string v1, "TestDynamicArguments" // string@0092
002a10: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002a16: 7100 4600 0000                         |0007: invoke-static {}, LTestDynamicBootstrapArguments;.testCallSites:()V // method@0046
002a1c: 6000 0000                              |000a: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000
002a20: 1231                                   |000c: const/4 v1, #int 3 // #3
002a22: 7120 4100 0100                         |000d: invoke-static {v1, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041
002a28: 7100 4600 0000                         |0010: invoke-static {}, LTestDynamicBootstrapArguments;.testCallSites:()V // method@0046
002a2e: 6000 0000                              |0013: sget v0, LTestDynamicBootstrapArguments;.bsmCalls:I // field@0000
002a32: 7120 4100 0100                         |0015: invoke-static {v1, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041
002a38: 0e00                                   |0018: return-void
      catches       : (none)
      positions     : 
        0x0000 line=86
        0x0007 line=87
        0x000a line=88
        0x0010 line=89
        0x0013 line=90
        0x0018 line=91
      locals        : 

    #5              : (in LTestDynamicBootstrapArguments;)
      name          : 'testCallSites'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 70
      code          -
      registers     : 3
      ins           : 0
      outs          : 3
      insns size    : 55 16-bit code units
002a3c:                                        |[002a3c] TestDynamicBootstrapArguments.testCallSites:()V
002a4c: 1a00 8b00                              |0000: const-string v0, "One" // string@008b
002a50: 1801 182d 4454 fb21 0940               |0002: const-wide v1, #double 3.14159 // #400921fb54442d18
002a5a: 7120 b900 2100                         |0007: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9
002a60: 0c01                                   |000a: move-result-object v1
002a62: 1202                                   |000b: const/4 v2, #int 0 // #0
002a64: fc30 0f00 0201                         |000c: invoke-custom {v2, v0, v1}, call_site@000f
002a6a: 0a00                                   |000f: move-result v0
002a6c: 7120 4100 0200                         |0010: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041
002a72: 1a00 a200                              |0013: const-string v0, "Two" // string@00a2
002a76: 1801 6957 148b 0abf 0540               |0015: const-wide v1, #double 2.71828 // #4005bf0a8b145769
002a80: 7120 b900 2100                         |001a: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9
002a86: 0c01                                   |001d: move-result-object v1
002a88: 1212                                   |001e: const/4 v2, #int 1 // #1
002a8a: fc30 1000 0201                         |001f: invoke-custom {v2, v0, v1}, call_site@0010
002a90: 0a00                                   |0022: move-result v0
002a92: 7120 4100 0200                         |0023: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041
002a98: 1a00 9f00                              |0026: const-string v0, "Three" // string@009f
002a9c: 1601 0000                              |0028: const-wide/16 v1, #int 0 // #0
002aa0: 7120 b900 2100                         |002a: invoke-static {v1, v2}, Ljava/lang/Double;.valueOf:(D)Ljava/lang/Double; // method@00b9
002aa6: 0c01                                   |002d: move-result-object v1
002aa8: 1222                                   |002e: const/4 v2, #int 2 // #2
002aaa: fc30 1100 0201                         |002f: invoke-custom {v2, v0, v1}, call_site@0011
002ab0: 0a00                                   |0032: move-result v0
002ab2: 7120 4100 0200                         |0033: invoke-static {v2, v0}, LTestDynamicBootstrapArguments;.assertEquals:(II)V // method@0041
002ab8: 0e00                                   |0036: return-void
      catches       : (none)
      positions     : 
        0x0000 line=80
        0x0013 line=81
        0x0026 line=82
        0x0036 line=83
      locals        : 

    #6              : (in LTestDynamicBootstrapArguments;)
      name          : 'testDynamic'
      type          : '(ILjava/lang/String;Ljava/lang/Double;)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 71
      code          -
      registers     : 4
      ins           : 3
      outs          : 0
      insns size    : 5 16-bit code units
002944:                                        |[002944] TestDynamicBootstrapArguments.testDynamic:(ILjava/lang/String;Ljava/lang/Double;)I
002954: 7100 4200 0000                         |0000: invoke-static {}, LTestDynamicBootstrapArguments;.assertNotReached:()V // method@0042
00295a: 1200                                   |0003: const/4 v0, #int 0 // #0
00295c: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=66
        0x0003 line=67
      locals        : 
        0x0000 - 0x0005 reg=1 i I 
        0x0000 - 0x0005 reg=2 s Ljava/lang/String; 
        0x0000 - 0x0005 reg=3 d Ljava/lang/Double; 

  Virtual methods   -
  source_file_idx   : 147 (TestDynamicBootstrapArguments.java)

Class #8 header:
class_idx           : 12
access_flags        : 0 (0x0000)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 148
annotations_off     : 31020 (0x00792c)
class_data_off      : 29258 (0x00724a)
static_fields_size  : 1
instance_fields_size: 1
direct_methods_size : 18
virtual_methods_size: 1

Class #8 annotations:
Annotations on class
  VISIBILITY_SYSTEM Ldalvik/annotation/MemberClasses; value={ LTestInvocationKinds$Widget; }
Annotations on method #78 'getInstanceField'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupInstanceFieldGetter" } fieldOrMethodName="instance_field" parameterTypes={ LTestInvocationKinds; } returnType=D
Annotations on method #80 'getStaticField'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupStaticFieldGetter" } fieldOrMethodName="static_field" parameterTypes={ } returnType=I
Annotations on method #81 'lookupConstructor'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #82 'lookupInstanceFieldGetter'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #83 'lookupInstanceFieldSetter'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #84 'lookupStaticFieldGetter'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #85 'lookupStaticFieldSetter'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #86 'lookupVirtual'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #87 'makeWidget'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupConstructor" } fieldOrMethodName="unused" parameterTypes={ I } returnType=LTestInvocationKinds$Widget;
Annotations on method #88 'maxIntegerValue'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupVirtual" } fieldOrMethodName="getMaxIntegerValue" parameterTypes={ LTestInvocationKinds; I I } returnType=I
Annotations on method #89 'setInstanceField'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupInstanceFieldSetter" } fieldOrMethodName="instance_field" parameterTypes={ LTestInvocationKinds; D } returnType=V
Annotations on method #90 'setStaticField'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvocationKinds; name="lookupStaticFieldSetter" } fieldOrMethodName="static_field" parameterTypes={ I } returnType=V

Class #8            -
  Class descriptor  : 'LTestInvocationKinds;'
  Access flags      : 0x0000 ()
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
    #0              : (in LTestInvocationKinds;)
      name          : 'static_field'
      type          : 'I'
      access        : 0x000a (PRIVATE STATIC)
  Instance fields   -
    #0              : (in LTestInvocationKinds;)
      name          : 'instance_field'
      type          : 'D'
      access        : 0x0002 (PRIVATE)
  Direct methods    -
    #0              : (in LTestInvocationKinds;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10000 (CONSTRUCTOR)
      method_idx    : 73
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
002ca4:                                        |[002ca4] TestInvocationKinds.<init>:()V
002cb4: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
002cba: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=25
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestInvocationKinds; 

    #1              : (in LTestInvocationKinds;)
      name          : 'getInstanceField'
      type          : '(LTestInvocationKinds;)D'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 78
      code          -
      registers     : 3
      ins           : 1
      outs          : 0
      insns size    : 6 16-bit code units
002af0:                                        |[002af0] TestInvocationKinds.getInstanceField:(LTestInvocationKinds;)D
002b00: 7100 4d00 0000                         |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d
002b06: 1900 f87f                              |0003: const-wide/high16 v0, #long 9221120237041090560 // #7ff8
002b0a: 1000                                   |0005: return-wide v0
      catches       : (none)
      positions     : 
        0x0000 line=117
        0x0003 line=118
      locals        : 
        0x0000 - 0x0006 reg=2 instance LTestInvocationKinds; 

    #2              : (in LTestInvocationKinds;)
      name          : 'getStaticField'
      type          : '()I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 80
      code          -
      registers     : 1
      ins           : 0
      outs          : 0
      insns size    : 5 16-bit code units
002b28:                                        |[002b28] TestInvocationKinds.getStaticField:()I
002b38: 7100 4d00 0000                         |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d
002b3e: 1200                                   |0003: const/4 v0, #int 0 // #0
002b40: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=71
        0x0003 line=72
      locals        : 

    #3              : (in LTestInvocationKinds;)
      name          : 'lookupConstructor'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 81
      code          -
      registers     : 7
      ins           : 3
      outs          : 3
      insns size    : 20 16-bit code units
002b60:                                        |[002b60] TestInvocationKinds.lookupConstructor:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002b70: 6e10 e500 0600                         |0000: invoke-virtual {v6}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5
002b76: 0c00                                   |0003: move-result-object v0
002b78: 6201 1400                              |0004: sget-object v1, Ljava/lang/Void;.TYPE:Ljava/lang/Class; // field@0014
002b7c: 6e20 df00 1600                         |0006: invoke-virtual {v6, v1}, Ljava/lang/invoke/MethodType;.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@00df
002b82: 0c01                                   |0009: move-result-object v1
002b84: 6e30 d500 0401                         |000a: invoke-virtual {v4, v0, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d5
002b8a: 0c02                                   |000d: move-result-object v2
002b8c: 2203 3400                              |000e: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034
002b90: 7020 d200 2300                         |0010: invoke-direct {v3, v2}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
002b96: 1103                                   |0013: return-object v3
      catches       : (none)
      positions     : 
        0x0000 line=183
        0x0004 line=184
        0x000a line=185
        0x000e line=186
      locals        : 
        0x0004 - 0x0014 reg=0 cls Ljava/lang/Class; Ljava/lang/Class<*>;
        0x000a - 0x0014 reg=1 constructorMethodType Ljava/lang/invoke/MethodType; 
        0x000e - 0x0014 reg=2 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0014 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0014 reg=5 name Ljava/lang/String; 
        0x0000 - 0x0014 reg=6 methodType Ljava/lang/invoke/MethodType; 

    #4              : (in LTestInvocationKinds;)
      name          : 'lookupInstanceFieldGetter'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 82
      code          -
      registers     : 5
      ins           : 3
      outs          : 4
      insns size    : 20 16-bit code units
002b98:                                        |[002b98] TestInvocationKinds.lookupInstanceFieldGetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002ba8: 0000                                   |0000: nop // spacer
002baa: 1200                                   |0001: const/4 v0, #int 0 // #0
002bac: 6e20 e400 0400                         |0002: invoke-virtual {v4, v0}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4
002bb2: 0c00                                   |0005: move-result-object v0
002bb4: 6e10 e500 0400                         |0006: invoke-virtual {v4}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5
002bba: 0c01                                   |0009: move-result-object v1
002bbc: 6e40 d600 0213                         |000a: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d6
002bc2: 0c00                                   |000d: move-result-object v0
002bc4: 2201 3400                              |000e: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
002bc8: 7020 d200 0100                         |0010: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
002bce: 1101                                   |0013: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=101
        0x0001 line=102
        0x000e line=103
      locals        : 
        0x000e - 0x0014 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0014 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0014 reg=3 name Ljava/lang/String; 
        0x0000 - 0x0014 reg=4 methodType Ljava/lang/invoke/MethodType; 

    #5              : (in LTestInvocationKinds;)
      name          : 'lookupInstanceFieldSetter'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 83
      code          -
      registers     : 5
      ins           : 3
      outs          : 4
      insns size    : 21 16-bit code units
002bd0:                                        |[002bd0] TestInvocationKinds.lookupInstanceFieldSetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002be0: 0000                                   |0000: nop // spacer
002be2: 1200                                   |0001: const/4 v0, #int 0 // #0
002be4: 6e20 e400 0400                         |0002: invoke-virtual {v4, v0}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4
002bea: 0c00                                   |0005: move-result-object v0
002bec: 1211                                   |0006: const/4 v1, #int 1 // #1
002bee: 6e20 e400 1400                         |0007: invoke-virtual {v4, v1}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4
002bf4: 0c01                                   |000a: move-result-object v1
002bf6: 6e40 d700 0213                         |000b: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d7
002bfc: 0c00                                   |000e: move-result-object v0
002bfe: 2201 3400                              |000f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
002c02: 7020 d200 0100                         |0011: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
002c08: 1101                                   |0014: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=78
        0x0001 line=79
        0x000f line=80
      locals        : 
        0x000f - 0x0015 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0015 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0015 reg=3 name Ljava/lang/String; 
        0x0000 - 0x0015 reg=4 methodType Ljava/lang/invoke/MethodType; 

    #6              : (in LTestInvocationKinds;)
      name          : 'lookupStaticFieldGetter'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 84
      code          -
      registers     : 5
      ins           : 3
      outs          : 4
      insns size    : 16 16-bit code units
002c0c:                                        |[002c0c] TestInvocationKinds.lookupStaticFieldGetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002c1c: 1c00 0c00                              |0000: const-class v0, LTestInvocationKinds; // type@000c
002c20: 6e10 e500 0400                         |0002: invoke-virtual {v4}, Ljava/lang/invoke/MethodType;.returnType:()Ljava/lang/Class; // method@00e5
002c26: 0c01                                   |0005: move-result-object v1
002c28: 6e40 d900 0213                         |0006: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStaticGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00d9
002c2e: 0c00                                   |0009: move-result-object v0
002c30: 2201 3400                              |000a: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
002c34: 7020 d200 0100                         |000c: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
002c3a: 1101                                   |000f: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=32
        0x0002 line=33
        0x000a line=34
      locals        : 
        0x000a - 0x0010 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0010 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0010 reg=3 name Ljava/lang/String; 
        0x0000 - 0x0010 reg=4 methodType Ljava/lang/invoke/MethodType; 

    #7              : (in LTestInvocationKinds;)
      name          : 'lookupStaticFieldSetter'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x0008 (STATIC)
      method_idx    : 85
      code          -
      registers     : 5
      ins           : 3
      outs          : 4
      insns size    : 17 16-bit code units
002c3c:                                        |[002c3c] TestInvocationKinds.lookupStaticFieldSetter:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002c4c: 1c00 0c00                              |0000: const-class v0, LTestInvocationKinds; // type@000c
002c50: 1201                                   |0002: const/4 v1, #int 0 // #0
002c52: 6e20 e400 1400                         |0003: invoke-virtual {v4, v1}, Ljava/lang/invoke/MethodType;.parameterType:(I)Ljava/lang/Class; // method@00e4
002c58: 0c01                                   |0006: move-result-object v1
002c5a: 6e40 da00 0213                         |0007: invoke-virtual {v2, v0, v3, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStaticSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00da
002c60: 0c00                                   |000a: move-result-object v0
002c62: 2201 3400                              |000b: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
002c66: 7020 d200 0100                         |000d: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
002c6c: 1101                                   |0010: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=54
        0x0002 line=56
        0x0007 line=55
        0x000b line=57
      locals        : 
        0x000b - 0x0011 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0011 reg=2 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0011 reg=3 name Ljava/lang/String; 
        0x0000 - 0x0011 reg=4 methodType Ljava/lang/invoke/MethodType; 

    #8              : (in LTestInvocationKinds;)
      name          : 'lookupVirtual'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 86
      code          -
      registers     : 6
      ins           : 3
      outs          : 4
      insns size    : 18 16-bit code units
002c70:                                        |[002c70] TestInvocationKinds.lookupVirtual:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002c80: 1200                                   |0000: const/4 v0, #int 0 // #0
002c82: 1211                                   |0001: const/4 v1, #int 1 // #1
002c84: 6e30 e000 0501                         |0002: invoke-virtual {v5, v0, v1}, Ljava/lang/invoke/MethodType;.dropParameterTypes:(II)Ljava/lang/invoke/MethodType; // method@00e0
002c8a: 0c00                                   |0005: move-result-object v0
002c8c: 1c01 0c00                              |0006: const-class v1, LTestInvocationKinds; // type@000c
002c90: 6e40 db00 1304                         |0008: invoke-virtual {v3, v1, v4, v0}, Ljava/lang/invoke/MethodHandles$Lookup;.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00db
002c96: 0c01                                   |000b: move-result-object v1
002c98: 2202 3400                              |000c: new-instance v2, Ljava/lang/invoke/ConstantCallSite; // type@0034
002c9c: 7020 d200 1200                         |000e: invoke-direct {v2, v1}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
002ca2: 1102                                   |0011: return-object v2
      catches       : (none)
      positions     : 
        0x0000 line=146
        0x0006 line=147
        0x000c line=148
      locals        : 
        0x0006 - 0x0012 reg=0 mt Ljava/lang/invoke/MethodType; 
        0x000c - 0x0012 reg=1 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0012 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0012 reg=4 name Ljava/lang/String; 
        0x0000 - 0x0012 reg=5 methodType Ljava/lang/invoke/MethodType; 

    #9              : (in LTestInvocationKinds;)
      name          : 'makeWidget'
      type          : '(I)LTestInvocationKinds$Widget;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 87
      code          -
      registers     : 2
      ins           : 1
      outs          : 0
      insns size    : 5 16-bit code units
002ad4:                                        |[002ad4] TestInvocationKinds.makeWidget:(I)LTestInvocationKinds$Widget;
002ae4: 7100 4d00 0000                         |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d
002aea: 1200                                   |0003: const/4 v0, #int 0 // #0
002aec: 1100                                   |0004: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=200
        0x0003 line=201
      locals        : 
        0x0000 - 0x0005 reg=1 v I 

    #10              : (in LTestInvocationKinds;)
      name          : 'maxIntegerValue'
      type          : '(LTestInvocationKinds;II)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 88
      code          -
      registers     : 4
      ins           : 3
      outs          : 0
      insns size    : 5 16-bit code units
002b44:                                        |[002b44] TestInvocationKinds.maxIntegerValue:(LTestInvocationKinds;II)I
002b54: 7100 4d00 0000                         |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d
002b5a: 1200                                   |0003: const/4 v0, #int 0 // #0
002b5c: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=159
        0x0003 line=160
      locals        : 
        0x0000 - 0x0005 reg=1 receiver LTestInvocationKinds; 
        0x0000 - 0x0005 reg=2 x I 
        0x0000 - 0x0005 reg=3 y I 

    #11              : (in LTestInvocationKinds;)
      name          : 'setInstanceField'
      type          : '(LTestInvocationKinds;D)V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 89
      code          -
      registers     : 5
      ins           : 3
      outs          : 0
      insns size    : 8 16-bit code units
002cbc:                                        |[002cbc] TestInvocationKinds.setInstanceField:(LTestInvocationKinds;D)V
002ccc: 7100 4d00 0000                         |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d
002cd2: 1900 f87f                              |0003: const-wide/high16 v0, #long 9221120237041090560 // #7ff8
002cd6: 5a20 0200                              |0005: iput-wide v0, v2, LTestInvocationKinds;.instance_field:D // field@0002
002cda: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=94
        0x0003 line=95
        0x0007 line=96
      locals        : 
        0x0000 - 0x0008 reg=2 instance LTestInvocationKinds; 
        0x0000 - 0x0008 reg=3 value D 

    #12              : (in LTestInvocationKinds;)
      name          : 'setStaticField'
      type          : '(I)V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 90
      code          -
      registers     : 1
      ins           : 1
      outs          : 0
      insns size    : 4 16-bit code units
002cdc:                                        |[002cdc] TestInvocationKinds.setStaticField:(I)V
002cec: 7100 4d00 0000                         |0000: invoke-static {}, LTestInvocationKinds;.assertNotReached:()V // method@004d
002cf2: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=48
        0x0003 line=49
      locals        : 
        0x0000 - 0x0004 reg=0 value I 

    #13              : (in LTestInvocationKinds;)
      name          : 'test'
      type          : '()V'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 91
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 24 16-bit code units
002cf4:                                        |[002cf4] TestInvocationKinds.test:()V
002d04: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002d08: 1c01 0c00                              |0002: const-class v1, LTestInvocationKinds; // type@000c
002d0c: 6e10 b700 0100                         |0004: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@00b7
002d12: 0c01                                   |0007: move-result-object v1
002d14: 6e20 b300 1000                         |0008: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002d1a: 7100 5f00 0000                         |000b: invoke-static {}, LTestInvocationKinds;.testStaticFieldAccessors:()V // method@005f
002d20: 7100 5d00 0000                         |000e: invoke-static {}, LTestInvocationKinds;.testInstanceFieldAccessors:()V // method@005d
002d26: 7100 5e00 0000                         |0011: invoke-static {}, LTestInvocationKinds;.testInvokeVirtual:()V // method@005e
002d2c: 7100 5c00 0000                         |0014: invoke-static {}, LTestInvocationKinds;.testConstructor:()V // method@005c
002d32: 0e00                                   |0017: return-void
      catches       : (none)
      positions     : 
        0x0000 line=212
        0x000b line=213
        0x000e line=214
        0x0011 line=215
        0x0014 line=216
        0x0017 line=217
      locals        : 

    #14              : (in LTestInvocationKinds;)
      name          : 'testConstructor'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 92
      code          -
      registers     : 3
      ins           : 0
      outs          : 2
      insns size    : 31 16-bit code units
002d34:                                        |[002d34] TestInvocationKinds.testConstructor:()V
002d44: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002d48: 1a01 b601                              |0002: const-string v1, "testConstructor => " // string@01b6
002d4c: 6e20 b000 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002d52: 1230                                   |0007: const/4 v0, #int 3 // #3
002d54: fc10 1200 0000                         |0008: invoke-custom {v0}, call_site@0012
002d5a: 0c00                                   |000b: move-result-object v0
002d5c: 1c01 0b00                              |000c: const-class v1, LTestInvocationKinds$Widget; // type@000b
002d60: 6e10 c000 0000                         |000e: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002d66: 0c02                                   |0011: move-result-object v2
002d68: 7120 4c00 2100                         |0012: invoke-static {v1, v2}, LTestInvocationKinds;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@004c
002d6e: 6201 1300                              |0015: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002d72: 6e10 c000 0000                         |0017: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
002d78: 0c02                                   |001a: move-result-object v2
002d7a: 6e20 b200 2100                         |001b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
002d80: 0e00                                   |001e: return-void
      catches       : (none)
      positions     : 
        0x0000 line=205
        0x0007 line=206
        0x000c line=207
        0x0015 line=208
        0x001e line=209
      locals        : 
        0x000c - 0x001f reg=0 receiver LTestInvocationKinds$Widget; 

    #15              : (in LTestInvocationKinds;)
      name          : 'testInstanceFieldAccessors'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 93
      code          -
      registers     : 5
      ins           : 0
      outs          : 4
      insns size    : 44 16-bit code units
002d84:                                        |[002d84] TestInvocationKinds.testInstanceFieldAccessors:()V
002d94: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002d98: 1a01 b801                              |0002: const-string v1, "testInstanceFieldAccessors" // string@01b8
002d9c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002da2: 2200 0c00                              |0007: new-instance v0, LTestInvocationKinds; // type@000c
002da6: 7010 4900 0000                         |0009: invoke-direct {v0}, LTestInvocationKinds;.<init>:()V // method@0049
002dac: 1601 0100                              |000c: const-wide/16 v1, #int 1 // #1
002db0: 5a01 0200                              |000e: iput-wide v1, v0, LTestInvocationKinds;.instance_field:D // field@0002
002db4: 1801 182d 4454 fb21 0940               |0010: const-wide v1, #double 3.14159 // #400921fb54442d18
002dbe: fc30 1300 1002                         |0015: invoke-custom {v0, v1, v2}, call_site@0013
002dc4: 5303 0200                              |0018: iget-wide v3, v0, LTestInvocationKinds;.instance_field:D // field@0002
002dc8: 7140 4a00 2143                         |001a: invoke-static {v1, v2, v3, v4}, LTestInvocationKinds;.assertEquals:(DD)V // method@004a
002dce: 1801 6957 148b 0abf 0540               |001d: const-wide v1, #double 2.71828 // #4005bf0a8b145769
002dd8: 5a01 0200                              |0022: iput-wide v1, v0, LTestInvocationKinds;.instance_field:D // field@0002
002ddc: fc10 1400 0000                         |0024: invoke-custom {v0}, call_site@0014
002de2: 0b03                                   |0027: move-result-wide v3
002de4: 7140 4a00 2143                         |0028: invoke-static {v1, v2, v3, v4}, LTestInvocationKinds;.assertEquals:(DD)V // method@004a
002dea: 0e00                                   |002b: return-void
      catches       : (none)
      positions     : 
        0x0000 line=133
        0x0007 line=134
        0x000c line=135
        0x0010 line=136
        0x0018 line=137
        0x001d line=138
        0x0024 line=139
        0x002b line=140
      locals        : 
        0x000c - 0x002c reg=0 instance LTestInvocationKinds; 

    #16              : (in LTestInvocationKinds;)
      name          : 'testInvokeVirtual'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 94
      code          -
      registers     : 3
      ins           : 0
      outs          : 3
      insns size    : 25 16-bit code units
002dec:                                        |[002dec] TestInvocationKinds.testInvokeVirtual:()V
002dfc: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002e00: 1a01 ba01                              |0002: const-string v1, "testInvokeVirtual => max(77, -3) = " // string@01ba
002e04: 6e20 b000 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
002e0a: 2200 0c00                              |0007: new-instance v0, LTestInvocationKinds; // type@000c
002e0e: 7010 4900 0000                         |0009: invoke-direct {v0}, LTestInvocationKinds;.<init>:()V // method@0049
002e14: 1301 4d00                              |000c: const/16 v1, #int 77 // #4d
002e18: 12d2                                   |000e: const/4 v2, #int -3 // #fd
002e1a: fc30 1500 1002                         |000f: invoke-custom {v0, v1, v2}, call_site@0015
002e20: 0a01                                   |0012: move-result v1
002e22: 6202 1300                              |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002e26: 6e20 b100 1200                         |0015: invoke-virtual {v2, v1}, Ljava/io/PrintStream;.println:(I)V // method@00b1
002e2c: 0e00                                   |0018: return-void
      catches       : (none)
      positions     : 
        0x0000 line=168
        0x0007 line=169
        0x000c line=170
        0x0013 line=171
        0x0018 line=172
      locals        : 
        0x000c - 0x0019 reg=0 receiver LTestInvocationKinds; 
        0x0013 - 0x0019 reg=1 result I 

    #17              : (in LTestInvocationKinds;)
      name          : 'testStaticFieldAccessors'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 95
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 47 16-bit code units
002e30:                                        |[002e30] TestInvocationKinds.testStaticFieldAccessors:()V
002e40: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
002e44: 1a01 bb01                              |0002: const-string v1, "testStaticFieldAccessors" // string@01bb
002e48: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
002e4e: 1230                                   |0007: const/4 v0, #int 3 // #3
002e50: fc10 1600 0000                         |0008: invoke-custom {v0}, call_site@0016
002e56: 6001 0300                              |000b: sget v1, LTestInvocationKinds;.static_field:I // field@0003
002e5a: 7120 4b00 0100                         |000d: invoke-static {v1, v0}, LTestInvocationKinds;.assertEquals:(II)V // method@004b
002e60: 1240                                   |0010: const/4 v0, #int 4 // #4
002e62: fc10 1700 0000                         |0011: invoke-custom {v0}, call_site@0017
002e68: 6001 0300                              |0014: sget v1, LTestInvocationKinds;.static_field:I // field@0003
002e6c: 7120 4b00 0100                         |0016: invoke-static {v1, v0}, LTestInvocationKinds;.assertEquals:(II)V // method@004b
002e72: 6000 0300                              |0019: sget v0, LTestInvocationKinds;.static_field:I // field@0003
002e76: fc00 1800 0000                         |001b: invoke-custom {}, call_site@0018
002e7c: 0a01                                   |001e: move-result v1
002e7e: 7120 4b00 1000                         |001f: invoke-static {v0, v1}, LTestInvocationKinds;.assertEquals:(II)V // method@004b
002e84: 1400 ffff ff7f                         |0022: const v0, #float nan // #7fffffff
002e8a: 6700 0300                              |0025: sput v0, LTestInvocationKinds;.static_field:I // field@0003
002e8e: fc00 1900 0000                         |0027: invoke-custom {}, call_site@0019
002e94: 0a01                                   |002a: move-result v1
002e96: 7120 4b00 1000                         |002b: invoke-static {v0, v1}, LTestInvocationKinds;.assertEquals:(II)V // method@004b
002e9c: 0e00                                   |002e: return-void
      catches       : (none)
      positions     : 
        0x0000 line=122
        0x0007 line=123
        0x000b line=124
        0x0010 line=125
        0x0014 line=126
        0x0019 line=127
        0x0022 line=128
        0x0027 line=129
        0x002e line=130
      locals        : 

  Virtual methods   -
    #0              : (in LTestInvocationKinds;)
      name          : 'getMaxIntegerValue'
      type          : '(II)I'
      access        : 0x0001 (PUBLIC)
      method_idx    : 79
      code          -
      registers     : 4
      ins           : 3
      outs          : 0
      insns size    : 6 16-bit code units
002b0c:                                        |[002b0c] TestInvocationKinds.getMaxIntegerValue:(II)I
002b1c: 3732 0400                              |0000: if-le v2, v3, 0004 // +0004
002b20: 0120                                   |0002: move v0, v2
002b22: 2802                                   |0003: goto 0005 // +0002
002b24: 0130                                   |0004: move v0, v3
002b26: 0f00                                   |0005: return v0
      catches       : (none)
      positions     : 
        0x0000 line=164
      locals        : 
        0x0000 - 0x0006 reg=1 this LTestInvocationKinds; 
        0x0000 - 0x0006 reg=2 x I 
        0x0000 - 0x0006 reg=3 y I 

  source_file_idx   : 148 (TestInvocationKinds.java)

Class #9 header:
class_idx           : 14
access_flags        : 1 (0x0001)
superclass_idx      : 9
interfaces_off      : 18256 (0x004750)
source_file_idx     : 149
annotations_off     : 31132 (0x00799c)
class_data_off      : 29344 (0x0072a0)
static_fields_size  : 7
instance_fields_size: 0
direct_methods_size : 8
virtual_methods_size: 1

Class #9 annotations:
Annotations on field #10 'threadIndex'
  VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "Ljava/lang/ThreadLocal<" "Ljava/lang/Integer;" ">;" }
Annotations on method #106 'linkerMethod'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #109 'setCalled'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestInvokeCustomWithConcurrentThreads; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } } fieldOrMethodName="setCalled" parameterTypes={ I } returnType=I
Annotations on method #110 'test'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }

Class #9            -
  Class descriptor  : 'LTestInvokeCustomWithConcurrentThreads;'
  Access flags      : 0x0001 (PUBLIC)
  Superclass        : 'LTestBase;'
  Interfaces        -
    #0              : 'Ljava/lang/Runnable;'
  Static fields     -
    #0              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'NUMBER_OF_THREADS'
      type          : 'I'
      access        : 0x001a (PRIVATE STATIC FINAL)
      value         : 16
    #1              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'barrier'
      type          : 'Ljava/util/concurrent/CyclicBarrier;'
      access        : 0x001a (PRIVATE STATIC FINAL)
    #2              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'called'
      type          : '[Ljava/util/concurrent/atomic/AtomicInteger;'
      access        : 0x001a (PRIVATE STATIC FINAL)
    #3              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'instantiated'
      type          : '[Ljava/lang/invoke/CallSite;'
      access        : 0x001a (PRIVATE STATIC FINAL)
    #4              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'nextIndex'
      type          : 'Ljava/util/concurrent/atomic/AtomicInteger;'
      access        : 0x001a (PRIVATE STATIC FINAL)
    #5              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'targetted'
      type          : '[Ljava/util/concurrent/atomic/AtomicInteger;'
      access        : 0x001a (PRIVATE STATIC FINAL)
    #6              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'threadIndex'
      type          : 'Ljava/lang/ThreadLocal;'
      access        : 0x001a (PRIVATE STATIC FINAL)
  Instance fields   -
  Direct methods    -
    #0              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : '<clinit>'
      type          : '()V'
      access        : 0x10008 (STATIC CONSTRUCTOR)
      method_idx    : 99
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 37 16-bit code units
003064:                                        |[003064] TestInvokeCustomWithConcurrentThreads.<clinit>:()V
003074: 2200 3e00                              |0000: new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e
003078: 1201                                   |0002: const/4 v1, #int 0 // #0
00307a: 7020 ef00 1000                         |0003: invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;.<init>:(I)V // method@00ef
003080: 6900 0800                              |0006: sput-object v0, LTestInvokeCustomWithConcurrentThreads;.nextIndex:Ljava/util/concurrent/atomic/AtomicInteger; // field@0008
003084: 2200 0d00                              |0008: new-instance v0, LTestInvokeCustomWithConcurrentThreads$1; // type@000d
003088: 7010 6000 0000                         |000a: invoke-direct {v0}, LTestInvokeCustomWithConcurrentThreads$1;.<init>:()V // method@0060
00308e: 6900 0a00                              |000d: sput-object v0, LTestInvokeCustomWithConcurrentThreads;.threadIndex:Ljava/lang/ThreadLocal; // field@000a
003092: 1300 1000                              |000f: const/16 v0, #int 16 // #10
003096: 2301 4b00                              |0011: new-array v1, v0, [Ljava/lang/invoke/CallSite; // type@004b
00309a: 6901 0700                              |0013: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007
00309e: 2301 4c00                              |0015: new-array v1, v0, [Ljava/util/concurrent/atomic/AtomicInteger; // type@004c
0030a2: 6901 0600                              |0017: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006
0030a6: 2301 4c00                              |0019: new-array v1, v0, [Ljava/util/concurrent/atomic/AtomicInteger; // type@004c
0030aa: 6901 0900                              |001b: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009
0030ae: 2201 3d00                              |001d: new-instance v1, Ljava/util/concurrent/CyclicBarrier; // type@003d
0030b2: 7020 ed00 0100                         |001f: invoke-direct {v1, v0}, Ljava/util/concurrent/CyclicBarrier;.<init>:(I)V // method@00ed
0030b8: 6901 0500                              |0022: sput-object v1, LTestInvokeCustomWithConcurrentThreads;.barrier:Ljava/util/concurrent/CyclicBarrier; // field@0005
0030bc: 0e00                                   |0024: return-void
      catches       : (none)
      positions     : 
        0x0000 line=30
        0x0008 line=32
        0x000f line=41
        0x0015 line=44
        0x0019 line=47
        0x001d line=50
      locals        : 

    #1              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10002 (PRIVATE CONSTRUCTOR)
      method_idx    : 100
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
0030c0:                                        |[0030c0] TestInvokeCustomWithConcurrentThreads.<init>:()V
0030d0: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
0030d6: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=52
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestInvokeCustomWithConcurrentThreads; 

    #2              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'access$000'
      type          : '()Ljava/util/concurrent/atomic/AtomicInteger;'
      access        : 0x1008 (STATIC SYNTHETIC)
      method_idx    : 101
      code          -
      registers     : 1
      ins           : 0
      outs          : 0
      insns size    : 3 16-bit code units
00304c:                                        |[00304c] TestInvokeCustomWithConcurrentThreads.access$000:()Ljava/util/concurrent/atomic/AtomicInteger;
00305c: 6200 0800                              |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.nextIndex:Ljava/util/concurrent/atomic/AtomicInteger; // field@0008
003060: 1100                                   |0002: return-object v0
      catches       : (none)
      positions     : 
        0x0000 line=27
      locals        : 

    #3              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'getThreadIndex'
      type          : '()I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 105
      code          -
      registers     : 1
      ins           : 0
      outs          : 1
      insns size    : 13 16-bit code units
002f00:                                        |[002f00] TestInvokeCustomWithConcurrentThreads.getThreadIndex:()I
002f10: 6200 0a00                              |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.threadIndex:Ljava/lang/ThreadLocal; // field@000a
002f14: 6e10 d000 0000                         |0002: invoke-virtual {v0}, Ljava/lang/ThreadLocal;.get:()Ljava/lang/Object; // method@00d0
002f1a: 0c00                                   |0005: move-result-object v0
002f1c: 1f00 2700                              |0006: check-cast v0, Ljava/lang/Integer; // type@0027
002f20: 6e10 bc00 0000                         |0008: invoke-virtual {v0}, Ljava/lang/Integer;.intValue:()I // method@00bc
002f26: 0a00                                   |000b: move-result v0
002f28: 0f00                                   |000c: return v0
      catches       : (none)
      positions     : 
        0x0000 line=55
      locals        : 

    #4              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'linkerMethod'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 106
      code          -
      registers     : 8
      ins           : 3
      outs          : 4
      insns size    : 97 16-bit code units
002f78:                                        |[002f78] TestInvokeCustomWithConcurrentThreads.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
002f88: 1c00 0e00                              |0000: const-class v0, LTestInvokeCustomWithConcurrentThreads; // type@000e
002f8c: 6e40 d800 0576                         |0002: invoke-virtual {v5, v0, v6, v7}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
002f92: 0c00                                   |0005: move-result-object v0
002f94: 6e10 d400 0000                         |0006: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4
002f9a: 0c01                                   |0009: move-result-object v1
002f9c: 7120 6700 1700                         |000a: invoke-static {v7, v1}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0067
002fa2: 6e10 d400 0000                         |000d: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4
002fa8: 0c01                                   |0010: move-result-object v1
002faa: 6e10 e300 0100                         |0011: invoke-virtual {v1}, Ljava/lang/invoke/MethodType;.parameterCount:()I // method@00e3
002fb0: 0a01                                   |0014: move-result v1
002fb2: 1212                                   |0015: const/4 v2, #int 1 // #1
002fb4: 7120 6600 2100                         |0016: invoke-static {v1, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066
002fba: 2321 4800                              |0019: new-array v1, v2, [Ljava/lang/Object; // type@0048
002fbe: 7100 6900 0000                         |001b: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069
002fc4: 0a03                                   |001e: move-result v3
002fc6: 7110 bd00 0300                         |001f: invoke-static {v3}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
002fcc: 0c03                                   |0022: move-result-object v3
002fce: 1204                                   |0023: const/4 v4, #int 0 // #0
002fd0: 4d03 0104                              |0024: aput-object v3, v1, v4
002fd4: 7130 de00 4001                         |0026: invoke-static {v0, v4, v1}, Ljava/lang/invoke/MethodHandles;.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle; // method@00de
002fda: 0c00                                   |0029: move-result-object v0
002fdc: 2321 4600                              |002a: new-array v1, v2, [Ljava/lang/Class; // type@0046
002fe0: 6203 1200                              |002c: sget-object v3, Ljava/lang/Integer;.TYPE:Ljava/lang/Class; // field@0012
002fe4: 4d03 0104                              |002e: aput-object v3, v1, v4
002fe8: 7130 dd00 4001                         |0030: invoke-static {v0, v4, v1}, Ljava/lang/invoke/MethodHandles;.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle; // method@00dd
002fee: 0c00                                   |0033: move-result-object v0
002ff0: 6e10 d400 0000                         |0034: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4
002ff6: 0c01                                   |0037: move-result-object v1
002ff8: 6e10 e300 0100                         |0038: invoke-virtual {v1}, Ljava/lang/invoke/MethodType;.parameterCount:()I // method@00e3
002ffe: 0a01                                   |003b: move-result v1
003000: 7120 6600 2100                         |003c: invoke-static {v1, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066
003006: 6e10 d400 0000                         |003f: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandle;.type:()Ljava/lang/invoke/MethodType; // method@00d4
00300c: 0c01                                   |0042: move-result-object v1
00300e: 7120 6700 1700                         |0043: invoke-static {v7, v1}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0067
003014: 6201 0500                              |0046: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.barrier:Ljava/util/concurrent/CyclicBarrier; // field@0005
003018: 6e10 ee00 0100                         |0048: invoke-virtual {v1}, Ljava/util/concurrent/CyclicBarrier;.await:()I // method@00ee
00301e: 6201 0700                              |004b: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007
003022: 7100 6900 0000                         |004d: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069
003028: 0a02                                   |0050: move-result v2
00302a: 2203 3400                              |0051: new-instance v3, Ljava/lang/invoke/ConstantCallSite; // type@0034
00302e: 7020 d200 0300                         |0053: invoke-direct {v3, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003034: 4d03 0102                              |0056: aput-object v3, v1, v2
003038: 6201 0700                              |0058: sget-object v1, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007
00303c: 7100 6900 0000                         |005a: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069
003042: 0a02                                   |005d: move-result v2
003044: 4601 0102                              |005e: aget-object v1, v1, v2
003048: 1101                                   |0060: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=87
        0x0002 line=88
        0x0006 line=89
        0x000d line=90
        0x0019 line=91
        0x002a line=92
        0x0034 line=93
        0x003f line=94
        0x0046 line=99
        0x004b line=101
        0x0058 line=102
      locals        : 
        0x0006 - 0x0061 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0061 reg=5 caller Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0061 reg=6 name Ljava/lang/String; 
        0x0000 - 0x0061 reg=7 methodType Ljava/lang/invoke/MethodType; 

    #5              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'notUsed'
      type          : '(I)I'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 107
      code          -
      registers     : 1
      ins           : 1
      outs          : 0
      insns size    : 1 16-bit code units
002f2c:                                        |[002f2c] TestInvokeCustomWithConcurrentThreads.notUsed:(I)I
002f3c: 0f00                                   |0000: return v0
      catches       : (none)
      positions     : 
        0x0000 line=59
      locals        : 
        0x0000 - 0x0001 reg=0 x I 

    #6              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'setCalled'
      type          : '(I)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 109
      code          -
      registers     : 3
      ins           : 1
      outs          : 2
      insns size    : 20 16-bit code units
002f40:                                        |[002f40] TestInvokeCustomWithConcurrentThreads.setCalled:(I)I
002f50: 6200 0600                              |0000: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006
002f54: 4600 0002                              |0002: aget-object v0, v0, v2
002f58: 6e10 f100 0000                         |0004: invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;.getAndIncrement:()I // method@00f1
002f5e: 6200 0900                              |0007: sget-object v0, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009
002f62: 7100 6900 0000                         |0009: invoke-static {}, LTestInvokeCustomWithConcurrentThreads;.getThreadIndex:()I // method@0069
002f68: 0a01                                   |000c: move-result v1
002f6a: 4600 0001                              |000d: aget-object v0, v0, v1
002f6e: 6e20 f200 2000                         |000f: invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicInteger;.set:(I)V // method@00f2
002f74: 1200                                   |0012: const/4 v0, #int 0 // #0
002f76: 0f00                                   |0013: return v0
      catches       : (none)
      positions     : 
        0x0000 line=79
        0x0007 line=80
        0x0012 line=81
      locals        : 
        0x0000 - 0x0014 reg=2 index I 

    #7              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'test'
      type          : '()V'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 110
      code          -
      registers     : 12
      ins           : 0
      outs          : 3
      insns size    : 229 16-bit code units
0030fc:                                        |[0030fc] TestInvokeCustomWithConcurrentThreads.test:()V
00310c: 1200                                   |0000: const/4 v0, #int 0 // #0
00310e: 0101                                   |0001: move v1, v0
003110: 1302 1000                              |0002: const/16 v2, #int 16 // #10
003114: 3521 1700                              |0004: if-ge v1, v2, 001b // +0017
003118: 6202 0600                              |0006: sget-object v2, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006
00311c: 2203 3e00                              |0008: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e
003120: 7020 ef00 0300                         |000a: invoke-direct {v3, v0}, Ljava/util/concurrent/atomic/AtomicInteger;.<init>:(I)V // method@00ef
003126: 4d03 0201                              |000d: aput-object v3, v2, v1
00312a: 6202 0900                              |000f: sget-object v2, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009
00312e: 2203 3e00                              |0011: new-instance v3, Ljava/util/concurrent/atomic/AtomicInteger; // type@003e
003132: 7020 ef00 0300                         |0013: invoke-direct {v3, v0}, Ljava/util/concurrent/atomic/AtomicInteger;.<init>:(I)V // method@00ef
003138: 4d03 0201                              |0016: aput-object v3, v2, v1
00313c: d801 0101                              |0018: add-int/lit8 v1, v1, #int 1 // #01
003140: 28e8                                   |001a: goto 0002 // -0018
003142: 2321 4a00                              |001b: new-array v1, v2, [Ljava/lang/Thread; // type@004a
003146: 0103                                   |001d: move v3, v0
003148: 3523 1600                              |001e: if-ge v3, v2, 0034 // +0016
00314c: 2204 2f00                              |0020: new-instance v4, Ljava/lang/Thread; // type@002f
003150: 2205 0e00                              |0022: new-instance v5, LTestInvokeCustomWithConcurrentThreads; // type@000e
003154: 7010 6400 0500                         |0024: invoke-direct {v5}, LTestInvokeCustomWithConcurrentThreads;.<init>:()V // method@0064
00315a: 7020 cb00 5400                         |0027: invoke-direct {v4, v5}, Ljava/lang/Thread;.<init>:(Ljava/lang/Runnable;)V // method@00cb
003160: 4d04 0103                              |002a: aput-object v4, v1, v3
003164: 4604 0103                              |002c: aget-object v4, v1, v3
003168: 6e10 ce00 0400                         |002e: invoke-virtual {v4}, Ljava/lang/Thread;.start:()V // method@00ce
00316e: d803 0301                              |0031: add-int/lit8 v3, v3, #int 1 // #01
003172: 28eb                                   |0033: goto 001e // -0015
003174: 0103                                   |0034: move v3, v0
003176: 3523 0a00                              |0035: if-ge v3, v2, 003f // +000a
00317a: 4604 0103                              |0037: aget-object v4, v1, v3
00317e: 6e10 cd00 0400                         |0039: invoke-virtual {v4}, Ljava/lang/Thread;.join:()V // method@00cd
003184: d803 0301                              |003c: add-int/lit8 v3, v3, #int 1 // #01
003188: 28f7                                   |003e: goto 0035 // -0009
00318a: 1203                                   |003f: const/4 v3, #int 0 // #0
00318c: 1204                                   |0040: const/4 v4, #int 0 // #0
00318e: 0145                                   |0041: move v5, v4
003190: 0134                                   |0042: move v4, v3
003192: 0103                                   |0043: move v3, v0
003194: 3523 2200                              |0044: if-ge v3, v2, 0066 // +0022
003198: 6206 0700                              |0046: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.instantiated:[Ljava/lang/invoke/CallSite; // field@0007
00319c: 4606 0603                              |0048: aget-object v6, v6, v3
0031a0: 1207                                   |004a: const/4 v7, #int 0 // #0
0031a2: 7120 6800 7600                         |004b: invoke-static {v6, v7}, LTestInvokeCustomWithConcurrentThreads;.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0068
0031a8: 6206 0600                              |004e: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006
0031ac: 4606 0603                              |0050: aget-object v6, v6, v3
0031b0: 6e10 f000 0600                         |0052: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0
0031b6: 0a06                                   |0055: move-result v6
0031b8: 3806 0d00                              |0056: if-eqz v6, 0063 // +000d
0031bc: d804 0401                              |0058: add-int/lit8 v4, v4, #int 1 // #01
0031c0: 6206 0600                              |005a: sget-object v6, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006
0031c4: 4606 0603                              |005c: aget-object v6, v6, v3
0031c8: 6e10 f000 0600                         |005e: invoke-virtual {v6}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0
0031ce: 0a06                                   |0061: move-result v6
0031d0: b065                                   |0062: add-int/2addr v5, v6
0031d2: d803 0301                              |0063: add-int/lit8 v3, v3, #int 1 // #01
0031d6: 28df                                   |0065: goto 0044 // -0021
0031d8: 6203 1300                              |0066: sget-object v3, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0031dc: 2206 2d00                              |0068: new-instance v6, Ljava/lang/StringBuilder; // type@002d
0031e0: 7010 c100 0600                         |006a: invoke-direct {v6}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
0031e6: 1a07 b800                              |006d: const-string v7, "Winners " // string@00b8
0031ea: 6e20 c800 7600                         |006f: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0031f0: 6e20 c500 4600                         |0072: invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0031f6: 1a07 0500                              |0075: const-string v7, " Votes " // string@0005
0031fa: 6e20 c800 7600                         |0077: invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
003200: 6e20 c500 5600                         |007a: invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
003206: 6e10 ca00 0600                         |007d: invoke-virtual {v6}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
00320c: 0c06                                   |0080: move-result-object v6
00320e: 6e20 b300 6300                         |0081: invoke-virtual {v3, v6}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003214: 1223                                   |0084: const/4 v3, #int 2 // #2
003216: 1216                                   |0085: const/4 v6, #int 1 // #1
003218: 3264 2c00                              |0086: if-eq v4, v6, 00b2 // +002c
00321c: 6207 1300                              |0088: sget-object v7, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003220: 1a08 9e00                              |008a: const-string v8, "Threads did not the same call-sites:" // string@009e
003224: 6e20 b300 8700                         |008c: invoke-virtual {v7, v8}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
00322a: 0107                                   |008f: move v7, v0
00322c: 3527 2200                              |0090: if-ge v7, v2, 00b2 // +0022
003230: 6208 1300                              |0092: sget-object v8, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003234: 1a09 0400                              |0094: const-string v9, " Thread % 2d invoked call site instance #%02d
" // string@0004
003238: 233a 4800                              |0096: new-array v10, v3, [Ljava/lang/Object; // type@0048
00323c: 7110 bd00 0700                         |0098: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
003242: 0c0b                                   |009b: move-result-object v11
003244: 4d0b 0a00                              |009c: aput-object v11, v10, v0
003248: 620b 0900                              |009e: sget-object v11, LTestInvokeCustomWithConcurrentThreads;.targetted:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0009
00324c: 460b 0b07                              |00a0: aget-object v11, v11, v7
003250: 6e10 f000 0b00                         |00a2: invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0
003256: 0a0b                                   |00a5: move-result v11
003258: 7110 bd00 0b00                         |00a6: invoke-static {v11}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
00325e: 0c0b                                   |00a9: move-result-object v11
003260: 4d0b 0a06                              |00aa: aput-object v11, v10, v6
003264: 6e30 ab00 980a                         |00ac: invoke-virtual {v8, v9, v10}, Ljava/io/PrintStream;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; // method@00ab
00326a: d807 0701                              |00af: add-int/lit8 v7, v7, #int 1 // #01
00326e: 28df                                   |00b1: goto 0090 // -0021
003270: 3225 2c00                              |00b2: if-eq v5, v2, 00de // +002c
003274: 6207 1300                              |00b4: sget-object v7, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003278: 1a08 2000                              |00b6: const-string v8, "Call-sites invocations :" // string@0020
00327c: 6e20 b300 8700                         |00b8: invoke-virtual {v7, v8}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003282: 0107                                   |00bb: move v7, v0
003284: 3527 2200                              |00bc: if-ge v7, v2, 00de // +0022
003288: 6208 1300                              |00be: sget-object v8, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00328c: 1a09 0300                              |00c0: const-string v9, " Call site instance #%02d was invoked % 2d times
" // string@0003
003290: 233a 4800                              |00c2: new-array v10, v3, [Ljava/lang/Object; // type@0048
003294: 7110 bd00 0700                         |00c4: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
00329a: 0c0b                                   |00c7: move-result-object v11
00329c: 4d0b 0a00                              |00c8: aput-object v11, v10, v0
0032a0: 620b 0600                              |00ca: sget-object v11, LTestInvokeCustomWithConcurrentThreads;.called:[Ljava/util/concurrent/atomic/AtomicInteger; // field@0006
0032a4: 460b 0b07                              |00cc: aget-object v11, v11, v7
0032a8: 6e10 f000 0b00                         |00ce: invoke-virtual {v11}, Ljava/util/concurrent/atomic/AtomicInteger;.get:()I // method@00f0
0032ae: 0a0b                                   |00d1: move-result v11
0032b0: 7110 bd00 0b00                         |00d2: invoke-static {v11}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
0032b6: 0c0b                                   |00d5: move-result-object v11
0032b8: 4d0b 0a06                              |00d6: aput-object v11, v10, v6
0032bc: 6e30 ab00 980a                         |00d8: invoke-virtual {v8, v9, v10}, Ljava/io/PrintStream;.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; // method@00ab
0032c2: d807 0701                              |00db: add-int/lit8 v7, v7, #int 1 // #01
0032c6: 28df                                   |00dd: goto 00bc // -0021
0032c8: 7120 6600 6400                         |00de: invoke-static {v4, v6}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066
0032ce: 7120 6600 2500                         |00e1: invoke-static {v5, v2}, LTestInvokeCustomWithConcurrentThreads;.assertEquals:(II)V // method@0066
0032d4: 0e00                                   |00e4: return-void
      catches       : (none)
      positions     : 
        0x0000 line=107
        0x0006 line=108
        0x000f line=109
        0x0018 line=107
        0x001b line=113
        0x001d line=114
        0x0020 line=115
        0x002c line=116
        0x0031 line=114
        0x0034 line=120
        0x0037 line=121
        0x003c line=120
        0x003f line=125
        0x0040 line=126
        0x0041 line=127
        0x0046 line=128
        0x004e line=129
        0x0058 line=130
        0x005a line=131
        0x0063 line=127
        0x0066 line=135
        0x0084 line=139
        0x0088 line=140
        0x008f line=141
        0x0092 line=142
        0x0098 line=143
        0x00ac line=142
        0x00af line=141
        0x00b2 line=149
        0x00b4 line=150
        0x00bb line=151
        0x00be line=152
        0x00c4 line=153
        0x00d8 line=152
        0x00db line=151
        0x00de line=157
        0x00e1 line=158
        0x00e4 line=159
      locals        : 
        0x0002 - 0x001b reg=1 i I 
        0x001e - 0x0034 reg=3 i I 
        0x0035 - 0x003f reg=3 i I 
        0x0040 - 0x0044 reg=3 winners I 
        0x0041 - 0x0044 reg=4 votes I 
        0x0044 - 0x0066 reg=3 i I 
        0x0090 - 0x00b2 reg=7 i I 
        0x00bc - 0x00de reg=7 i I 
        0x001d - 0x00e5 reg=1 threads [Ljava/lang/Thread; 
        0x0044 - 0x00e5 reg=4 winners I 
        0x0044 - 0x00e5 reg=5 votes I 

  Virtual methods   -
    #0              : (in LTestInvokeCustomWithConcurrentThreads;)
      name          : 'run'
      type          : '()V'
      access        : 0x0001 (PUBLIC)
      method_idx    : 108
      code          -
      registers     : 2
      ins           : 1
      outs          : 1
      insns size    : 9 16-bit code units
0030d8:                                        |[0030d8] TestInvokeCustomWithConcurrentThreads.run:()V
0030e8: 12f0                                   |0000: const/4 v0, #int -1 // #ff
0030ea: fc10 1a00 0000                         |0001: invoke-custom {v0}, call_site@001a
0030f0: 0a00                                   |0004: move-result v0
0030f2: 7110 6b00 0000                         |0005: invoke-static {v0}, LTestInvokeCustomWithConcurrentThreads;.notUsed:(I)I // method@006b
0030f8: 0e00                                   |0008: return-void
      catches       : (none)
      positions     : 
        0x0000 line=63
        0x0005 line=64
        0x0008 line=65
      locals        : 
        0x0005 - 0x0009 reg=0 x I 
        0x0000 - 0x0009 reg=1 this LTestInvokeCustomWithConcurrentThreads; 

  source_file_idx   : 149 (TestInvokeCustomWithConcurrentThreads.java)

Class #10 header:
class_idx           : 15
access_flags        : 1 (0x0001)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 151
annotations_off     : 31180 (0x0079cc)
class_data_off      : 29403 (0x0072db)
static_fields_size  : 5
instance_fields_size: 0
direct_methods_size : 6
virtual_methods_size: 0

Class #10 annotations:
Annotations on method #114 'add'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestLinkerMethodMinimalArguments; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; } } fieldOrMethodName="_add" parameterTypes={ I I } returnType=I
Annotations on method #118 'linkerMethod'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #119 'test'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }

Class #10            -
  Class descriptor  : 'LTestLinkerMethodMinimalArguments;'
  Access flags      : 0x0001 (PUBLIC)
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
    #0              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'FAILURE_TYPE_LINKER_METHOD_RETURNS_NULL'
      type          : 'I'
      access        : 0x0018 (STATIC FINAL)
      value         : 1
    #1              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'FAILURE_TYPE_LINKER_METHOD_THROWS'
      type          : 'I'
      access        : 0x0018 (STATIC FINAL)
      value         : 2
    #2              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'FAILURE_TYPE_NONE'
      type          : 'I'
      access        : 0x0018 (STATIC FINAL)
      value         : 0
    #3              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'FAILURE_TYPE_TARGET_METHOD_THROWS'
      type          : 'I'
      access        : 0x0018 (STATIC FINAL)
      value         : 3
    #4              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'forceFailureType'
      type          : 'I'
      access        : 0x000a (PRIVATE STATIC)
  Instance fields   -
  Direct methods    -
    #0              : (in LTestLinkerMethodMinimalArguments;)
      name          : '<clinit>'
      type          : '()V'
      access        : 0x10008 (STATIC CONSTRUCTOR)
      method_idx    : 111
      code          -
      registers     : 1
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
003404:                                        |[003404] TestLinkerMethodMinimalArguments.<clinit>:()V
003414: 1200                                   |0000: const/4 v0, #int 0 // #0
003416: 6700 0f00                              |0001: sput v0, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f
00341a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=26
      locals        : 

    #1              : (in LTestLinkerMethodMinimalArguments;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 112
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
00341c:                                        |[00341c] TestLinkerMethodMinimalArguments.<init>:()V
00342c: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
003432: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=25
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestLinkerMethodMinimalArguments; 

    #2              : (in LTestLinkerMethodMinimalArguments;)
      name          : '_add'
      type          : '(II)I'
      access        : 0x0008 (STATIC)
      method_idx    : 113
      code          -
      registers     : 4
      ins           : 2
      outs          : 2
      insns size    : 23 16-bit code units
0032d8:                                        |[0032d8] TestLinkerMethodMinimalArguments._add:(II)I
0032e8: 6000 0f00                              |0000: sget v0, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f
0032ec: 1231                                   |0002: const/4 v1, #int 3 // #3
0032ee: 3210 0500                              |0003: if-eq v0, v1, 0008 // +0005
0032f2: 9000 0203                              |0005: add-int v0, v2, v3
0032f6: 0f00                                   |0007: return v0
0032f8: 6200 1300                              |0008: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0032fc: 1a01 a000                              |000a: const-string v1, "Throwing ArithmeticException in add()" // string@00a0
003300: 6e20 b300 1000                         |000c: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003306: 2200 1d00                              |000f: new-instance v0, Ljava/lang/ArithmeticException; // type@001d
00330a: 1a01 cc00                              |0011: const-string v1, "add" // string@00cc
00330e: 7020 b400 1000                         |0013: invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;.<init>:(Ljava/lang/String;)V // method@00b4
003314: 2700                                   |0016: throw v0
      catches       : (none)
      positions     : 
        0x0000 line=51
        0x0005 line=55
        0x0008 line=52
        0x000f line=53
      locals        : 
        0x0000 - 0x0017 reg=2 a I 
        0x0000 - 0x0017 reg=3 b I 

    #3              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'add'
      type          : '(II)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 114
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 5 16-bit code units
003318:                                        |[003318] TestLinkerMethodMinimalArguments.add:(II)I
003328: 7100 7400 0000                         |0000: invoke-static {}, LTestLinkerMethodMinimalArguments;.assertNotReached:()V // method@0074
00332e: 12f0                                   |0003: const/4 v0, #int -1 // #ff
003330: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=45
        0x0003 line=46
      locals        : 
        0x0000 - 0x0005 reg=1 a I 
        0x0000 - 0x0005 reg=2 b I 

    #4              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'linkerMethod'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 118
      code          -
      registers     : 7
      ins           : 3
      outs          : 4
      insns size    : 96 16-bit code units
003334:                                        |[003334] TestLinkerMethodMinimalArguments.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
003344: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003348: 2201 2d00                              |0002: new-instance v1, Ljava/lang/StringBuilder; // type@002d
00334c: 7010 c100 0100                         |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
003352: 1a02 6701                              |0007: const-string v2, "linkerMethod failure type " // string@0167
003356: 6e20 c800 2100                         |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00335c: 6002 0f00                              |000c: sget v2, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f
003360: 6e20 c500 2100                         |000e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
003366: 6e10 ca00 0100                         |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
00336c: 0c01                                   |0014: move-result-object v1
00336e: 6e20 b300 1000                         |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003374: 1c00 0f00                              |0018: const-class v0, LTestLinkerMethodMinimalArguments; // type@000f
003378: 6e40 d800 0465                         |001a: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
00337e: 0c00                                   |001d: move-result-object v0
003380: 6001 0f00                              |001e: sget v1, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f
003384: 2b01 3800 0000                         |0020: packed-switch v1, 00000058 // +00000038
00338a: 2201 3400                              |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
00338e: 7020 d200 0100                         |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003394: 1101                                   |0028: return-object v1
003396: 6201 1300                              |0029: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00339a: 1a02 a100                              |002b: const-string v2, "Throwing InstantiationException in linkerMethod()" // string@00a1
00339e: 6e20 b300 2100                         |002d: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0033a4: 2201 2600                              |0030: new-instance v1, Ljava/lang/InstantiationException; // type@0026
0033a8: 1a02 6601                              |0032: const-string v2, "linkerMethod" // string@0166
0033ac: 7020 bb00 2100                         |0034: invoke-direct {v1, v2}, Ljava/lang/InstantiationException;.<init>:(Ljava/lang/String;)V // method@00bb
0033b2: 2701                                   |0037: throw v1
0033b4: 6201 1300                              |0038: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
0033b8: 2202 2d00                              |003a: new-instance v2, Ljava/lang/StringBuilder; // type@002d
0033bc: 7010 c100 0200                         |003c: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
0033c2: 1a03 8c00                              |003f: const-string v3, "Returning null instead of CallSite for " // string@008c
0033c6: 6e20 c800 3200                         |0041: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0033cc: 6e20 c800 5200                         |0044: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0033d2: 1a03 0000                              |0047: const-string v3, " " // string@0000
0033d6: 6e20 c800 3200                         |0049: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0033dc: 6e20 c700 6200                         |004c: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7
0033e2: 6e10 ca00 0200                         |004f: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0033e8: 0c02                                   |0052: move-result-object v2
0033ea: 6e20 b300 2100                         |0053: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0033f0: 1201                                   |0056: const/4 v1, #int 0 // #0
0033f2: 1101                                   |0057: return-object v1
0033f4: 0001 0200 0100 0000 1800 0000 0900 ... |0058: packed-switch-data (8 units)
      catches       : (none)
      positions     : 
        0x0000 line=61
        0x0018 line=62
        0x001a line=63
        0x001e line=64
        0x0023 line=73
        0x0029 line=70
        0x0030 line=71
        0x0038 line=66
        0x0056 line=68
      locals        : 
        0x001e - 0x0060 reg=0 mh_add Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0060 reg=4 caller Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0060 reg=5 name Ljava/lang/String; 
        0x0000 - 0x0060 reg=6 methodType Ljava/lang/invoke/MethodType; 

    #5              : (in LTestLinkerMethodMinimalArguments;)
      name          : 'test'
      type          : '(III)V'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 119
      code          -
      registers     : 6
      ins           : 3
      outs          : 2
      insns size    : 68 16-bit code units
003434:                                        |[003434] TestLinkerMethodMinimalArguments.test:(III)V
003444: 1200                                   |0000: const/4 v0, #int 0 // #0
003446: 1211                                   |0001: const/4 v1, #int 1 // #1
003448: 3a03 0400                              |0002: if-ltz v3, 0006 // +0004
00344c: 0112                                   |0004: move v2, v1
00344e: 2802                                   |0005: goto 0007 // +0002
003450: 0102                                   |0006: move v2, v0
003452: 7110 7500 0200                         |0007: invoke-static {v2}, LTestLinkerMethodMinimalArguments;.assertTrue:(Z)V // method@0075
003458: 1232                                   |000a: const/4 v2, #int 3 // #3
00345a: 3623 0400                              |000b: if-gt v3, v2, 000f // +0004
00345e: 0110                                   |000d: move v0, v1
003460: 0000                                   |000e: nop // spacer
003462: 7110 7500 0000                         |000f: invoke-static {v0}, LTestLinkerMethodMinimalArguments;.assertTrue:(Z)V // method@0075
003468: 6703 0f00                              |0012: sput v3, LTestLinkerMethodMinimalArguments;.forceFailureType:I // field@000f
00346c: 9000 0405                              |0014: add-int v0, v4, v5
003470: fc20 1b00 5400                         |0016: invoke-custom {v4, v5}, call_site@001b
003476: 0a01                                   |0019: move-result v1
003478: 7120 7300 1000                         |001a: invoke-static {v0, v1}, LTestLinkerMethodMinimalArguments;.assertEquals:(II)V // method@0073
00347e: 6200 1300                              |001d: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003482: 2201 2d00                              |001f: new-instance v1, Ljava/lang/StringBuilder; // type@002d
003486: 7010 c100 0100                         |0021: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
00348c: 1a02 2a00                              |0024: const-string v2, "Failure Type + " // string@002a
003490: 6e20 c800 2100                         |0026: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
003496: 6e20 c500 3100                         |0029: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
00349c: 1a02 0100                              |002c: const-string v2, " (" // string@0001
0034a0: 6e20 c800 2100                         |002e: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0034a6: 6e20 c500 4100                         |0031: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0034ac: 6e20 c500 5100                         |0034: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00c5
0034b2: 1a02 0700                              |0037: const-string v2, ")" // string@0007
0034b6: 6e20 c800 2100                         |0039: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
0034bc: 6e10 ca00 0100                         |003c: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
0034c2: 0c01                                   |003f: move-result-object v1
0034c4: 6e20 b300 1000                         |0040: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
0034ca: 0e00                                   |0043: return-void
      catches       : (none)
      positions     : 
        0x0000 line=78
        0x000a line=79
        0x0012 line=80
        0x0014 line=81
        0x001d line=82
        0x0043 line=83
      locals        : 
        0x0000 - 0x0044 reg=3 failureType I 
        0x0000 - 0x0044 reg=4 x I 
        0x0000 - 0x0044 reg=5 y I 

  Virtual methods   -
  source_file_idx   : 151 (TestLinkerMethodMinimalArguments.java)

Class #11 header:
class_idx           : 16
access_flags        : 1 (0x0001)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 153
annotations_off     : 31220 (0x0079f4)
class_data_off      : 29445 (0x007305)
static_fields_size  : 1
instance_fields_size: 0
direct_methods_size : 6
virtual_methods_size: 1

Class #11 annotations:
Annotations on method #124 'add'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestLinkerMethodMultipleArgumentTypes; name="linkerMethod" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I I I I I F D Ljava/lang/String; Ljava/lang/Class; J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ -1 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; intValue={ 97 } Lannotations/Constant; intValue={ 1024 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; floatValue={ 11.1 } Lannotations/Constant; doubleValue={ 2.2 } Lannotations/Constant; stringValue={ "Hello" } Lannotations/Constant; classValue={ LTestLinkerMethodMultipleArgumentTypes; } Lannotations/Constant; longValue={ 123456789 } } fieldOrMethodName="_add" parameterTypes={ I I } returnType=I
Annotations on method #131 'linkerMethod'
  VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "IIIIIFD" "Ljava/lang/String;" "Ljava/lang/Class<" "*>;J)" "Ljava/lang/invoke/CallSite;" }
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #132 'test'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }

Class #11            -
  Class descriptor  : 'LTestLinkerMethodMultipleArgumentTypes;'
  Access flags      : 0x0001 (PUBLIC)
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
    #0              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : 'bootstrapRunCount'
      type          : 'I'
      access        : 0x000a (PRIVATE STATIC)
  Instance fields   -
  Direct methods    -
    #0              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : '<clinit>'
      type          : '()V'
      access        : 0x10008 (STATIC CONSTRUCTOR)
      method_idx    : 120
      code          -
      registers     : 1
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
003618:                                        |[003618] TestLinkerMethodMultipleArgumentTypes.<clinit>:()V
003628: 1200                                   |0000: const/4 v0, #int 0 // #0
00362a: 6700 1000                              |0001: sput v0, LTestLinkerMethodMultipleArgumentTypes;.bootstrapRunCount:I // field@0010
00362e: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=28
      locals        : 

    #1              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 121
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
003630:                                        |[003630] TestLinkerMethodMultipleArgumentTypes.<init>:()V
003640: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
003646: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=26
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestLinkerMethodMultipleArgumentTypes; 

    #2              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : '_add'
      type          : '(II)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 123
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 3 16-bit code units
0034e4:                                        |[0034e4] TestLinkerMethodMultipleArgumentTypes._add:(II)I
0034f4: 9000 0102                              |0000: add-int v0, v1, v2
0034f8: 0f00                                   |0002: return v0
      catches       : (none)
      positions     : 
        0x0000 line=74
      locals        : 
        0x0000 - 0x0003 reg=1 a I 
        0x0000 - 0x0003 reg=2 b I 

    #3              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : 'add'
      type          : '(II)I'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 124
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 5 16-bit code units
0034fc:                                        |[0034fc] TestLinkerMethodMultipleArgumentTypes.add:(II)I
00350c: 7100 8200 0000                         |0000: invoke-static {}, LTestLinkerMethodMultipleArgumentTypes;.assertNotReached:()V // method@0082
003512: 12f0                                   |0003: const/4 v0, #int -1 // #ff
003514: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=68
        0x0003 line=69
      locals        : 
        0x0000 - 0x0005 reg=1 a I 
        0x0000 - 0x0005 reg=2 b I 

    #4              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : 'linkerMethod'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 131
      code          -
      registers     : 31
      ins           : 15
      outs          : 4
      insns size    : 119 16-bit code units
003518:                                        |[003518] TestLinkerMethodMultipleArgumentTypes.linkerMethod:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite;
003528: 0800 1100                              |0000: move-object/from16 v0, v17
00352c: 0801 1200                              |0002: move-object/from16 v1, v18
003530: 6202 1300                              |0004: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003534: 2203 2d00                              |0006: new-instance v3, Ljava/lang/StringBuilder; // type@002d
003538: 7010 c100 0300                         |0008: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00c1
00353e: 1a04 6100                              |000b: const-string v4, "Linking " // string@0061
003542: 6e20 c800 4300                         |000d: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
003548: 6e20 c800 0300                         |0010: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
00354e: 1a04 0000                              |0013: const-string v4, " " // string@0000
003552: 6e20 c800 4300                         |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00c8
003558: 6e20 c700 1300                         |0018: invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00c7
00355e: 6e10 ca00 0300                         |001b: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00ca
003564: 0c03                                   |001e: move-result-object v3
003566: 6e20 b300 3200                         |001f: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
00356c: 12f2                                   |0022: const/4 v2, #int -1 // #ff
00356e: 0203 1300                              |0023: move/from16 v3, v19
003572: 7120 7f00 3200                         |0025: invoke-static {v2, v3}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f
003578: 1212                                   |0028: const/4 v2, #int 1 // #1
00357a: 0204 1400                              |0029: move/from16 v4, v20
00357e: 7120 7f00 4200                         |002b: invoke-static {v2, v4}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f
003584: 1305 6100                              |002e: const/16 v5, #int 97 // #61
003588: 0206 1500                              |0030: move/from16 v6, v21
00358c: 7120 7f00 6500                         |0032: invoke-static {v5, v6}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f
003592: 1305 0004                              |0035: const/16 v5, #int 1024 // #400
003596: 0207 1600                              |0037: move/from16 v7, v22
00359a: 7120 7f00 7500                         |0039: invoke-static {v5, v7}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f
0035a0: 0205 1700                              |003c: move/from16 v5, v23
0035a4: 7120 7f00 5200                         |003e: invoke-static {v2, v5}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f
0035aa: 1402 9a99 3141                         |0041: const v2, #float 11.1 // #4131999a
0035b0: 0208 1800                              |0044: move/from16 v8, v24
0035b4: 7120 7e00 8200                         |0046: invoke-static {v2, v8}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(FF)V // method@007e
0035ba: 1809 9a99 9999 9999 0140               |0049: const-wide v9, #double 2.2 // #400199999999999a
0035c4: 050b 1900                              |004e: move-wide/from16 v11, v25
0035c8: 7140 7d00 a9cb                         |0050: invoke-static {v9, v10, v11, v12}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(DD)V // method@007d
0035ce: 1a02 2c00                              |0053: const-string v2, "Hello" // string@002c
0035d2: 0809 1b00                              |0055: move-object/from16 v9, v27
0035d6: 7120 8100 9200                         |0057: invoke-static {v2, v9}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0081
0035dc: 1c02 1000                              |005a: const-class v2, LTestLinkerMethodMultipleArgumentTypes; // type@0010
0035e0: 080a 1c00                              |005c: move-object/from16 v10, v28
0035e4: 7120 8100 a200                         |005e: invoke-static {v2, v10}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V // method@0081
0035ea: 170d 15cd 5b07                         |0061: const-wide/32 v13, #float 1.6536e-34 // #075bcd15
0035f0: 0502 1d00                              |0064: move-wide/from16 v2, v29
0035f4: 7140 8000 ed32                         |0066: invoke-static {v13, v14, v2, v3}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(JJ)V // method@0080
0035fa: 1c0d 1000                              |0069: const-class v13, LTestLinkerMethodMultipleArgumentTypes; // type@0010
0035fe: 080e 1000                              |006b: move-object/from16 v14, v16
003602: 6e40 d800 de10                         |006d: invoke-virtual {v14, v13, v0, v1}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003608: 0c0d                                   |0070: move-result-object v13
00360a: 220f 3400                              |0071: new-instance v15, Ljava/lang/invoke/ConstantCallSite; // type@0034
00360e: 7020 d200 df00                         |0073: invoke-direct {v15, v13}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003614: 110f                                   |0076: return-object v15
      catches       : (none)
      positions     : 
        0x0000 line=93
        0x0022 line=94
        0x0028 line=95
        0x002e line=96
        0x0035 line=97
        0x003c line=98
        0x0041 line=99
        0x0049 line=100
        0x0053 line=101
        0x005a line=102
        0x0061 line=103
        0x0069 line=104
        0x006b line=105
        0x0071 line=106
      locals        : 
        0x0000 - 0x0000 reg=28 (null) Ljava/lang/Class; 
        0x0071 - 0x0077 reg=13 mh_add Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0077 reg=16 caller Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0077 reg=17 name Ljava/lang/String; 
        0x0000 - 0x0077 reg=18 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0077 reg=19 v1 I 
        0x0000 - 0x0077 reg=20 v2 I 
        0x0000 - 0x0077 reg=21 v3 I 
        0x0000 - 0x0077 reg=22 v4 I 
        0x0000 - 0x0077 reg=23 v5 I 
        0x0000 - 0x0077 reg=24 v6 F 
        0x0000 - 0x0077 reg=25 v7 D 
        0x0000 - 0x0077 reg=27 v8 Ljava/lang/String; 
        0x0000 - 0x0077 reg=28 v9 Ljava/lang/Class; Ljava/lang/Class<*>;
        0x0000 - 0x0077 reg=29 v10 J 

    #5              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : 'test'
      type          : '(II)V'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 132
      code          -
      registers     : 4
      ins           : 2
      outs          : 2
      insns size    : 17 16-bit code units
003648:                                        |[003648] TestLinkerMethodMultipleArgumentTypes.test:(II)V
003658: 9000 0203                              |0000: add-int v0, v2, v3
00365c: fc20 1c00 3200                         |0002: invoke-custom {v2, v3}, call_site@001c
003662: 0a01                                   |0005: move-result v1
003664: 7120 7f00 1000                         |0006: invoke-static {v0, v1}, LTestLinkerMethodMultipleArgumentTypes;.assertEquals:(II)V // method@007f
00366a: 6200 1300                              |0009: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
00366e: 9001 0203                              |000b: add-int v1, v2, v3
003672: 6e20 b100 1000                         |000d: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(I)V // method@00b1
003678: 0e00                                   |0010: return-void
      catches       : (none)
      positions     : 
        0x0000 line=114
        0x0009 line=115
        0x0010 line=116
      locals        : 
        0x0000 - 0x0011 reg=2 x I 
        0x0000 - 0x0011 reg=3 y I 

  Virtual methods   -
    #0              : (in LTestLinkerMethodMultipleArgumentTypes;)
      name          : 'GetBootstrapRunCount'
      type          : '()I'
      access        : 0x0001 (PUBLIC)
      method_idx    : 122
      code          -
      registers     : 2
      ins           : 1
      outs          : 0
      insns size    : 3 16-bit code units
0034cc:                                        |[0034cc] TestLinkerMethodMultipleArgumentTypes.GetBootstrapRunCount:()I
0034dc: 6000 1000                              |0000: sget v0, LTestLinkerMethodMultipleArgumentTypes;.bootstrapRunCount:I // field@0010
0034e0: 0f00                                   |0002: return v0
      catches       : (none)
      positions     : 
        0x0000 line=110
      locals        : 
        0x0000 - 0x0003 reg=1 this LTestLinkerMethodMultipleArgumentTypes; 

  source_file_idx   : 153 (TestLinkerMethodMultipleArgumentTypes.java)

Class #12 header:
class_idx           : 17
access_flags        : 0 (0x0000)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 154
annotations_off     : 31260 (0x007a1c)
class_data_off      : 29483 (0x00732b)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 6
virtual_methods_size: 0

Class #12 annotations:
Annotations on method #136 'addf'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LUnrelatedBSM; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ LTestLinkerUnrelatedBSM; } } fieldOrMethodName="_addf" parameterTypes={ F F } returnType=F
Annotations on method #139 'subf'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LUnrelatedBSM; name="bsm" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ LTestLinkerUnrelatedBSM; } } fieldOrMethodName="_subf" parameterTypes={ F F } returnType=F

Class #12            -
  Class descriptor  : 'LTestLinkerUnrelatedBSM;'
  Access flags      : 0x0000 ()
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LTestLinkerUnrelatedBSM;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10000 (CONSTRUCTOR)
      method_idx    : 133
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
0036e4:                                        |[0036e4] TestLinkerUnrelatedBSM.<init>:()V
0036f4: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
0036fa: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=23
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestLinkerUnrelatedBSM; 

    #1              : (in LTestLinkerUnrelatedBSM;)
      name          : '_addf'
      type          : '(FF)F'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 134
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 3 16-bit code units
00367c:                                        |[00367c] TestLinkerUnrelatedBSM._addf:(FF)F
00368c: a600 0102                              |0000: add-float v0, v1, v2
003690: 0f00                                   |0002: return v0
      catches       : (none)
      positions     : 
        0x0000 line=47
      locals        : 
        0x0000 - 0x0003 reg=1 a F 
        0x0000 - 0x0003 reg=2 b F 

    #2              : (in LTestLinkerUnrelatedBSM;)
      name          : '_subf'
      type          : '(FF)F'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 135
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 3 16-bit code units
003694:                                        |[003694] TestLinkerUnrelatedBSM._subf:(FF)F
0036a4: a700 0102                              |0000: sub-float v0, v1, v2
0036a8: 0f00                                   |0002: return v0
      catches       : (none)
      positions     : 
        0x0000 line=73
      locals        : 
        0x0000 - 0x0003 reg=1 a F 
        0x0000 - 0x0003 reg=2 b F 

    #3              : (in LTestLinkerUnrelatedBSM;)
      name          : 'addf'
      type          : '(FF)F'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 136
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 5 16-bit code units
0036ac:                                        |[0036ac] TestLinkerUnrelatedBSM.addf:(FF)F
0036bc: 7100 8a00 0000                         |0000: invoke-static {}, LTestLinkerUnrelatedBSM;.assertNotReached:()V // method@008a
0036c2: 1210                                   |0003: const/4 v0, #int 1 // #1
0036c4: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=42
        0x0003 line=43
      locals        : 
        0x0000 - 0x0005 reg=1 a F 
        0x0000 - 0x0005 reg=2 b F 

    #4              : (in LTestLinkerUnrelatedBSM;)
      name          : 'subf'
      type          : '(FF)F'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 139
      code          -
      registers     : 3
      ins           : 2
      outs          : 0
      insns size    : 5 16-bit code units
0036c8:                                        |[0036c8] TestLinkerUnrelatedBSM.subf:(FF)F
0036d8: 7100 8a00 0000                         |0000: invoke-static {}, LTestLinkerUnrelatedBSM;.assertNotReached:()V // method@008a
0036de: 1210                                   |0003: const/4 v0, #int 1 // #1
0036e0: 0f00                                   |0004: return v0
      catches       : (none)
      positions     : 
        0x0000 line=68
        0x0003 line=69
      locals        : 
        0x0000 - 0x0005 reg=1 a F 
        0x0000 - 0x0005 reg=2 b F 

    #5              : (in LTestLinkerUnrelatedBSM;)
      name          : 'test'
      type          : '()V'
      access        : 0x0009 (PUBLIC STATIC)
      method_idx    : 140
      code          -
      registers     : 4
      ins           : 0
      outs          : 2
      insns size    : 34 16-bit code units
0036fc:                                        |[0036fc] TestLinkerUnrelatedBSM.test:()V
00370c: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003710: 1c01 1100                              |0002: const-class v1, LTestLinkerUnrelatedBSM; // type@0011
003714: 6e10 b700 0100                         |0004: invoke-virtual {v1}, Ljava/lang/Class;.getName:()Ljava/lang/String; // method@00b7
00371a: 0c01                                   |0007: move-result-object v1
00371c: 6e20 b300 1000                         |0008: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003722: 1500 003f                              |000b: const/high16 v0, #int 1056964608 // #3f00
003726: 1501 0040                              |000d: const/high16 v1, #int 1073741824 // #4000
00372a: fc20 1d00 0100                         |000f: invoke-custom {v1, v0}, call_site@001d
003730: 0a02                                   |0012: move-result v2
003732: 1503 2040                              |0013: const/high16 v3, #int 1075838976 // #4020
003736: 7120 8900 2300                         |0015: invoke-static {v3, v2}, LTestLinkerUnrelatedBSM;.assertEquals:(FF)V // method@0089
00373c: fc20 1e00 0100                         |0018: invoke-custom {v1, v0}, call_site@001e
003742: 0a00                                   |001b: move-result v0
003744: 1501 c03f                              |001c: const/high16 v1, #int 1069547520 // #3fc0
003748: 7120 8900 0100                         |001e: invoke-static {v1, v0}, LTestLinkerUnrelatedBSM;.assertEquals:(FF)V // method@0089
00374e: 0e00                                   |0021: return-void
      catches       : (none)
      positions     : 
        0x0000 line=77
        0x000b line=78
        0x0018 line=79
        0x0021 line=80
      locals        : 

  Virtual methods   -
  source_file_idx   : 154 (TestLinkerUnrelatedBSM.java)

Class #13 header:
class_idx           : 18
access_flags        : 1 (0x0001)
superclass_idx      : 9
interfaces_off      : 0 (0x000000)
source_file_idx     : 156
annotations_off     : 31292 (0x007a3c)
class_data_off      : 29514 (0x00734a)
static_fields_size  : 0
instance_fields_size: 0
direct_methods_size : 27
virtual_methods_size: 0

Class #13 annotations:
Annotations on method #143 'bsmWithBoxedArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #144 'bsmWithClassAndFloatArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Signature; value={ "(" "Ljava/lang/invoke/MethodHandles$Lookup;" "Ljava/lang/String;" "Ljava/lang/invoke/MethodType;" "Ljava/lang/Class<" "*>;[F)" "Ljava/lang/invoke/CallSite;" }
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #145 'bsmWithClassArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #146 'bsmWithDoubleArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #147 'bsmWithFloatAndLongArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #148 'bsmWithIntAndStringArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #149 'bsmWithLongAndIntArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #150 'bsmWithStringArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #151 'bsmWithWiderArray'
  VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Annotations on method #152 'methodA'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "Aachen" } Lannotations/Constant; stringValue={ "Aalborg" } Lannotations/Constant; stringValue={ "Aalto" } } fieldOrMethodName="methodA"
Annotations on method #153 'methodB'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; stringValue={ "barium" } } fieldOrMethodName="methodB"
Annotations on method #154 'methodC'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/String; } } fieldOrMethodName="methodC"
Annotations on method #155 'methodD'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 101 } Lannotations/Constant; stringValue={ "zoo" } Lannotations/Constant; stringValue={ "zoogene" } Lannotations/Constant; stringValue={ "zoogenic" } } fieldOrMethodName="methodD"
Annotations on method #156 'methodE'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 102 } Lannotations/Constant; stringValue={ "zonic" } } fieldOrMethodName="methodE"
Annotations on method #157 'methodF'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } } fieldOrMethodName="methodF"
Annotations on method #158 'methodG'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithLongAndIntArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; J [I } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; longValue={ 81985529216486895 } Lannotations/Constant; intValue={ 1 } Lannotations/Constant; intValue={ -1 } Lannotations/Constant; intValue={ 2 } Lannotations/Constant; intValue={ -2 } } fieldOrMethodName="methodG"
Annotations on method #159 'methodH'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithFloatAndLongArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; F [J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; floatValue={ -2.71828 } Lannotations/Constant; longValue={ 999999999999 } Lannotations/Constant; longValue={ -8888888888888 } } fieldOrMethodName="methodH"
Annotations on method #160 'methodI'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithClassAndFloatArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; Ljava/lang/Class; [F } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ Ljava/lang/Throwable; } Lannotations/Constant; floatValue={ 3.40282e+38 } Lannotations/Constant; floatValue={ 1.4013e-45 } Lannotations/Constant; floatValue={ 3.14159 } Lannotations/Constant; floatValue={ -3.14159 } } fieldOrMethodName="methodI"
Annotations on method #161 'methodJ'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithDoubleArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [D } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; doubleValue={ 1.79769e+308 } Lannotations/Constant; doubleValue={ 4.94066e-324 } Lannotations/Constant; doubleValue={ 2.71828 } Lannotations/Constant; doubleValue={ -3.14159 } } fieldOrMethodName="methodJ"
Annotations on method #162 'methodK'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithClassArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/Class; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; classValue={ Ljava/lang/Integer; } Lannotations/Constant; classValue={ Ljava/lang/invoke/MethodHandles; } Lannotations/Constant; classValue={ Ljava/util/Arrays; } } fieldOrMethodName="methodK"
Annotations on method #163 'methodO'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; intValue={ 104 } } fieldOrMethodName="methodO"
Annotations on method #164 'methodP'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithIntAndStringArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; I [Ljava/lang/String; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; stringValue={ "A" } Lannotations/Constant; stringValue={ "B" } Lannotations/Constant; intValue={ 42 } } fieldOrMethodName="methodP"
Annotations on method #165 'methodQ'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithWiderArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [J } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 103 } Lannotations/Constant; intValue={ 42 } } fieldOrMethodName="methodQ"
Annotations on method #166 'methodR'
  VISIBILITY_RUNTIME Lannotations/CalledByIndy; bootstrapMethod={ Lannotations/BootstrapMethod; enclosingType=LTestVariableArityLinkerMethod; name="bsmWithBoxedArray" parameterTypes={ Ljava/lang/invoke/MethodHandles$Lookup; Ljava/lang/String; Ljava/lang/invoke/MethodType; [Ljava/lang/Integer; } } constantArgumentsForBootstrapMethod={ Lannotations/Constant; intValue={ 1030 } Lannotations/Constant; intValue={ 420 } } fieldOrMethodName="methodR"

Class #13            -
  Class descriptor  : 'LTestVariableArityLinkerMethod;'
  Access flags      : 0x0001 (PUBLIC)
  Superclass        : 'LTestBase;'
  Interfaces        -
  Static fields     -
  Instance fields   -
  Direct methods    -
    #0              : (in LTestVariableArityLinkerMethod;)
      name          : '<init>'
      type          : '()V'
      access        : 0x10001 (PUBLIC CONSTRUCTOR)
      method_idx    : 141
      code          -
      registers     : 1
      ins           : 1
      outs          : 1
      insns size    : 4 16-bit code units
003a7c:                                        |[003a7c] TestVariableArityLinkerMethod.<init>:()V
003a8c: 7010 3200 0000                         |0000: invoke-direct {v0}, LTestBase;.<init>:()V // method@0032
003a92: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=27
      locals        : 
        0x0000 - 0x0004 reg=0 this LTestVariableArityLinkerMethod; 

    #1              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithBoxedArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 143
      code          -
      registers     : 7
      ins           : 4
      outs          : 4
      insns size    : 34 16-bit code units
003750:                                        |[003750] TestVariableArityLinkerMethod.bsmWithBoxedArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite;
003760: 1a00 f800                              |0000: const-string v0, "bsmWithBoxedArray" // string@00f8
003764: 1241                                   |0002: const/4 v1, #int 4 // #4
003766: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
00376a: 1202                                   |0005: const/4 v2, #int 0 // #0
00376c: 4d03 0102                              |0006: aput-object v3, v1, v2
003770: 1212                                   |0008: const/4 v2, #int 1 // #1
003772: 4d04 0102                              |0009: aput-object v4, v1, v2
003776: 1222                                   |000b: const/4 v2, #int 2 // #2
003778: 4d05 0102                              |000c: aput-object v5, v1, v2
00377c: 1232                                   |000e: const/4 v2, #int 3 // #3
00377e: 4d06 0102                              |000f: aput-object v6, v1, v2
003782: 7120 a700 1000                         |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
003788: 6e10 dc00 0300                         |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
00378e: 0c00                                   |0017: move-result-object v0
003790: 6e40 d800 0354                         |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003796: 0c00                                   |001b: move-result-object v0
003798: 2201 3400                              |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
00379c: 7020 d200 0100                         |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
0037a2: 1101                                   |0021: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=477
        0x0014 line=478
        0x001c line=479
      locals        : 
        0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 
        0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0022 reg=6 extraArgs [Ljava/lang/Integer; 

    #2              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithClassAndFloatArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 144
      code          -
      registers     : 8
      ins           : 5
      outs          : 4
      insns size    : 37 16-bit code units
0037a4:                                        |[0037a4] TestVariableArityLinkerMethod.bsmWithClassAndFloatArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite;
0037b4: 1a00 f900                              |0000: const-string v0, "bsmWithClassAndFloatArray" // string@00f9
0037b8: 1251                                   |0002: const/4 v1, #int 5 // #5
0037ba: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
0037be: 1202                                   |0005: const/4 v2, #int 0 // #0
0037c0: 4d03 0102                              |0006: aput-object v3, v1, v2
0037c4: 1212                                   |0008: const/4 v2, #int 1 // #1
0037c6: 4d04 0102                              |0009: aput-object v4, v1, v2
0037ca: 1222                                   |000b: const/4 v2, #int 2 // #2
0037cc: 4d05 0102                              |000c: aput-object v5, v1, v2
0037d0: 1232                                   |000e: const/4 v2, #int 3 // #3
0037d2: 4d06 0102                              |000f: aput-object v6, v1, v2
0037d6: 1242                                   |0011: const/4 v2, #int 4 // #4
0037d8: 4d07 0102                              |0012: aput-object v7, v1, v2
0037dc: 7120 a700 1000                         |0014: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
0037e2: 6e10 dc00 0300                         |0017: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
0037e8: 0c00                                   |001a: move-result-object v0
0037ea: 6e40 d800 0354                         |001b: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
0037f0: 0c00                                   |001e: move-result-object v0
0037f2: 2201 3400                              |001f: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
0037f6: 7020 d200 0100                         |0021: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
0037fc: 1101                                   |0024: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=294
        0x0017 line=296
        0x001f line=297
      locals        : 
        0x0000 - 0x0000 reg=6 (null) Ljava/lang/Class; 
        0x001f - 0x0025 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0025 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0025 reg=4 methodName Ljava/lang/String; 
        0x0000 - 0x0025 reg=5 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0025 reg=6 extraArg Ljava/lang/Class; Ljava/lang/Class<*>;
        0x0000 - 0x0025 reg=7 arityArgs [F 

    #3              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithClassArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 145
      code          -
      registers     : 7
      ins           : 4
      outs          : 4
      insns size    : 34 16-bit code units
003800:                                        |[003800] TestVariableArityLinkerMethod.bsmWithClassArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite;
003810: 1a00 fa00                              |0000: const-string v0, "bsmWithClassArray" // string@00fa
003814: 1241                                   |0002: const/4 v1, #int 4 // #4
003816: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
00381a: 1202                                   |0005: const/4 v2, #int 0 // #0
00381c: 4d03 0102                              |0006: aput-object v3, v1, v2
003820: 1212                                   |0008: const/4 v2, #int 1 // #1
003822: 4d04 0102                              |0009: aput-object v4, v1, v2
003826: 1222                                   |000b: const/4 v2, #int 2 // #2
003828: 4d05 0102                              |000c: aput-object v5, v1, v2
00382c: 1232                                   |000e: const/4 v2, #int 3 // #3
00382e: 4d06 0102                              |000f: aput-object v6, v1, v2
003832: 7120 a700 1000                         |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
003838: 6e10 dc00 0300                         |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
00383e: 0c00                                   |0017: move-result-object v0
003840: 6e40 d800 0354                         |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003846: 0c00                                   |001b: move-result-object v0
003848: 2201 3400                              |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
00384c: 7020 d200 0100                         |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003852: 1101                                   |0021: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=367
        0x0014 line=368
        0x001c line=369
      locals        : 
        0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 
        0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0022 reg=6 arityArgs [Ljava/lang/Class; 

    #4              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithDoubleArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 146
      code          -
      registers     : 7
      ins           : 4
      outs          : 4
      insns size    : 34 16-bit code units
003854:                                        |[003854] TestVariableArityLinkerMethod.bsmWithDoubleArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite;
003864: 1a00 fb00                              |0000: const-string v0, "bsmWithDoubleArray" // string@00fb
003868: 1241                                   |0002: const/4 v1, #int 4 // #4
00386a: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
00386e: 1202                                   |0005: const/4 v2, #int 0 // #0
003870: 4d03 0102                              |0006: aput-object v3, v1, v2
003874: 1212                                   |0008: const/4 v2, #int 1 // #1
003876: 4d04 0102                              |0009: aput-object v4, v1, v2
00387a: 1222                                   |000b: const/4 v2, #int 2 // #2
00387c: 4d05 0102                              |000c: aput-object v5, v1, v2
003880: 1232                                   |000e: const/4 v2, #int 3 // #3
003882: 4d06 0102                              |000f: aput-object v6, v1, v2
003886: 7120 a700 1000                         |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
00388c: 6e10 dc00 0300                         |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
003892: 0c00                                   |0017: move-result-object v0
003894: 6e40 d800 0354                         |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
00389a: 0c00                                   |001b: move-result-object v0
00389c: 2201 3400                              |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
0038a0: 7020 d200 0100                         |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
0038a6: 1101                                   |0021: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=332
        0x0014 line=333
        0x001c line=334
      locals        : 
        0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 
        0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0022 reg=6 arityArgs [D 

    #5              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithFloatAndLongArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 147
      code          -
      registers     : 9
      ins           : 5
      outs          : 4
      insns size    : 41 16-bit code units
0038a8:                                        |[0038a8] TestVariableArityLinkerMethod.bsmWithFloatAndLongArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite;
0038b8: 1a00 fc00                              |0000: const-string v0, "bsmWithFloatAndLongArray" // string@00fc
0038bc: 1251                                   |0002: const/4 v1, #int 5 // #5
0038be: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
0038c2: 1202                                   |0005: const/4 v2, #int 0 // #0
0038c4: 4d04 0102                              |0006: aput-object v4, v1, v2
0038c8: 1212                                   |0008: const/4 v2, #int 1 // #1
0038ca: 4d05 0102                              |0009: aput-object v5, v1, v2
0038ce: 1222                                   |000b: const/4 v2, #int 2 // #2
0038d0: 4d06 0102                              |000c: aput-object v6, v1, v2
0038d4: 7110 ba00 0700                         |000e: invoke-static {v7}, Ljava/lang/Float;.valueOf:(F)Ljava/lang/Float; // method@00ba
0038da: 0c02                                   |0011: move-result-object v2
0038dc: 1233                                   |0012: const/4 v3, #int 3 // #3
0038de: 4d02 0103                              |0013: aput-object v2, v1, v3
0038e2: 1242                                   |0015: const/4 v2, #int 4 // #4
0038e4: 4d08 0102                              |0016: aput-object v8, v1, v2
0038e8: 7120 a700 1000                         |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
0038ee: 6e10 dc00 0400                         |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
0038f4: 0c00                                   |001e: move-result-object v0
0038f6: 6e40 d800 0465                         |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
0038fc: 0c00                                   |0022: move-result-object v0
0038fe: 2201 3400                              |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
003902: 7020 d200 0100                         |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003908: 1101                                   |0028: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=257
        0x000e line=258
        0x0018 line=257
        0x001b line=259
        0x0023 line=260
      locals        : 
        0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 
        0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0029 reg=7 extraArg F 
        0x0000 - 0x0029 reg=8 arityArgs [J 

    #6              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithIntAndStringArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 148
      code          -
      registers     : 9
      ins           : 5
      outs          : 4
      insns size    : 41 16-bit code units
00390c:                                        |[00390c] TestVariableArityLinkerMethod.bsmWithIntAndStringArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite;
00391c: 1a00 fd00                              |0000: const-string v0, "bsmWithIntAndStringArray" // string@00fd
003920: 1251                                   |0002: const/4 v1, #int 5 // #5
003922: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
003926: 1202                                   |0005: const/4 v2, #int 0 // #0
003928: 4d04 0102                              |0006: aput-object v4, v1, v2
00392c: 1212                                   |0008: const/4 v2, #int 1 // #1
00392e: 4d05 0102                              |0009: aput-object v5, v1, v2
003932: 1222                                   |000b: const/4 v2, #int 2 // #2
003934: 4d06 0102                              |000c: aput-object v6, v1, v2
003938: 7110 bd00 0700                         |000e: invoke-static {v7}, Ljava/lang/Integer;.valueOf:(I)Ljava/lang/Integer; // method@00bd
00393e: 0c02                                   |0011: move-result-object v2
003940: 1233                                   |0012: const/4 v3, #int 3 // #3
003942: 4d02 0103                              |0013: aput-object v2, v1, v3
003946: 1242                                   |0015: const/4 v2, #int 4 // #4
003948: 4d08 0102                              |0016: aput-object v8, v1, v2
00394c: 7120 a700 1000                         |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
003952: 6e10 dc00 0400                         |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
003958: 0c00                                   |001e: move-result-object v0
00395a: 6e40 d800 0465                         |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003960: 0c00                                   |0022: move-result-object v0
003962: 2201 3400                              |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
003966: 7020 d200 0100                         |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
00396c: 1101                                   |0028: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=133
        0x000e line=138
        0x0018 line=133
        0x001b line=140
        0x0023 line=141
      locals        : 
        0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 
        0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0029 reg=7 extraInt I 
        0x0000 - 0x0029 reg=8 extraArityArgs [Ljava/lang/String; 

    #7              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithLongAndIntArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 149
      code          -
      registers     : 10
      ins           : 6
      outs          : 4
      insns size    : 41 16-bit code units
003970:                                        |[003970] TestVariableArityLinkerMethod.bsmWithLongAndIntArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite;
003980: 1a00 fe00                              |0000: const-string v0, "bsmWithLongAndIntArray" // string@00fe
003984: 1251                                   |0002: const/4 v1, #int 5 // #5
003986: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
00398a: 1202                                   |0005: const/4 v2, #int 0 // #0
00398c: 4d04 0102                              |0006: aput-object v4, v1, v2
003990: 1212                                   |0008: const/4 v2, #int 1 // #1
003992: 4d05 0102                              |0009: aput-object v5, v1, v2
003996: 1222                                   |000b: const/4 v2, #int 2 // #2
003998: 4d06 0102                              |000c: aput-object v6, v1, v2
00399c: 7120 be00 8700                         |000e: invoke-static {v7, v8}, Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long; // method@00be
0039a2: 0c02                                   |0011: move-result-object v2
0039a4: 1233                                   |0012: const/4 v3, #int 3 // #3
0039a6: 4d02 0103                              |0013: aput-object v2, v1, v3
0039aa: 1242                                   |0015: const/4 v2, #int 4 // #4
0039ac: 4d09 0102                              |0016: aput-object v9, v1, v2
0039b0: 7120 a700 1000                         |0018: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
0039b6: 6e10 dc00 0400                         |001b: invoke-virtual {v4}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
0039bc: 0c00                                   |001e: move-result-object v0
0039be: 6e40 d800 0465                         |001f: invoke-virtual {v4, v0, v5, v6}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
0039c4: 0c00                                   |0022: move-result-object v0
0039c6: 2201 3400                              |0023: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
0039ca: 7020 d200 0100                         |0025: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
0039d0: 1101                                   |0028: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=219
        0x001b line=220
        0x0023 line=221
      locals        : 
        0x0023 - 0x0029 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0029 reg=4 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0029 reg=5 methodName Ljava/lang/String; 
        0x0000 - 0x0029 reg=6 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0029 reg=7 extraArg J 
        0x0000 - 0x0029 reg=9 arityArgs [I 

    #8              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithStringArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite;'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 150
      code          -
      registers     : 7
      ins           : 4
      outs          : 4
      insns size    : 34 16-bit code units
0039d4:                                        |[0039d4] TestVariableArityLinkerMethod.bsmWithStringArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite;
0039e4: 1a00 ff00                              |0000: const-string v0, "bsmWithStringArray" // string@00ff
0039e8: 1241                                   |0002: const/4 v1, #int 4 // #4
0039ea: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
0039ee: 1202                                   |0005: const/4 v2, #int 0 // #0
0039f0: 4d03 0102                              |0006: aput-object v3, v1, v2
0039f4: 1212                                   |0008: const/4 v2, #int 1 // #1
0039f6: 4d04 0102                              |0009: aput-object v4, v1, v2
0039fa: 1222                                   |000b: const/4 v2, #int 2 // #2
0039fc: 4d05 0102                              |000c: aput-object v5, v1, v2
003a00: 1232                                   |000e: const/4 v2, #int 3 // #3
003a02: 4d06 0102                              |000f: aput-object v6, v1, v2
003a06: 7120 a700 1000                         |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
003a0c: 6e10 dc00 0300                         |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
003a12: 0c00                                   |0017: move-result-object v0
003a14: 6e40 d800 0354                         |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003a1a: 0c00                                   |001b: move-result-object v0
003a1c: 2201 3400                              |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
003a20: 7020 d200 0100                         |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003a26: 1101                                   |0021: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=61
        0x0014 line=62
        0x001c line=63
      locals        : 
        0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 
        0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0022 reg=6 arityArgs [Ljava/lang/String; 

    #9              : (in LTestVariableArityLinkerMethod;)
      name          : 'bsmWithWiderArray'
      type          : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite;'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 151
      code          -
      registers     : 7
      ins           : 4
      outs          : 4
      insns size    : 34 16-bit code units
003a28:                                        |[003a28] TestVariableArityLinkerMethod.bsmWithWiderArray:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite;
003a38: 1a00 0001                              |0000: const-string v0, "bsmWithWiderArray" // string@0100
003a3c: 1241                                   |0002: const/4 v1, #int 4 // #4
003a3e: 2311 4800                              |0003: new-array v1, v1, [Ljava/lang/Object; // type@0048
003a42: 1202                                   |0005: const/4 v2, #int 0 // #0
003a44: 4d03 0102                              |0006: aput-object v3, v1, v2
003a48: 1212                                   |0008: const/4 v2, #int 1 // #1
003a4a: 4d04 0102                              |0009: aput-object v4, v1, v2
003a4e: 1222                                   |000b: const/4 v2, #int 2 // #2
003a50: 4d05 0102                              |000c: aput-object v5, v1, v2
003a54: 1232                                   |000e: const/4 v2, #int 3 // #3
003a56: 4d06 0102                              |000f: aput-object v6, v1, v2
003a5a: 7120 a700 1000                         |0011: invoke-static {v0, v1}, LTestVariableArityLinkerMethod;.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V // method@00a7
003a60: 6e10 dc00 0300                         |0014: invoke-virtual {v3}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00dc
003a66: 0c00                                   |0017: move-result-object v0
003a68: 6e40 d800 0354                         |0018: invoke-virtual {v3, v0, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00d8
003a6e: 0c00                                   |001b: move-result-object v0
003a70: 2201 3400                              |001c: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@0034
003a74: 7020 d200 0100                         |001e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00d2
003a7a: 1101                                   |0021: return-object v1
      catches       : (none)
      positions     : 
        0x0000 line=447
        0x0014 line=448
        0x001c line=449
      locals        : 
        0x001c - 0x0022 reg=0 mh Ljava/lang/invoke/MethodHandle; 
        0x0000 - 0x0022 reg=3 lookup Ljava/lang/invoke/MethodHandles$Lookup; 
        0x0000 - 0x0022 reg=4 methodName Ljava/lang/String; 
        0x0000 - 0x0022 reg=5 methodType Ljava/lang/invoke/MethodType; 
        0x0000 - 0x0022 reg=6 extraArgs [J 

    #10              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodA'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 152
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003a94:                                        |[003a94] TestVariableArityLinkerMethod.methodA:()V
003aa4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003aa8: 1a01 7501                              |0002: const-string v1, "methodA" // string@0175
003aac: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003ab2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=86
        0x0007 line=87
      locals        : 

    #11              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodB'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 153
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003ab4:                                        |[003ab4] TestVariableArityLinkerMethod.methodB:()V
003ac4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003ac8: 1a01 7601                              |0002: const-string v1, "methodB" // string@0176
003acc: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003ad2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=105
        0x0007 line=106
      locals        : 

    #12              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodC'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 154
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003ad4:                                        |[003ad4] TestVariableArityLinkerMethod.methodC:()V
003ae4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003ae8: 1a01 7701                              |0002: const-string v1, "methodC" // string@0177
003aec: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003af2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=123
        0x0007 line=124
      locals        : 

    #13              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodD'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 155
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003af4:                                        |[003af4] TestVariableArityLinkerMethod.methodD:()V
003b04: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003b08: 1a01 7801                              |0002: const-string v1, "methodD" // string@0178
003b0c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003b12: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=166
        0x0007 line=167
      locals        : 

    #14              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodE'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 156
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003b14:                                        |[003b14] TestVariableArityLinkerMethod.methodE:()V
003b24: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003b28: 1a01 7901                              |0002: const-string v1, "methodE" // string@0179
003b2c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003b32: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=189
        0x0007 line=190
      locals        : 

    #15              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodF'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 157
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003b34:                                        |[003b34] TestVariableArityLinkerMethod.methodF:()V
003b44: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003b48: 1a01 7a01                              |0002: const-string v1, "methodF" // string@017a
003b4c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003b52: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=209
        0x0007 line=210
      locals        : 

    #16              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodG'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 158
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003b54:                                        |[003b54] TestVariableArityLinkerMethod.methodG:()V
003b64: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003b68: 1a01 7b01                              |0002: const-string v1, "methodG" // string@017b
003b6c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003b72: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=247
        0x0007 line=248
      locals        : 

    #17              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodH'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 159
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003b74:                                        |[003b74] TestVariableArityLinkerMethod.methodH:()V
003b84: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003b88: 1a01 7c01                              |0002: const-string v1, "methodH" // string@017c
003b8c: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003b92: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=284
        0x0007 line=285
      locals        : 

    #18              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodI'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 160
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003b94:                                        |[003b94] TestVariableArityLinkerMethod.methodI:()V
003ba4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003ba8: 1a01 7d01                              |0002: const-string v1, "methodI" // string@017d
003bac: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003bb2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=323
        0x0007 line=324
      locals        : 

    #19              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodJ'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 161
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003bb4:                                        |[003bb4] TestVariableArityLinkerMethod.methodJ:()V
003bc4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003bc8: 1a01 7e01                              |0002: const-string v1, "methodJ" // string@017e
003bcc: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003bd2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=358
        0x0007 line=359
      locals        : 

    #20              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodK'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 162
      code          -
      registers     : 2
      ins           : 0
      outs          : 2
      insns size    : 8 16-bit code units
003bd4:                                        |[003bd4] TestVariableArityLinkerMethod.methodK:()V
003be4: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003be8: 1a01 7f01                              |0002: const-string v1, "methodK" // string@017f
003bec: 6e20 b300 1000                         |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003bf2: 0e00                                   |0007: return-void
      catches       : (none)
      positions     : 
        0x0000 line=392
        0x0007 line=393
      locals        : 

    #21              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodO'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 163
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
003bf4:                                        |[003bf4] TestVariableArityLinkerMethod.methodO:()V
003c04: 7100 8e00 0000                         |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003c0a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=413
        0x0003 line=414
      locals        : 

    #22              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodP'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 164
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
003c0c:                                        |[003c0c] TestVariableArityLinkerMethod.methodP:()V
003c1c: 7100 8e00 0000                         |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003c22: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=441
        0x0003 line=442
      locals        : 

    #23              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodQ'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 165
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
003c24:                                        |[003c24] TestVariableArityLinkerMethod.methodQ:()V
003c34: 7100 8e00 0000                         |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003c3a: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=468
        0x0003 line=469
      locals        : 

    #24              : (in LTestVariableArityLinkerMethod;)
      name          : 'methodR'
      type          : '()V'
      access        : 0x000a (PRIVATE STATIC)
      method_idx    : 166
      code          -
      registers     : 0
      ins           : 0
      outs          : 0
      insns size    : 4 16-bit code units
003c3c:                                        |[003c3c] TestVariableArityLinkerMethod.methodR:()V
003c4c: 7100 8e00 0000                         |0000: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003c52: 0e00                                   |0003: return-void
      catches       : (none)
      positions     : 
        0x0000 line=501
        0x0003 line=502
      locals        : 

    #25              : (in LTestVariableArityLinkerMethod;)
      name          : 'printBsmArgs'
      type          : '(Ljava/lang/String;[Ljava/lang/Object;)V'
      access        : 0x008a (PRIVATE STATIC VARARGS)
      method_idx    : 167
      code          -
      registers     : 6
      ins           : 2
      outs          : 2
      insns size    : 159 16-bit code units
003c54:                                        |[003c54] TestVariableArityLinkerMethod.printBsmArgs:(Ljava/lang/String;[Ljava/lang/Object;)V
003c64: 6200 1300                              |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003c68: 6e20 b000 4000                         |0002: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003c6e: 6200 1300                              |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003c72: 1a01 0600                              |0007: const-string v1, "(" // string@0006
003c76: 6e20 b000 1000                         |0009: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003c7c: 1200                                   |000c: const/4 v0, #int 0 // #0
003c7e: 2151                                   |000d: array-length v1, v5
003c80: 3510 8900                              |000e: if-ge v0, v1, 0097 // +0089
003c84: 3800 0900                              |0010: if-eqz v0, 0019 // +0009
003c88: 6201 1300                              |0012: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003c8c: 1a02 0c00                              |0014: const-string v2, ", " // string@000c
003c90: 6e20 b000 2100                         |0016: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003c96: 4601 0500                              |0019: aget-object v1, v5, v0
003c9a: 3801 7100                              |001b: if-eqz v1, 008c // +0071
003c9e: 4601 0500                              |001d: aget-object v1, v5, v0
003ca2: 6e10 c000 0100                         |001f: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003ca8: 0c01                                   |0022: move-result-object v1
003caa: 6e10 b800 0100                         |0023: invoke-virtual {v1}, Ljava/lang/Class;.isArray:()Z // method@00b8
003cb0: 0a01                                   |0026: move-result v1
003cb2: 3801 6500                              |0027: if-eqz v1, 008c // +0065
003cb6: 4601 0500                              |0029: aget-object v1, v5, v0
003cba: 6e10 c000 0100                         |002b: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003cc0: 0c02                                   |002e: move-result-object v2
003cc2: 1c03 4400                              |002f: const-class v3, [I // type@0044
003cc6: 3332 0f00                              |0031: if-ne v2, v3, 0040 // +000f
003cca: 6202 1300                              |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003cce: 0713                                   |0035: move-object v3, v1
003cd0: 1f03 4400                              |0036: check-cast v3, [I // type@0044
003cd4: 7110 e900 0300                         |0038: invoke-static {v3}, Ljava/util/Arrays;.toString:([I)Ljava/lang/String; // method@00e9
003cda: 0c03                                   |003b: move-result-object v3
003cdc: 6e20 b000 3200                         |003c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003ce2: 284c                                   |003f: goto 008b // +004c
003ce4: 6e10 c000 0100                         |0040: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003cea: 0c02                                   |0043: move-result-object v2
003cec: 1c03 4500                              |0044: const-class v3, [J // type@0045
003cf0: 3332 0f00                              |0046: if-ne v2, v3, 0055 // +000f
003cf4: 6202 1300                              |0048: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003cf8: 0713                                   |004a: move-object v3, v1
003cfa: 1f03 4500                              |004b: check-cast v3, [J // type@0045
003cfe: 7110 ea00 0300                         |004d: invoke-static {v3}, Ljava/util/Arrays;.toString:([J)Ljava/lang/String; // method@00ea
003d04: 0c03                                   |0050: move-result-object v3
003d06: 6e20 b000 3200                         |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003d0c: 2837                                   |0054: goto 008b // +0037
003d0e: 6e10 c000 0100                         |0055: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003d14: 0c02                                   |0058: move-result-object v2
003d16: 1c03 4300                              |0059: const-class v3, [F // type@0043
003d1a: 3332 0f00                              |005b: if-ne v2, v3, 006a // +000f
003d1e: 6202 1300                              |005d: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003d22: 0713                                   |005f: move-object v3, v1
003d24: 1f03 4300                              |0060: check-cast v3, [F // type@0043
003d28: 7110 e800 0300                         |0062: invoke-static {v3}, Ljava/util/Arrays;.toString:([F)Ljava/lang/String; // method@00e8
003d2e: 0c03                                   |0065: move-result-object v3
003d30: 6e20 b000 3200                         |0066: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003d36: 2822                                   |0069: goto 008b // +0022
003d38: 6e10 c000 0100                         |006a: invoke-virtual {v1}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003d3e: 0c02                                   |006d: move-result-object v2
003d40: 1c03 4200                              |006e: const-class v3, [D // type@0042
003d44: 3332 0f00                              |0070: if-ne v2, v3, 007f // +000f
003d48: 6202 1300                              |0072: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003d4c: 0713                                   |0074: move-object v3, v1
003d4e: 1f03 4200                              |0075: check-cast v3, [D // type@0042
003d52: 7110 e700 0300                         |0077: invoke-static {v3}, Ljava/util/Arrays;.toString:([D)Ljava/lang/String; // method@00e7
003d58: 0c03                                   |007a: move-result-object v3
003d5a: 6e20 b000 3200                         |007b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003d60: 280d                                   |007e: goto 008b // +000d
003d62: 6202 1300                              |007f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003d66: 0713                                   |0081: move-object v3, v1
003d68: 1f03 4800                              |0082: check-cast v3, [Ljava/lang/Object; // type@0048
003d6c: 7110 eb00 0300                         |0084: invoke-static {v3}, Ljava/util/Arrays;.toString:([Ljava/lang/Object;)Ljava/lang/String; // method@00eb
003d72: 0c03                                   |0087: move-result-object v3
003d74: 6e20 b000 3200                         |0088: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003d7a: 2808                                   |008b: goto 0093 // +0008
003d7c: 6201 1300                              |008c: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003d80: 4602 0500                              |008e: aget-object v2, v5, v0
003d84: 6e20 af00 2100                         |0090: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
003d8a: d800 0001                              |0093: add-int/lit8 v0, v0, #int 1 // #01
003d8e: 2900 78ff                              |0095: goto/16 000d // -0088
003d92: 6200 1300                              |0097: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003d96: 1a01 0800                              |0099: const-string v1, ");" // string@0008
003d9a: 6e20 b300 1000                         |009b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b3
003da0: 0e00                                   |009e: return-void
      catches       : (none)
      positions     : 
        0x0000 line=29
        0x0005 line=30
        0x000c line=31
        0x0010 line=32
        0x0012 line=33
        0x0019 line=35
        0x0029 line=36
        0x002b line=37
        0x0033 line=38
        0x0040 line=39
        0x0048 line=40
        0x0055 line=41
        0x005d line=42
        0x006a line=43
        0x0072 line=44
        0x007f line=46
        0x008b line=48
        0x008c line=49
        0x0093 line=31
        0x0097 line=52
        0x009e line=53
      locals        : 
        0x002b - 0x008b reg=1 array Ljava/lang/Object; 
        0x000d - 0x0097 reg=0 i I 
        0x0000 - 0x009f reg=4 method Ljava/lang/String; 
        0x0000 - 0x009f reg=5 args [Ljava/lang/Object; 

    #26              : (in LTestVariableArityLinkerMethod;)
      name          : 'test'
      type          : '()V'
      access        : 0x0008 (STATIC)
      method_idx    : 168
      code          -
      registers     : 3
      ins           : 0
      outs          : 2
      insns size    : 224 16-bit code units
003da4:                                        |[003da4] TestVariableArityLinkerMethod.test:()V
003db4: 1200                                   |0000: const/4 v0, #int 0 // #0
003db6: 0101                                   |0001: move v1, v0
003db8: 1222                                   |0002: const/4 v2, #int 2 // #2
003dba: 3521 0e00                              |0003: if-ge v1, v2, 0011 // +000e
003dbe: fc00 1f00 0000                         |0005: invoke-custom {}, call_site@001f
003dc4: fc00 2000 0000                         |0008: invoke-custom {}, call_site@0020
003dca: fc00 2100 0000                         |000b: invoke-custom {}, call_site@0021
003dd0: d801 0101                              |000e: add-int/lit8 v1, v1, #int 1 // #01
003dd4: 28f2                                   |0010: goto 0002 // -000e
003dd6: 0000                                   |0011: nop // spacer
003dd8: 3520 0e00                              |0012: if-ge v0, v2, 0020 // +000e
003ddc: fc00 2200 0000                         |0014: invoke-custom {}, call_site@0022
003de2: fc00 2300 0000                         |0017: invoke-custom {}, call_site@0023
003de8: fc00 2400 0000                         |001a: invoke-custom {}, call_site@0024
003dee: d800 0001                              |001d: add-int/lit8 v0, v0, #int 1 // #01
003df2: 28f3                                   |001f: goto 0012 // -000d
003df4: fc00 2500 0000                         |0020: invoke-custom {}, call_site@0025
003dfa: fc00 2600 0000                         |0023: invoke-custom {}, call_site@0026
003e00: fc00 2700 0000                         |0026: invoke-custom {}, call_site@0027
003e06: fc00 2800 0000                         |0029: invoke-custom {}, call_site@0028
003e0c: fc00 2900 0000                         |002c: invoke-custom {}, call_site@0029
003e12: fc00 2a00 0000                         |002f: invoke-custom {}, call_site@002a
003e18: 7100 8e00 0000                         |0032: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003e1e: 2826                                   |0035: goto 005b // +0026
003e20: 0d00                                   |0036: move-exception v0
003e22: 6201 1300                              |0037: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e26: 1a02 8201                              |0039: const-string v2, "methodO => " // string@0182
003e2a: 6e20 b000 2100                         |003b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003e30: 6201 1300                              |003e: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e34: 6e10 c000 0000                         |0040: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003e3a: 0c02                                   |0043: move-result-object v2
003e3c: 6e20 af00 2100                         |0044: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
003e42: 6201 1300                              |0047: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e46: 1a02 0200                              |0049: const-string v2, " => " // string@0002
003e4a: 6e20 b000 2100                         |004b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003e50: 6201 1300                              |004e: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e54: 6e10 b600 0000                         |0050: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
003e5a: 0c02                                   |0053: move-result-object v2
003e5c: 6e10 c000 0200                         |0054: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003e62: 0c02                                   |0057: move-result-object v2
003e64: 6e20 b200 2100                         |0058: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
003e6a: fc00 2b00 0000                         |005b: invoke-custom {}, call_site@002b
003e70: 7100 8e00 0000                         |005e: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003e76: 2826                                   |0061: goto 0087 // +0026
003e78: 0d00                                   |0062: move-exception v0
003e7a: 6201 1300                              |0063: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e7e: 1a02 8401                              |0065: const-string v2, "methodP => " // string@0184
003e82: 6e20 b000 2100                         |0067: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003e88: 6201 1300                              |006a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e8c: 6e10 c000 0000                         |006c: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003e92: 0c02                                   |006f: move-result-object v2
003e94: 6e20 af00 2100                         |0070: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
003e9a: 6201 1300                              |0073: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003e9e: 1a02 0200                              |0075: const-string v2, " => " // string@0002
003ea2: 6e20 b000 2100                         |0077: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003ea8: 6201 1300                              |007a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003eac: 6e10 b600 0000                         |007c: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
003eb2: 0c02                                   |007f: move-result-object v2
003eb4: 6e10 c000 0200                         |0080: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003eba: 0c02                                   |0083: move-result-object v2
003ebc: 6e20 b200 2100                         |0084: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
003ec2: fc00 2c00 0000                         |0087: invoke-custom {}, call_site@002c
003ec8: 7100 8e00 0000                         |008a: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003ece: 2826                                   |008d: goto 00b3 // +0026
003ed0: 0d00                                   |008e: move-exception v0
003ed2: 6201 1300                              |008f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003ed6: 1a02 8601                              |0091: const-string v2, "methodQ => " // string@0186
003eda: 6e20 b000 2100                         |0093: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003ee0: 6201 1300                              |0096: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003ee4: 6e10 c000 0000                         |0098: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003eea: 0c02                                   |009b: move-result-object v2
003eec: 6e20 af00 2100                         |009c: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
003ef2: 6201 1300                              |009f: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003ef6: 1a02 0200                              |00a1: const-string v2, " => " // string@0002
003efa: 6e20 b000 2100                         |00a3: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003f00: 6201 1300                              |00a6: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003f04: 6e10 b600 0000                         |00a8: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
003f0a: 0c02                                   |00ab: move-result-object v2
003f0c: 6e10 c000 0200                         |00ac: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003f12: 0c02                                   |00af: move-result-object v2
003f14: 6e20 b200 2100                         |00b0: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
003f1a: fc00 2d00 0000                         |00b3: invoke-custom {}, call_site@002d
003f20: 7100 8e00 0000                         |00b6: invoke-static {}, LTestVariableArityLinkerMethod;.assertNotReached:()V // method@008e
003f26: 2826                                   |00b9: goto 00df // +0026
003f28: 0d00                                   |00ba: move-exception v0
003f2a: 6201 1300                              |00bb: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003f2e: 1a02 8801                              |00bd: const-string v2, "methodR => " // string@0188
003f32: 6e20 b000 2100                         |00bf: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003f38: 6201 1300                              |00c2: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003f3c: 6e10 c000 0000                         |00c4: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003f42: 0c02                                   |00c7: move-result-object v2
003f44: 6e20 af00 2100                         |00c8: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/Object;)V // method@00af
003f4a: 6201 1300                              |00cb: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003f4e: 1a02 0200                              |00cd: const-string v2, " => " // string@0002
003f52: 6e20 b000 2100                         |00cf: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00b0
003f58: 6201 1300                              |00d2: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0013
003f5c: 6e10 b600 0000                         |00d4: invoke-virtual {v0}, Ljava/lang/BootstrapMethodError;.getCause:()Ljava/lang/Throwable; // method@00b6
003f62: 0c02                                   |00d7: move-result-object v2
003f64: 6e10 c000 0200                         |00d8: invoke-virtual {v2}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@00c0
003f6a: 0c02                                   |00db: move-result-object v2
003f6c: 6e20 b200 2100                         |00dc: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/Object;)V // method@00b2
003f72: 0e00                                   |00df: return-void
      catches       : 4
        0x002f - 0x0035
          Ljava/lang/BootstrapMethodError; -> 0x0036
        0x005b - 0x0061
          Ljava/lang/BootstrapMethodError; -> 0x0062
        0x0087 - 0x008d
          Ljava/lang/BootstrapMethodError; -> 0x008e
        0x00b3 - 0x00b9
          Ljava/lang/BootstrapMethodError; -> 0x00ba
      positions     : 
        0x0000 line=506
        0x0005 line=507
        0x0008 line=508
        0x000b line=509
        0x000e line=506
        0x0011 line=511
        0x0014 line=512
        0x0017 line=513
        0x001a line=514
        0x001d line=511
        0x0020 line=516
        0x0023 line=517
        0x0026 line=518
        0x0029 line=519
        0x002c line=520
        0x002f line=527
        0x0032 line=528
        0x0035 line=534
        0x0036 line=529
        0x0037 line=530
        0x003e line=531
        0x0047 line=532
        0x004e line=533
        0x005b line=538
        0x005e line=539
        0x0061 line=545
        0x0062 line=540
        0x0063 line=541
        0x006a line=542
        0x0073 line=543
        0x007a line=544
        0x0087 line=549
        0x008a line=550
        0x008d line=556
        0x008e line=551
        0x008f line=552
        0x0096 line=553
        0x009f line=554
        0x00a6 line=555
        0x00b3 line=560
        0x00b6 line=561
        0x00b9 line=567
        0x00ba line=562
        0x00bb line=563
        0x00c2 line=564
        0x00cb line=565
        0x00d2 line=566
        0x00df line=568
      locals        : 
        0x0002 - 0x0011 reg=1 i I 
        0x0012 - 0x0020 reg=0 i I 
        0x0037 - 0x005b reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x0063 - 0x0087 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x008f - 0x00b3 reg=0 expected Ljava/lang/BootstrapMethodError; 
        0x00bb - 0x00df reg=0 expected Ljava/lang/BootstrapMethodError; 

  Virtual methods   -
  source_file_idx   : 156 (TestVariableArityLinkerMethod.java)

Method handle #0:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsm
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ID)Ljava/lang/invoke/CallSite;
Method handle #1:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsm
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;)Ljava/lang/invoke/CallSite;
Method handle #2:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmDJ
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;DJ)Ljava/lang/invoke/CallSite;
Method handle #3:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmDoubleLong
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Double;Ljava/lang/Long;)Ljava/lang/invoke/CallSite;
Method handle #4:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmReturningInteger
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Integer;
Method handle #5:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmReturningObject
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/Object;
Method handle #6:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmReturningTestersConstantCallsite
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)LTestBadBootstrapArguments$TestersConstantCallSite;
Method handle #7:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmReturningVoid
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V
Method handle #8:
  type        : invoke-static
  target      : LTestBadBootstrapArguments; bsmZBCS
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZBCS)Ljava/lang/invoke/CallSite;
Method handle #9:
  type        : invoke-static
  target      : LTestDynamicBootstrapArguments; bsm
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;J)Ljava/lang/invoke/CallSite;
Method handle #10:
  type        : invoke-static
  target      : LTestInvocationKinds; lookupConstructor
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #11:
  type        : invoke-static
  target      : LTestInvocationKinds; lookupInstanceFieldGetter
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #12:
  type        : invoke-static
  target      : LTestInvocationKinds; lookupInstanceFieldSetter
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #13:
  type        : invoke-static
  target      : LTestInvocationKinds; lookupStaticFieldGetter
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #14:
  type        : invoke-static
  target      : LTestInvocationKinds; lookupStaticFieldSetter
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #15:
  type        : invoke-static
  target      : LTestInvocationKinds; lookupVirtual
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #16:
  type        : invoke-static
  target      : LTestInvokeCustomWithConcurrentThreads; linkerMethod
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #17:
  type        : invoke-static
  target      : LTestLinkerMethodMinimalArguments; linkerMethod
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #18:
  type        : invoke-static
  target      : LTestLinkerMethodMultipleArgumentTypes; linkerMethod
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IIIIIFDLjava/lang/String;Ljava/lang/Class;J)Ljava/lang/invoke/CallSite;
Method handle #19:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithBoxedArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Integer;)Ljava/lang/invoke/CallSite;
Method handle #20:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithClassAndFloatArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[F)Ljava/lang/invoke/CallSite;
Method handle #21:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithClassArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Class;)Ljava/lang/invoke/CallSite;
Method handle #22:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithDoubleArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[D)Ljava/lang/invoke/CallSite;
Method handle #23:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithFloatAndLongArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;F[J)Ljava/lang/invoke/CallSite;
Method handle #24:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithIntAndStringArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I[Ljava/lang/String;)Ljava/lang/invoke/CallSite;
Method handle #25:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithLongAndIntArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;J[I)Ljava/lang/invoke/CallSite;
Method handle #26:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithStringArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/String;)Ljava/lang/invoke/CallSite;
Method handle #27:
  type        : invoke-static
  target      : LTestVariableArityLinkerMethod; bsmWithWiderArray
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[J)Ljava/lang/invoke/CallSite;
Method handle #28:
  type        : invoke-static
  target      : LUnrelatedBSM; bsm
  target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;
Call site #0: // offset 29649
  link_argument[0] : 1 (MethodHandle)
  link_argument[1] : happy (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : -1 (int)
  link_argument[4] : very (String)
Call site #1: // offset 29662
  link_argument[0] : 0 (MethodHandle)
  link_argument[1] : wrongParameterTypes (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : -1 (int)
  link_argument[4] : very (String)
Call site #2: // offset 29675
  link_argument[0] : 0 (MethodHandle)
  link_argument[1] : missingParameterTypes (String)
  link_argument[2] : ()V (MethodType)
Call site #3: // offset 29683
  link_argument[0] : 1 (MethodHandle)
  link_argument[1] : extraArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1 (int)
  link_argument[4] : 2 (String)
  link_argument[5] : 3 (int)
Call site #4: // offset 29697
  link_argument[0] : 1 (MethodHandle)
  link_argument[1] : wrongArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1 (String)
  link_argument[4] : 3.14159 (double)
Call site #5: // offset 29697
  link_argument[0] : 1 (MethodHandle)
  link_argument[1] : wrongArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1 (String)
  link_argument[4] : 3.14159 (double)
Call site #6: // offset 29716
  link_argument[0] : 1 (MethodHandle)
  link_argument[1] : wrongArgumentsAgain (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 3.14159 (double)
  link_argument[4] : pie (String)
Call site #7: // offset 29736
  link_argument[0] : 8 (MethodHandle)
  link_argument[1] : narrowArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1 (int)
  link_argument[4] : 127 (int)
  link_argument[5] : 65 (int)
  link_argument[6] : -32768 (int)
Call site #8: // offset 29753
  link_argument[0] : 2 (MethodHandle)
  link_argument[1] : wideningArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1.79769e+308 (double)
  link_argument[4] : 2147483647 (int)
Call site #9: // offset 29775
  link_argument[0] : 3 (MethodHandle)
  link_argument[1] : boxingArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1.79769e+308 (double)
  link_argument[4] : 9223372036854775807 (long)
Call site #10: // offset 29800
  link_argument[0] : 3 (MethodHandle)
  link_argument[1] : wideningBoxingArguments (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 3.40282e+38 (float)
  link_argument[4] : 2147483647 (long)
Call site #11: // offset 29818
  link_argument[0] : 7 (MethodHandle)
  link_argument[1] : voidReturnType (String)
  link_argument[2] : ()V (MethodType)
Call site #12: // offset 29826
  link_argument[0] : 5 (MethodHandle)
  link_argument[1] : ObjectReturnType (String)
  link_argument[2] : ()V (MethodType)
Call site #13: // offset 29833
  link_argument[0] : 4 (MethodHandle)
  link_argument[1] : integerReturnType (String)
  link_argument[2] : ()V (MethodType)
Call site #14: // offset 29841
  link_argument[0] : 6 (MethodHandle)
  link_argument[1] : sayHello (String)
  link_argument[2] : ()V (MethodType)
Call site #15: // offset 29849
  link_argument[0] : 9 (MethodHandle)
  link_argument[1] : target (String)
  link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType)
  link_argument[3] : A (String)
  link_argument[4] : 100000000 (long)
Call site #16: // offset 29849
  link_argument[0] : 9 (MethodHandle)
  link_argument[1] : target (String)
  link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType)
  link_argument[3] : A (String)
  link_argument[4] : 100000000 (long)
Call site #17: // offset 29849
  link_argument[0] : 9 (MethodHandle)
  link_argument[1] : target (String)
  link_argument[2] : (ILjava/lang/String;Ljava/lang/Double;)I (MethodType)
  link_argument[3] : A (String)
  link_argument[4] : 100000000 (long)
Call site #18: // offset 29864
  link_argument[0] : 10 (MethodHandle)
  link_argument[1] : unused (String)
  link_argument[2] : (I)LTestInvocationKinds$Widget; (MethodType)
Call site #19: // offset 29872
  link_argument[0] : 12 (MethodHandle)
  link_argument[1] : instance_field (String)
  link_argument[2] : (LTestInvocationKinds;D)V (MethodType)
Call site #20: // offset 29880
  link_argument[0] : 11 (MethodHandle)
  link_argument[1] : instance_field (String)
  link_argument[2] : (LTestInvocationKinds;)D (MethodType)
Call site #21: // offset 29888
  link_argument[0] : 15 (MethodHandle)
  link_argument[1] : getMaxIntegerValue (String)
  link_argument[2] : (LTestInvocationKinds;II)I (MethodType)
Call site #22: // offset 29896
  link_argument[0] : 14 (MethodHandle)
  link_argument[1] : static_field (String)
  link_argument[2] : (I)V (MethodType)
Call site #23: // offset 29896
  link_argument[0] : 14 (MethodHandle)
  link_argument[1] : static_field (String)
  link_argument[2] : (I)V (MethodType)
Call site #24: // offset 29904
  link_argument[0] : 13 (MethodHandle)
  link_argument[1] : static_field (String)
  link_argument[2] : ()I (MethodType)
Call site #25: // offset 29904
  link_argument[0] : 13 (MethodHandle)
  link_argument[1] : static_field (String)
  link_argument[2] : ()I (MethodType)
Call site #26: // offset 29912
  link_argument[0] : 16 (MethodHandle)
  link_argument[1] : setCalled (String)
  link_argument[2] : (I)I (MethodType)
Call site #27: // offset 29920
  link_argument[0] : 17 (MethodHandle)
  link_argument[1] : _add (String)
  link_argument[2] : (II)I (MethodType)
Call site #28: // offset 29927
  link_argument[0] : 18 (MethodHandle)
  link_argument[1] : _add (String)
  link_argument[2] : (II)I (MethodType)
  link_argument[3] : -1 (int)
  link_argument[4] : 1 (int)
  link_argument[5] : 97 (int)
  link_argument[6] : 1024 (int)
  link_argument[7] : 1 (int)
  link_argument[8] : 11.1 (float)
  link_argument[9] : 2.2 (double)
  link_argument[10] : Hello (String)
  link_argument[11] : LTestLinkerMethodMultipleArgumentTypes; (Class)
  link_argument[12] : 123456789 (long)
Call site #29: // offset 29968
  link_argument[0] : 28 (MethodHandle)
  link_argument[1] : _addf (String)
  link_argument[2] : (FF)F (MethodType)
  link_argument[3] : LTestLinkerUnrelatedBSM; (Class)
Call site #30: // offset 29977
  link_argument[0] : 28 (MethodHandle)
  link_argument[1] : _subf (String)
  link_argument[2] : (FF)F (MethodType)
  link_argument[3] : LTestLinkerUnrelatedBSM; (Class)
Call site #31: // offset 29986
  link_argument[0] : 26 (MethodHandle)
  link_argument[1] : methodA (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : Aachen (String)
  link_argument[4] : Aalborg (String)
  link_argument[5] : Aalto (String)
Call site #32: // offset 30000
  link_argument[0] : 26 (MethodHandle)
  link_argument[1] : methodB (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : barium (String)
Call site #33: // offset 30010
  link_argument[0] : 26 (MethodHandle)
  link_argument[1] : methodC (String)
  link_argument[2] : ()V (MethodType)
Call site #34: // offset 30018
  link_argument[0] : 24 (MethodHandle)
  link_argument[1] : methodD (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 101 (int)
  link_argument[4] : zoo (String)
  link_argument[5] : zoogene (String)
  link_argument[6] : zoogenic (String)
Call site #35: // offset 30037
  link_argument[0] : 24 (MethodHandle)
  link_argument[1] : methodE (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 102 (int)
  link_argument[4] : zonic (String)
Call site #36: // offset 30050
  link_argument[0] : 24 (MethodHandle)
  link_argument[1] : methodF (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 103 (int)
Call site #37: // offset 30060
  link_argument[0] : 25 (MethodHandle)
  link_argument[1] : methodG (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 81985529216486895 (long)
  link_argument[4] : 1 (int)
  link_argument[5] : -1 (int)
  link_argument[6] : 2 (int)
  link_argument[7] : -2 (int)
Call site #38: // offset 30085
  link_argument[0] : 23 (MethodHandle)
  link_argument[1] : methodH (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : -2.71828 (float)
  link_argument[4] : 999999999999 (long)
  link_argument[5] : -8888888888888 (long)
Call site #39: // offset 30112
  link_argument[0] : 20 (MethodHandle)
  link_argument[1] : methodI (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : Ljava/lang/Throwable; (Class)
  link_argument[4] : 3.40282e+38 (float)
  link_argument[5] : 1.4013e-45 (float)
  link_argument[6] : 3.14159 (float)
  link_argument[7] : -3.14159 (float)
Call site #40: // offset 30142
  link_argument[0] : 22 (MethodHandle)
  link_argument[1] : methodJ (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1.79769e+308 (double)
  link_argument[4] : 4.94066e-324 (double)
  link_argument[5] : 2.71828 (double)
  link_argument[6] : -3.14159 (double)
Call site #41: // offset 30186
  link_argument[0] : 21 (MethodHandle)
  link_argument[1] : methodK (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : Ljava/lang/Integer; (Class)
  link_argument[4] : Ljava/lang/invoke/MethodHandles; (Class)
  link_argument[5] : Ljava/util/Arrays; (Class)
Call site #42: // offset 30200
  link_argument[0] : 24 (MethodHandle)
  link_argument[1] : methodO (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 103 (int)
  link_argument[4] : 104 (int)
Call site #43: // offset 30212
  link_argument[0] : 24 (MethodHandle)
  link_argument[1] : methodP (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 103 (int)
  link_argument[4] : A (String)
  link_argument[5] : B (String)
  link_argument[6] : 42 (int)
Call site #44: // offset 30228
  link_argument[0] : 27 (MethodHandle)
  link_argument[1] : methodQ (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 103 (int)
  link_argument[4] : 42 (int)
Call site #45: // offset 30240
  link_argument[0] : 19 (MethodHandle)
  link_argument[1] : methodR (String)
  link_argument[2] : ()V (MethodType)
  link_argument[3] : 1030 (int)
  link_argument[4] : 420 (int)
