blob: 1bfa0532b2e2313a1d2c9e3b3cbf4a5035f051c1 [file] [log] [blame]
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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