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\n" // 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\n" // 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)
