blob: 48493cf93590718797cea458075f78223d09b9ba [file] [log] [blame]
Processing 'all-dex-files.jar'...
Opened 'all-dex-files.jar:classes.dex', DEX version '035'
DEX file header:
magic : 'dex\n035\0'
checksum : d5134208
signature : 7af6...100f
file_size : 2572
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 46
string_ids_off : 112 (0x000070)
type_ids_size : 10
type_ids_off : 296 (0x000128)
proto_ids_size : 3
proto_ids_off : 336 (0x000150)
field_ids_size : 14
field_ids_off : 372 (0x000174)
method_ids_size : 21
method_ids_off : 484 (0x0001e4)
class_defs_size : 1
class_defs_off : 652 (0x00028c)
data_size : 1888
data_off : 684 (0x0002ac)
Class #0 header:
class_idx : 4
access_flags : 1 (0x0001)
superclass_idx : 5
interfaces_off : 0 (0x000000)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 2310 (0x000906)
static_fields_size : 7
instance_fields_size: 7
direct_methods_size : 18
virtual_methods_size: 2
Class #0 -
Class descriptor : 'LA;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
#0 : (in LA;)
name : 'sB'
type : 'B'
access : 0x000a (PRIVATE STATIC)
#1 : (in LA;)
name : 'sC'
type : 'C'
access : 0x000a (PRIVATE STATIC)
#2 : (in LA;)
name : 'sI'
type : 'I'
access : 0x000a (PRIVATE STATIC)
#3 : (in LA;)
name : 'sJ'
type : 'J'
access : 0x000a (PRIVATE STATIC)
#4 : (in LA;)
name : 'sO'
type : 'LA;'
access : 0x000a (PRIVATE STATIC)
#5 : (in LA;)
name : 'sS'
type : 'S'
access : 0x000a (PRIVATE STATIC)
#6 : (in LA;)
name : 'sZ'
type : 'Z'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in LA;)
name : 'mB'
type : 'B'
access : 0x0002 (PRIVATE)
#1 : (in LA;)
name : 'mC'
type : 'C'
access : 0x0002 (PRIVATE)
#2 : (in LA;)
name : 'mI'
type : 'I'
access : 0x0002 (PRIVATE)
#3 : (in LA;)
name : 'mJ'
type : 'J'
access : 0x0002 (PRIVATE)
#4 : (in LA;)
name : 'mO'
type : 'LA;'
access : 0x0002 (PRIVATE)
#5 : (in LA;)
name : 'mS'
type : 'S'
access : 0x0002 (PRIVATE)
#6 : (in LA;)
name : 'mZ'
type : 'Z'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in LA;)
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
00042c: |[00042c] A.<init>:()V
00043c: 7010 1400 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0014
000442: 0e00 |0003: return-void
catches : (none)
positions :
locals :
#1 : (in LA;)
name : 'arrays'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 1
code -
registers : 3
ins : 0
outs : 0
insns size : 29 16-bit code units
000444: |[000444] A.arrays:()V
000454: 4400 0102 |0000: aget v0, v1, v2
000458: 4500 0102 |0002: aget-wide v0, v1, v2
00045c: 4600 0102 |0004: aget-object v0, v1, v2
000460: 4700 0102 |0006: aget-boolean v0, v1, v2
000464: 4800 0102 |0008: aget-byte v0, v1, v2
000468: 4900 0102 |000a: aget-char v0, v1, v2
00046c: 4a00 0102 |000c: aget-short v0, v1, v2
000470: 4b00 0102 |000e: aput v0, v1, v2
000474: 4c00 0102 |0010: aput-wide v0, v1, v2
000478: 4d00 0102 |0012: aput-object v0, v1, v2
00047c: 4e00 0102 |0014: aput-boolean v0, v1, v2
000480: 4f00 0102 |0016: aput-byte v0, v1, v2
000484: 5000 0102 |0018: aput-char v0, v1, v2
000488: 5100 0102 |001a: aput-short v0, v1, v2
00048c: 0e00 |001c: return-void
catches : (none)
positions :
locals :
#2 : (in LA;)
name : 'binary_ops'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 2
code -
registers : 3
ins : 0
outs : 0
insns size : 65 16-bit code units
000490: |[000490] A.binary_ops:()V
0004a0: 9000 0102 |0000: add-int v0, v1, v2
0004a4: 9100 0102 |0002: sub-int v0, v1, v2
0004a8: 9200 0102 |0004: mul-int v0, v1, v2
0004ac: 9300 0102 |0006: div-int v0, v1, v2
0004b0: 9400 0102 |0008: rem-int v0, v1, v2
0004b4: 9500 0102 |000a: and-int v0, v1, v2
0004b8: 9600 0102 |000c: or-int v0, v1, v2
0004bc: 9700 0102 |000e: xor-int v0, v1, v2
0004c0: 9800 0102 |0010: shl-int v0, v1, v2
0004c4: 9900 0102 |0012: shr-int v0, v1, v2
0004c8: 9a00 0102 |0014: ushr-int v0, v1, v2
0004cc: 9b00 0102 |0016: add-long v0, v1, v2
0004d0: 9c00 0102 |0018: sub-long v0, v1, v2
0004d4: 9d00 0102 |001a: mul-long v0, v1, v2
0004d8: 9e00 0102 |001c: div-long v0, v1, v2
0004dc: 9f00 0102 |001e: rem-long v0, v1, v2
0004e0: a000 0102 |0020: and-long v0, v1, v2
0004e4: a100 0102 |0022: or-long v0, v1, v2
0004e8: a200 0102 |0024: xor-long v0, v1, v2
0004ec: a300 0102 |0026: shl-long v0, v1, v2
0004f0: a400 0102 |0028: shr-long v0, v1, v2
0004f4: a500 0102 |002a: ushr-long v0, v1, v2
0004f8: a600 0102 |002c: add-float v0, v1, v2
0004fc: a700 0102 |002e: sub-float v0, v1, v2
000500: a800 0102 |0030: mul-float v0, v1, v2
000504: a900 0102 |0032: div-float v0, v1, v2
000508: aa00 0102 |0034: rem-float v0, v1, v2
00050c: ab00 0102 |0036: add-double v0, v1, v2
000510: ac00 0102 |0038: sub-double v0, v1, v2
000514: ad00 0102 |003a: mul-double v0, v1, v2
000518: ae00 0102 |003c: div-double v0, v1, v2
00051c: af00 0102 |003e: rem-double v0, v1, v2
000520: 0e00 |0040: return-void
catches : (none)
positions :
locals :
#3 : (in LA;)
name : 'binary_ops_2addr'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 3
code -
registers : 2
ins : 0
outs : 0
insns size : 33 16-bit code units
000524: |[000524] A.binary_ops_2addr:()V
000534: b010 |0000: add-int/2addr v0, v1
000536: b110 |0001: sub-int/2addr v0, v1
000538: b210 |0002: mul-int/2addr v0, v1
00053a: b310 |0003: div-int/2addr v0, v1
00053c: b410 |0004: rem-int/2addr v0, v1
00053e: b510 |0005: and-int/2addr v0, v1
000540: b610 |0006: or-int/2addr v0, v1
000542: b710 |0007: xor-int/2addr v0, v1
000544: b810 |0008: shl-int/2addr v0, v1
000546: b910 |0009: shr-int/2addr v0, v1
000548: ba10 |000a: ushr-int/2addr v0, v1
00054a: bb10 |000b: add-long/2addr v0, v1
00054c: bc10 |000c: sub-long/2addr v0, v1
00054e: bd10 |000d: mul-long/2addr v0, v1
000550: be10 |000e: div-long/2addr v0, v1
000552: bf10 |000f: rem-long/2addr v0, v1
000554: c010 |0010: and-long/2addr v0, v1
000556: c110 |0011: or-long/2addr v0, v1
000558: c210 |0012: xor-long/2addr v0, v1
00055a: c310 |0013: shl-long/2addr v0, v1
00055c: c410 |0014: shr-long/2addr v0, v1
00055e: c510 |0015: ushr-long/2addr v0, v1
000560: c610 |0016: add-float/2addr v0, v1
000562: c710 |0017: sub-float/2addr v0, v1
000564: c810 |0018: mul-float/2addr v0, v1
000566: c910 |0019: div-float/2addr v0, v1
000568: ca10 |001a: rem-float/2addr v0, v1
00056a: cb10 |001b: add-double/2addr v0, v1
00056c: cc10 |001c: sub-double/2addr v0, v1
00056e: cd10 |001d: mul-double/2addr v0, v1
000570: ce10 |001e: div-double/2addr v0, v1
000572: cf10 |001f: rem-double/2addr v0, v1
000574: 0e00 |0020: return-void
catches : (none)
positions :
locals :
#4 : (in LA;)
name : 'binary_ops_lit16'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 4
code -
registers : 2
ins : 0
outs : 0
insns size : 17 16-bit code units
000578: |[000578] A.binary_ops_lit16:()V
000588: d010 3412 |0000: add-int/lit16 v0, v1, #int 4660 // #1234
00058c: d110 3412 |0002: rsub-int v0, v1, #int 4660 // #1234
000590: d210 3412 |0004: mul-int/lit16 v0, v1, #int 4660 // #1234
000594: d310 3412 |0006: div-int/lit16 v0, v1, #int 4660 // #1234
000598: d410 3412 |0008: rem-int/lit16 v0, v1, #int 4660 // #1234
00059c: d510 3412 |000a: and-int/lit16 v0, v1, #int 4660 // #1234
0005a0: d610 3412 |000c: or-int/lit16 v0, v1, #int 4660 // #1234
0005a4: d710 3412 |000e: xor-int/lit16 v0, v1, #int 4660 // #1234
0005a8: 0e00 |0010: return-void
catches : (none)
positions :
locals :
#5 : (in LA;)
name : 'binary_ops_lit8'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 5
code -
registers : 2
ins : 0
outs : 0
insns size : 23 16-bit code units
0005ac: |[0005ac] A.binary_ops_lit8:()V
0005bc: d800 0112 |0000: add-int/lit8 v0, v1, #int 18 // #12
0005c0: d900 0112 |0002: rsub-int/lit8 v0, v1, #int 18 // #12
0005c4: da00 0112 |0004: mul-int/lit8 v0, v1, #int 18 // #12
0005c8: db00 0112 |0006: div-int/lit8 v0, v1, #int 18 // #12
0005cc: dc00 0112 |0008: rem-int/lit8 v0, v1, #int 18 // #12
0005d0: dd00 0112 |000a: and-int/lit8 v0, v1, #int 18 // #12
0005d4: de00 0112 |000c: or-int/lit8 v0, v1, #int 18 // #12
0005d8: df00 0112 |000e: xor-int/lit8 v0, v1, #int 18 // #12
0005dc: e000 0112 |0010: shl-int/lit8 v0, v1, #int 18 // #12
0005e0: e100 0112 |0012: shr-int/lit8 v0, v1, #int 18 // #12
0005e4: e200 0112 |0014: ushr-int/lit8 v0, v1, #int 18 // #12
0005e8: 0e00 |0016: return-void
catches : (none)
positions :
locals :
#6 : (in LA;)
name : 'compares'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 6
code -
registers : 3
ins : 0
outs : 0
insns size : 11 16-bit code units
0005ec: |[0005ec] A.compares:()V
0005fc: 2d00 0102 |0000: cmpl-float v0, v1, v2
000600: 2e00 0102 |0002: cmpg-float v0, v1, v2
000604: 2f00 0102 |0004: cmpl-double v0, v1, v2
000608: 3000 0102 |0006: cmpg-double v0, v1, v2
00060c: 3100 0102 |0008: cmp-long v0, v1, v2
000610: 0e00 |000a: return-void
catches : (none)
positions :
locals :
#7 : (in LA;)
name : 'conditionals'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 7
code -
registers : 2
ins : 0
outs : 0
insns size : 25 16-bit code units
000614: |[000614] A.conditionals:()V
000624: 3210 1800 |0000: if-eq v0, v1, 0018 // +0018
000628: 3310 1600 |0002: if-ne v0, v1, 0018 // +0016
00062c: 3410 1400 |0004: if-lt v0, v1, 0018 // +0014
000630: 3510 1200 |0006: if-ge v0, v1, 0018 // +0012
000634: 3610 1000 |0008: if-gt v0, v1, 0018 // +0010
000638: 3710 0e00 |000a: if-le v0, v1, 0018 // +000e
00063c: 3800 0c00 |000c: if-eqz v0, 0018 // +000c
000640: 3900 0a00 |000e: if-nez v0, 0018 // +000a
000644: 3a00 0800 |0010: if-ltz v0, 0018 // +0008
000648: 3b00 0600 |0012: if-gez v0, 0018 // +0006
00064c: 3c00 0400 |0014: if-gtz v0, 0018 // +0004
000650: 3d00 0200 |0016: if-lez v0, 0018 // +0002
000654: 0e00 |0018: return-void
catches : (none)
positions :
locals :
#8 : (in LA;)
name : 'constants'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 8
code -
registers : 1
ins : 0
outs : 0
insns size : 28 16-bit code units
000658: |[000658] A.constants:()V
000668: 1210 |0000: const/4 v0, #int 1 // #1
00066a: 1300 3412 |0001: const/16 v0, #int 4660 // #1234
00066e: 1400 7856 3412 |0003: const v0, #float 5.69046e-28 // #12345678
000674: 1500 3412 |0006: const/high16 v0, #int 305397760 // #1234
000678: 1600 3412 |0008: const-wide/16 v0, #int 4660 // #1234
00067c: 1700 7856 3412 |000a: const-wide/32 v0, #float 5.69046e-28 // #12345678
000682: 1800 efcd ab90 7856 3412 |000d: const-wide v0, #double 5.62635e-221 // #1234567890abcdef
00068c: 1900 3412 |0012: const-wide/high16 v0, #long 1311673391471656960 // #1234
000690: 1a00 2c00 |0014: const-string v0, "string" // string@002c
000694: 1b00 2c00 0000 |0016: const-string/jumbo v0, "string" // string@0000002c
00069a: 1c00 0500 |0019: const-class v0, Ljava/lang/Object; // type@0005
00069e: 0e00 |001b: return-void
catches : (none)
positions :
locals :
#9 : (in LA;)
name : 'misc'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 11
code -
registers : 5
ins : 0
outs : 0
insns size : 54 16-bit code units
0006a0: |[0006a0] A.misc:()V
0006b0: 0000 |0000: nop // spacer
0006b2: 1d00 |0001: monitor-enter v0
0006b4: 1e00 |0002: monitor-exit v0
0006b6: 1f00 0500 |0003: check-cast v0, Ljava/lang/Object; // type@0005
0006ba: 2010 0500 |0005: instance-of v0, v1, Ljava/lang/Object; // type@0005
0006be: 2110 |0007: array-length v0, v1
0006c0: 2200 0500 |0008: new-instance v0, Ljava/lang/Object; // type@0005
0006c4: 2310 0500 |000a: new-array v0, v1, Ljava/lang/Object; // type@0005
0006c8: 2454 0900 1032 |000c: filled-new-array {v0, v1, v2, v3, v4}, [Ljava/lang/Object; // type@0009
0006ce: 2505 0900 0000 |000f: filled-new-array/range {v0, v1, v2, v3, v4}, [Ljava/lang/Object; // type@0009
0006d4: 2600 0c00 0000 |0012: fill-array-data v0, 0000001e // +0000000c
0006da: 2700 |0015: throw v0
0006dc: 2806 |0016: goto 001c // +0006
0006de: 2900 0500 |0017: goto/16 001c // +0005
0006e2: 2a00 0300 0000 |0019: goto/32 #00000003
0006e8: 0e00 |001c: return-void
0006ea: 0000 |001d: nop // spacer
0006ec: 0003 0400 0a00 0000 0100 0000 0200 ... |001e: array-data (24 units)
catches : (none)
positions :
locals :
#10 : (in LA;)
name : 'moves'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 12
code -
registers : 2
ins : 0
outs : 0
insns size : 23 16-bit code units
00071c: |[00071c] A.moves:()V
00072c: 0110 |0000: move v0, v1
00072e: 0200 0100 |0001: move/from16 v0, v1
000732: 0300 0000 0100 |0003: move/16 v0, v1
000738: 0410 |0006: move-wide v0, v1
00073a: 0500 0100 |0007: move-wide/from16 v0, v1
00073e: 0600 0000 0100 |0009: move-wide/16 v0, v1
000744: 0710 |000c: move-object v0, v1
000746: 0800 0100 |000d: move-object/from16 v0, v1
00074a: 0900 0000 0100 |000f: move-object/16 v0, v1
000750: 0a00 |0012: move-result v0
000752: 0b00 |0013: move-result-wide v0
000754: 0c00 |0014: move-result-object v0
000756: 0d00 |0015: move-exception v0
000758: 0e00 |0016: return-void
catches : (none)
positions :
locals :
#11 : (in LA;)
name : 'packed_switch'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 13
code -
registers : 1
ins : 0
outs : 0
insns size : 16 16-bit code units
00075c: |[00075c] A.packed_switch:()V
00076c: 2b00 0800 0000 |0000: packed-switch v0, 00000008 // +00000008
000772: 0e00 |0003: return-void
000774: 28ff |0004: goto 0003 // -0001
000776: 28fe |0005: goto 0003 // -0002
000778: 28fd |0006: goto 0003 // -0003
00077a: 0000 |0007: nop // spacer
00077c: 0001 0200 feff ff7f 0500 0000 0600 ... |0008: packed-switch-data (8 units)
catches : (none)
positions :
locals :
#12 : (in LA;)
name : 'return32'
type : '()I'
access : 0x0009 (PUBLIC STATIC)
method_idx : 14
code -
registers : 1
ins : 0
outs : 0
insns size : 1 16-bit code units
00078c: |[00078c] A.return32:()I
00079c: 0f00 |0000: return v0
catches : (none)
positions :
locals :
#13 : (in LA;)
name : 'return64'
type : '()I'
access : 0x0009 (PUBLIC STATIC)
method_idx : 15
code -
registers : 2
ins : 0
outs : 0
insns size : 1 16-bit code units
0007a0: |[0007a0] A.return64:()I
0007b0: 1000 |0000: return-wide v0
catches : (none)
positions :
locals :
#14 : (in LA;)
name : 'return_object'
type : '()Ljava/lang/Object;'
access : 0x0009 (PUBLIC STATIC)
method_idx : 16
code -
registers : 1
ins : 0
outs : 0
insns size : 1 16-bit code units
0007b4: |[0007b4] A.return_object:()Ljava/lang/Object;
0007c4: 1100 |0000: return-object v0
catches : (none)
positions :
locals :
#15 : (in LA;)
name : 'sparse_switch'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 17
code -
registers : 2
ins : 0
outs : 0
insns size : 22 16-bit code units
0007c8: |[0007c8] A.sparse_switch:()V
0007d8: 2c00 0400 0000 |0000: sparse-switch v0, 00000004 // +00000004
0007de: 0e00 |0003: return-void
0007e0: 0002 0400 1111 0000 2222 0000 3333 ... |0004: sparse-switch-data (18 units)
catches : (none)
positions :
locals :
#16 : (in LA;)
name : 'static_fields'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 18
code -
registers : 1
ins : 0
outs : 0
insns size : 29 16-bit code units
000804: |[000804] A.static_fields:()V
000814: 6000 0900 |0000: sget v0, LA;.sI:I // field@0009
000818: 6100 0a00 |0002: sget-wide v0, LA;.sJ:J // field@000a
00081c: 6200 0b00 |0004: sget-object v0, LA;.sO:LA; // field@000b
000820: 6300 0d00 |0006: sget-boolean v0, LA;.sZ:Z // field@000d
000824: 6400 0700 |0008: sget-byte v0, LA;.sB:B // field@0007
000828: 6500 0800 |000a: sget-char v0, LA;.sC:C // field@0008
00082c: 6600 0c00 |000c: sget-short v0, LA;.sS:S // field@000c
000830: 6700 0900 |000e: sput v0, LA;.sI:I // field@0009
000834: 6800 0a00 |0010: sput-wide v0, LA;.sJ:J // field@000a
000838: 6900 0b00 |0012: sput-object v0, LA;.sO:LA; // field@000b
00083c: 6a00 0d00 |0014: sput-boolean v0, LA;.sZ:Z // field@000d
000840: 6b00 0700 |0016: sput-byte v0, LA;.sB:B // field@0007
000844: 6c00 0800 |0018: sput-char v0, LA;.sC:C // field@0008
000848: 6d00 0500 |001a: sput-short v0, LA;.mS:S // field@0005
00084c: 0e00 |001c: return-void
catches : (none)
positions :
locals :
#17 : (in LA;)
name : 'unary_ops'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 19
code -
registers : 2
ins : 0
outs : 0
insns size : 22 16-bit code units
000850: |[000850] A.unary_ops:()V
000860: 7b10 |0000: neg-int v0, v1
000862: 7c10 |0001: not-int v0, v1
000864: 7d10 |0002: neg-long v0, v1
000866: 7e10 |0003: not-long v0, v1
000868: 7f10 |0004: neg-float v0, v1
00086a: 8010 |0005: neg-double v0, v1
00086c: 8110 |0006: int-to-long v0, v1
00086e: 8210 |0007: int-to-float v0, v1
000870: 8310 |0008: int-to-double v0, v1
000872: 8410 |0009: long-to-int v0, v1
000874: 8510 |000a: long-to-float v0, v1
000876: 8610 |000b: long-to-double v0, v1
000878: 8710 |000c: float-to-int v0, v1
00087a: 8810 |000d: float-to-long v0, v1
00087c: 8910 |000e: float-to-double v0, v1
00087e: 8a10 |000f: double-to-int v0, v1
000880: 8b10 |0010: double-to-long v0, v1
000882: 8c10 |0011: double-to-float v0, v1
000884: 8d10 |0012: int-to-byte v0, v1
000886: 8e10 |0013: int-to-char v0, v1
000888: 8f10 |0014: int-to-short v0, v1
00088a: 0e00 |0015: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in LA;)
name : 'instance_fields'
type : '()V'
access : 0x0001 (PUBLIC)
method_idx : 9
code -
registers : 2
ins : 1
outs : 0
insns size : 29 16-bit code units
00088c: |[00088c] A.instance_fields:()V
00089c: 5210 0900 |0000: iget v0, v1, LA;.sI:I // field@0009
0008a0: 5310 0a00 |0002: iget-wide v0, v1, LA;.sJ:J // field@000a
0008a4: 5410 0b00 |0004: iget-object v0, v1, LA;.sO:LA; // field@000b
0008a8: 5510 0d00 |0006: iget-boolean v0, v1, LA;.sZ:Z // field@000d
0008ac: 5610 0700 |0008: iget-byte v0, v1, LA;.sB:B // field@0007
0008b0: 5710 0800 |000a: iget-char v0, v1, LA;.sC:C // field@0008
0008b4: 5810 0c00 |000c: iget-short v0, v1, LA;.sS:S // field@000c
0008b8: 5910 0900 |000e: iput v0, v1, LA;.sI:I // field@0009
0008bc: 5a10 0a00 |0010: iput-wide v0, v1, LA;.sJ:J // field@000a
0008c0: 5b10 0b00 |0012: iput-object v0, v1, LA;.sO:LA; // field@000b
0008c4: 5c10 0d00 |0014: iput-boolean v0, v1, LA;.sZ:Z // field@000d
0008c8: 5d10 0700 |0016: iput-byte v0, v1, LA;.sB:B // field@0007
0008cc: 5e10 0800 |0018: iput-char v0, v1, LA;.sC:C // field@0008
0008d0: 5f10 0c00 |001a: iput-short v0, v1, LA;.sS:S // field@000c
0008d4: 0e00 |001c: return-void
catches : (none)
positions :
locals :
#1 : (in LA;)
name : 'invokes'
type : '()V'
access : 0x0001 (PUBLIC)
method_idx : 10
code -
registers : 5
ins : 1
outs : 1
insns size : 15 16-bit code units
0008d8: |[0008d8] A.invokes:()V
0008e8: 6e54 0a00 1032 |0000: invoke-virtual {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a
0008ee: 6f54 0a00 1032 |0003: invoke-super {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a
0008f4: 7054 0a00 1032 |0006: invoke-direct {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a
0008fa: 7154 0a00 1032 |0009: invoke-static {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a
000900: 7254 0a00 1032 |000c: invoke-interface {v0, v1, v2, v3, v4}, LA;.invokes:()V // method@000a
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Opened 'all-dex-files.jar:classes2.dex', DEX version '035'
DEX file header:
magic : 'dex\n035\0'
checksum : 3ce07f0d
signature : 6aca...3cae
file_size : 35384
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 323
string_ids_off : 112 (0x000070)
type_ids_size : 58
type_ids_off : 1404 (0x00057c)
proto_ids_size : 88
proto_ids_off : 1636 (0x000664)
field_ids_size : 108
field_ids_off : 2692 (0x000a84)
method_ids_size : 177
method_ids_off : 3556 (0x000de4)
class_defs_size : 9
class_defs_off : 4972 (0x00136c)
data_size : 30124
data_off : 5260 (0x00148c)
Class #0 header:
class_idx : 30
access_flags : 1 (0x0001)
superclass_idx : 4
interfaces_off : 0 (0x000000)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 34554 (0x0086fa)
static_fields_size : 0
instance_fields_size: 1
direct_methods_size : 2
virtual_methods_size: 8
Class #0 -
Class descriptor : 'Lcom/google/android/checkers/Checkers;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Landroid/app/Activity;'
Interfaces -
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/Checkers;)
name : 'a'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Lcom/google/android/checkers/Checkers;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
method_idx : 62
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
00148c: |[00148c] com.google.android.checkers.Checkers.<init>:()V
00149c: 7010 0000 0000 |0000: invoke-direct {v0}, Landroid/app/Activity;.<init>:()V // method@0000
0014a2: 0e00 |0003: return-void
catches : (none)
positions :
locals :
#1 : (in Lcom/google/android/checkers/Checkers;)
name : 'a'
type : '(Z)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 63
code -
registers : 4
ins : 2
outs : 2
insns size : 33 16-bit code units
0014a4: |[0014a4] com.google.android.checkers.Checkers.a:(Z)V
0014b4: 6e10 4100 0200 |0000: invoke-virtual {v2}, Lcom/google/android/checkers/Checkers;.getWindow:()Landroid/view/Window; // method@0041
0014ba: 0c00 |0003: move-result-object v0
0014bc: 3803 1200 |0004: if-eqz v3, 0016 // +0012
0014c0: 1301 8004 |0006: const/16 v1, #int 1152 // #480
0014c4: 6e20 3a00 1000 |0008: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@003a
0014ca: 1301 0008 |000b: const/16 v1, #int 2048 // #800
0014ce: 6e20 3b00 1000 |000d: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@003b
0014d4: 5420 0100 |0010: iget-object v0, v2, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0014d8: 6e10 6f00 0000 |0012: invoke-virtual {v0}, Lcom/google/android/checkers/CheckersView;.requestLayout:()V // method@006f
0014de: 0e00 |0015: return-void
0014e0: 1301 8008 |0016: const/16 v1, #int 2176 // #880
0014e4: 6e20 3a00 1000 |0018: invoke-virtual {v0, v1}, Landroid/view/Window;.addFlags:(I)V // method@003a
0014ea: 1301 0004 |001b: const/16 v1, #int 1024 // #400
0014ee: 6e20 3b00 1000 |001d: invoke-virtual {v0, v1}, Landroid/view/Window;.clearFlags:(I)V // method@003b
0014f4: 28f0 |0020: goto 0010 // -0010
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/Checkers;)
name : 'onConfigurationChanged'
type : '(Landroid/content/res/Configuration;)V'
access : 0x0001 (PUBLIC)
method_idx : 66
code -
registers : 2
ins : 2
outs : 2
insns size : 4 16-bit code units
0014f8: |[0014f8] com.google.android.checkers.Checkers.onConfigurationChanged:(Landroid/content/res/Configuration;)V
001508: 6f20 0100 1000 |0000: invoke-super {v0, v1}, Landroid/app/Activity;.onConfigurationChanged:(Landroid/content/res/Configuration;)V // method@0001
00150e: 0e00 |0003: return-void
catches : (none)
positions :
locals :
#1 : (in Lcom/google/android/checkers/Checkers;)
name : 'onCreate'
type : '(Landroid/os/Bundle;)V'
access : 0x0001 (PUBLIC)
method_idx : 67
code -
registers : 8
ins : 2
outs : 3
insns size : 59 16-bit code units
001510: |[001510] com.google.android.checkers.Checkers.onCreate:(Landroid/os/Bundle;)V
001520: 1215 |0000: const/4 v5, #int 1 // #1
001522: 1201 |0001: const/4 v1, #int 0 // #0
001524: 6f20 0200 7600 |0002: invoke-super {v6, v7}, Landroid/app/Activity;.onCreate:(Landroid/os/Bundle;)V // method@0002
00152a: 6e20 4a00 5600 |0005: invoke-virtual {v6, v5}, Lcom/google/android/checkers/Checkers;.requestWindowFeature:(I)Z // method@004a
001530: 2200 1f00 |0008: new-instance v0, Lcom/google/android/checkers/CheckersView; // type@001f
001534: 6e20 4000 1600 |000a: invoke-virtual {v6, v1}, Lcom/google/android/checkers/Checkers;.getPreferences:(I)Landroid/content/SharedPreferences; // method@0040
00153a: 0c02 |000d: move-result-object v2
00153c: 7030 4d00 6002 |000e: invoke-direct {v0, v6, v2}, Lcom/google/android/checkers/CheckersView;.<init>:(Landroid/content/Context;Landroid/content/SharedPreferences;)V // method@004d
001542: 5b60 0100 |0011: iput-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001546: 1a03 b500 |0013: const-string v3, "by Aart J.C. Bik" // string@00b5
00154a: 0110 |0015: move v0, v1
00154c: 0112 |0016: move v2, v1
00154e: 6e10 a400 0300 |0017: invoke-virtual {v3}, Ljava/lang/String;.length:()I // method@00a4
001554: 0a04 |001a: move-result v4
001556: 3440 1800 |001b: if-lt v0, v4, 0033 // +0018
00155a: 1300 c204 |001d: const/16 v0, #int 1218 // #4c2
00155e: 3202 0500 |001f: if-eq v2, v0, 0024 // +0005
001562: 7110 ac00 0500 |0021: invoke-static {v5}, Ljava/lang/System;.exit:(I)V // method@00ac
001568: 5460 0100 |0024: iget-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
00156c: 6e20 4b00 0600 |0026: invoke-virtual {v6, v0}, Lcom/google/android/checkers/Checkers;.setContentView:(Landroid/view/View;)V // method@004b
001572: 5460 0100 |0029: iget-object v0, v6, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001576: 6e20 6500 1000 |002b: invoke-virtual {v0, v1}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065
00157c: 0a00 |002e: move-result v0
00157e: 7020 3f00 0600 |002f: invoke-direct {v6, v0}, Lcom/google/android/checkers/Checkers;.a:(Z)V // method@003f
001584: 0e00 |0032: return-void
001586: 6e20 a300 0300 |0033: invoke-virtual {v3, v0}, Ljava/lang/String;.charAt:(I)C // method@00a3
00158c: 0a04 |0036: move-result v4
00158e: b042 |0037: add-int/2addr v2, v4
001590: d800 0001 |0038: add-int/lit8 v0, v0, #int 1 // #01
001594: 28dd |003a: goto 0017 // -0023
catches : (none)
positions :
locals :
#2 : (in Lcom/google/android/checkers/Checkers;)
name : 'onCreateOptionsMenu'
type : '(Landroid/view/Menu;)Z'
access : 0x0001 (PUBLIC)
method_idx : 68
code -
registers : 11
ins : 2
outs : 5
insns size : 216 16-bit code units
001598: |[001598] com.google.android.checkers.Checkers.onCreateOptionsMenu:(Landroid/view/Menu;)Z
0015a8: 1248 |0000: const/4 v8, #int 4 // #4
0015aa: 1237 |0001: const/4 v7, #int 3 // #3
0015ac: 1226 |0002: const/4 v6, #int 2 // #2
0015ae: 1205 |0003: const/4 v5, #int 0 // #0
0015b0: 1214 |0004: const/4 v4, #int 1 // #1
0015b2: 6f20 0300 a900 |0005: invoke-super {v9, v10}, Landroid/app/Activity;.onCreateOptionsMenu:(Landroid/view/Menu;)Z // method@0003
0015b8: 1a00 7400 |0008: const-string v0, "New Game" // string@0074
0015bc: 7250 2b00 5a55 |000a: invoke-interface {v10, v5, v5, v5, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
0015c2: 1a00 8200 |000d: const-string v0, "Undo" // string@0082
0015c6: 7250 2b00 5a44 |000f: invoke-interface {v10, v5, v4, v4, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
0015cc: 1a00 8000 |0012: const-string v0, "Switch Side" // string@0080
0015d0: 7250 2b00 5a66 |0014: invoke-interface {v10, v5, v6, v6, v0}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
0015d6: 1a00 7800 |0017: const-string v0, "Options" // string@0078
0015da: 7250 2c00 5a77 |0019: invoke-interface {v10, v5, v7, v7, v0}, Landroid/view/Menu;.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; // method@002c
0015e0: 0c00 |001c: move-result-object v0
0015e2: 1a01 7100 |001d: const-string v1, "Move Coach" // string@0071
0015e6: 7251 3400 4055 |001f: invoke-interface {v0, v4, v5, v5, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0015ec: 0c01 |0022: move-result-object v1
0015ee: 7220 2f00 4100 |0023: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
0015f4: 0c01 |0026: move-result-object v1
0015f6: 5492 0100 |0027: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0015fa: 6e20 5a00 5200 |0029: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.a:(Z)Z // method@005a
001600: 0a02 |002c: move-result v2
001602: 7220 3000 2100 |002d: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
001608: 1a01 7700 |0030: const-string v1, "Optional Jumps" // string@0077
00160c: 7251 3400 4044 |0032: invoke-interface {v0, v4, v4, v4, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
001612: 0c01 |0035: move-result-object v1
001614: 7220 2f00 4100 |0036: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
00161a: 0c01 |0039: move-result-object v1
00161c: 5492 0100 |003a: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001620: 6e20 6000 5200 |003c: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.b:(Z)Z // method@0060
001626: 0a02 |003f: move-result v2
001628: 7220 3000 2100 |0040: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
00162e: 1a01 9800 |0043: const-string v1, "View from White" // string@0098
001632: 7251 3400 4066 |0045: invoke-interface {v0, v4, v6, v6, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
001638: 0c01 |0048: move-result-object v1
00163a: 7220 2f00 4100 |0049: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
001640: 0c01 |004c: move-result-object v1
001642: 5492 0100 |004d: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001646: 6e20 6300 5200 |004f: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.c:(Z)Z // method@0063
00164c: 0a02 |0052: move-result v2
00164e: 7220 3000 2100 |0053: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
001654: 1a01 1800 |0056: const-string v1, "Full Screen" // string@0018
001658: 7251 3400 4077 |0058: invoke-interface {v0, v4, v7, v7, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
00165e: 0c01 |005b: move-result-object v1
001660: 7220 2f00 4100 |005c: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
001666: 0c01 |005f: move-result-object v1
001668: 5492 0100 |0060: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
00166c: 6e20 6500 5200 |0062: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065
001672: 0a02 |0065: move-result v2
001674: 7220 3000 2100 |0066: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
00167a: 1a01 7e00 |0069: const-string v1, "Start Screen" // string@007e
00167e: 7251 3400 4088 |006b: invoke-interface {v0, v4, v8, v8, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
001684: 0c01 |006e: move-result-object v1
001686: 7220 2f00 4100 |006f: invoke-interface {v1, v4}, Landroid/view/MenuItem;.setCheckable:(Z)Landroid/view/MenuItem; // method@002f
00168c: 0c01 |0072: move-result-object v1
00168e: 5492 0100 |0073: iget-object v2, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001692: 6e20 6800 5200 |0075: invoke-virtual {v2, v5}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068
001698: 0a02 |0078: move-result v2
00169a: 7220 3000 2100 |0079: invoke-interface {v1, v2}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
0016a0: 1251 |007c: const/4 v1, #int 5 // #5
0016a2: 1252 |007d: const/4 v2, #int 5 // #5
0016a4: 1a03 0d00 |007e: const-string v3, "Board Color" // string@000d
0016a8: 7253 3400 4021 |0080: invoke-interface {v0, v4, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016ae: 1a00 5800 |0083: const-string v0, "Level" // string@0058
0016b2: 7250 2c00 5a88 |0085: invoke-interface {v10, v5, v8, v8, v0}, Landroid/view/Menu;.addSubMenu:(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; // method@002c
0016b8: 0c00 |0088: move-result-object v0
0016ba: 1a01 1700 |0089: const-string v1, "Free Play" // string@0017
0016be: 7251 3400 6055 |008b: invoke-interface {v0, v6, v5, v5, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016c4: 1a01 7b00 |008e: const-string v1, "Random (0s)" // string@007b
0016c8: 7251 3400 6044 |0090: invoke-interface {v0, v6, v4, v4, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016ce: 1a01 5900 |0093: const-string v1, "Level 1 (fast)" // string@0059
0016d2: 7251 3400 6066 |0095: invoke-interface {v0, v6, v6, v6, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016d8: 1a01 5a00 |0098: const-string v1, "Level 2 (1s)" // string@005a
0016dc: 7251 3400 6077 |009a: invoke-interface {v0, v6, v7, v7, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016e2: 1a01 5b00 |009d: const-string v1, "Level 3 (5s)" // string@005b
0016e6: 7251 3400 6088 |009f: invoke-interface {v0, v6, v8, v8, v1}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016ec: 1251 |00a2: const/4 v1, #int 5 // #5
0016ee: 1252 |00a3: const/4 v2, #int 5 // #5
0016f0: 1a03 5c00 |00a4: const-string v3, "Level 4 (10s)" // string@005c
0016f4: 7253 3400 6021 |00a6: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
0016fa: 1261 |00a9: const/4 v1, #int 6 // #6
0016fc: 1262 |00aa: const/4 v2, #int 6 // #6
0016fe: 1a03 5d00 |00ab: const-string v3, "Level 5 (15s)" // string@005d
001702: 7253 3400 6021 |00ad: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
001708: 1271 |00b0: const/4 v1, #int 7 // #7
00170a: 1272 |00b1: const/4 v2, #int 7 // #7
00170c: 1a03 5e00 |00b2: const-string v3, "Level 6 (30s)" // string@005e
001710: 7253 3400 6021 |00b4: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
001716: 1301 0800 |00b7: const/16 v1, #int 8 // #8
00171a: 1302 0800 |00b9: const/16 v2, #int 8 // #8
00171e: 1a03 5f00 |00bb: const-string v3, "Level 7 (60s)" // string@005f
001722: 7253 3400 6021 |00bd: invoke-interface {v0, v6, v1, v2, v3}, Landroid/view/SubMenu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@0034
001728: 7240 3600 6044 |00c0: invoke-interface {v0, v6, v4, v4}, Landroid/view/SubMenu;.setGroupCheckable:(IZZ)V // method@0036
00172e: 5491 0100 |00c3: iget-object v1, v9, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001732: 6e10 6100 0100 |00c5: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.c:()I // method@0061
001738: 0a01 |00c8: move-result v1
00173a: 7220 3500 1000 |00c9: invoke-interface {v0, v1}, Landroid/view/SubMenu;.findItem:(I)Landroid/view/MenuItem; // method@0035
001740: 0c00 |00cc: move-result-object v0
001742: 7220 3000 4000 |00cd: invoke-interface {v0, v4}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
001748: 1250 |00d0: const/4 v0, #int 5 // #5
00174a: 1251 |00d1: const/4 v1, #int 5 // #5
00174c: 1a02 9b00 |00d2: const-string v2, "Website" // string@009b
001750: 7252 2b00 5a10 |00d4: invoke-interface {v10, v5, v0, v1, v2}, Landroid/view/Menu;.add:(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; // method@002b
001756: 0f04 |00d7: return v4
catches : (none)
positions :
locals :
#3 : (in Lcom/google/android/checkers/Checkers;)
name : 'onKeyDown'
type : '(ILandroid/view/KeyEvent;)Z'
access : 0x0001 (PUBLIC)
method_idx : 69
code -
registers : 8
ins : 3
outs : 3
insns size : 58 16-bit code units
001758: |[001758] com.google.android.checkers.Checkers.onKeyDown:(ILandroid/view/KeyEvent;)Z
001768: 1504 803f |0000: const/high16 v4, #int 1065353216 // #3f80
00176c: 1503 80bf |0002: const/high16 v3, #int -1082130432 // #bf80
001770: 1202 |0004: const/4 v2, #int 0 // #0
001772: 1210 |0005: const/4 v0, #int 1 // #1
001774: 2b06 2600 0000 |0006: packed-switch v6, 0000002c // +00000026
00177a: 6f30 0400 6507 |0009: invoke-super {v5, v6, v7}, Landroid/app/Activity;.onKeyDown:(ILandroid/view/KeyEvent;)Z // method@0004
001780: 0a00 |000c: move-result v0
001782: 0f00 |000d: return v0
001784: 5451 0100 |000e: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001788: 6e10 5d00 0100 |0010: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.b:()V // method@005d
00178e: 28fa |0013: goto 000d // -0006
001790: 5451 0100 |0014: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001794: 6e30 4f00 3102 |0016: invoke-virtual {v1, v3, v2}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
00179a: 28f4 |0019: goto 000d // -000c
00179c: 5451 0100 |001a: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0017a0: 6e30 4f00 4102 |001c: invoke-virtual {v1, v4, v2}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
0017a6: 28ee |001f: goto 000d // -0012
0017a8: 5451 0100 |0020: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0017ac: 6e30 4f00 2103 |0022: invoke-virtual {v1, v2, v3}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
0017b2: 28e8 |0025: goto 000d // -0018
0017b4: 5451 0100 |0026: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0017b8: 6e30 4f00 2104 |0028: invoke-virtual {v1, v2, v4}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
0017be: 28e2 |002b: goto 000d // -001e
0017c0: 0001 0500 1300 0000 1a00 0000 2000 ... |002c: packed-switch-data (14 units)
catches : (none)
positions :
locals :
#4 : (in Lcom/google/android/checkers/Checkers;)
name : 'onOptionsItemSelected'
type : '(Landroid/view/MenuItem;)Z'
access : 0x0001 (PUBLIC)
method_idx : 70
code -
registers : 7
ins : 2
outs : 3
insns size : 158 16-bit code units
0017dc: |[0017dc] com.google.android.checkers.Checkers.onOptionsItemSelected:(Landroid/view/MenuItem;)Z
0017ec: 1254 |0000: const/4 v4, #int 5 // #5
0017ee: 1223 |0001: const/4 v3, #int 2 // #2
0017f0: 1210 |0002: const/4 v0, #int 1 // #1
0017f2: 7210 2e00 0600 |0003: invoke-interface {v6}, Landroid/view/MenuItem;.getItemId:()I // method@002e
0017f8: 0a01 |0006: move-result v1
0017fa: 7210 2d00 0600 |0007: invoke-interface {v6}, Landroid/view/MenuItem;.getGroupId:()I // method@002d
001800: 0a02 |000a: move-result v2
001802: 2b02 8900 0000 |000b: packed-switch v2, 00000094 // +00000089
001808: 6f20 0500 6500 |000e: invoke-super {v5, v6}, Landroid/app/Activity;.onOptionsItemSelected:(Landroid/view/MenuItem;)Z // method@0005
00180e: 0a00 |0011: move-result v0
001810: 0f00 |0012: return v0
001812: 3901 0900 |0013: if-nez v1, 001c // +0009
001816: 5451 0100 |0015: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
00181a: 12d2 |0017: const/4 v2, #int -3 // #fd
00181c: 6e20 5700 2100 |0018: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057
001822: 28f7 |001b: goto 0012 // -0009
001824: 3301 0900 |001c: if-ne v1, v0, 0025 // +0009
001828: 5451 0100 |001e: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
00182c: 12e2 |0020: const/4 v2, #int -2 // #fe
00182e: 6e20 5700 2100 |0021: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057
001834: 28ee |0024: goto 0012 // -0012
001836: 3331 0900 |0025: if-ne v1, v3, 002e // +0009
00183a: 5451 0100 |0027: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
00183e: 12c2 |0029: const/4 v2, #int -4 // #fc
001840: 6e20 5700 2100 |002a: invoke-virtual {v1, v2}, Lcom/google/android/checkers/CheckersView;.a:(I)Z // method@0057
001846: 28e5 |002d: goto 0012 // -001b
001848: 3341 e0ff |002e: if-ne v1, v4, 000e // -0020
00184c: 1a01 e300 |0030: const-string v1, "http://www.aartbik.com/MISC/android.html" // string@00e3
001850: 7110 2900 0100 |0032: invoke-static {v1}, Landroid/net/Uri;.parse:(Ljava/lang/String;)Landroid/net/Uri; // method@0029
001856: 0c01 |0035: move-result-object v1
001858: 2202 0a00 |0036: new-instance v2, Landroid/content/Intent; // type@000a
00185c: 1a03 af00 |0038: const-string v3, "android.intent.action.VIEW" // string@00af
001860: 7030 1200 3201 |003a: invoke-direct {v2, v3, v1}, Landroid/content/Intent;.<init>:(Ljava/lang/String;Landroid/net/Uri;)V // method@0012
001866: 6e20 4c00 2500 |003d: invoke-virtual {v5, v2}, Lcom/google/android/checkers/Checkers;.startActivity:(Landroid/content/Intent;)V // method@004c
00186c: 28d2 |0040: goto 0012 // -002e
00186e: 3901 0c00 |0041: if-nez v1, 004d // +000c
001872: 5451 0100 |0043: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001876: 6e20 5a00 0100 |0045: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.a:(Z)Z // method@005a
00187c: 0a01 |0048: move-result v1
00187e: 7220 3000 1600 |0049: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
001884: 28c6 |004c: goto 0012 // -003a
001886: 3301 0c00 |004d: if-ne v1, v0, 0059 // +000c
00188a: 5451 0100 |004f: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
00188e: 6e20 6000 0100 |0051: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.b:(Z)Z // method@0060
001894: 0a01 |0054: move-result v1
001896: 7220 3000 1600 |0055: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
00189c: 28ba |0058: goto 0012 // -0046
00189e: 3331 0c00 |0059: if-ne v1, v3, 0065 // +000c
0018a2: 5451 0100 |005b: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0018a6: 6e20 6300 0100 |005d: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.c:(Z)Z // method@0063
0018ac: 0a01 |0060: move-result v1
0018ae: 7220 3000 1600 |0061: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
0018b4: 28ae |0064: goto 0012 // -0052
0018b6: 1232 |0065: const/4 v2, #int 3 // #3
0018b8: 3321 0f00 |0066: if-ne v1, v2, 0075 // +000f
0018bc: 5451 0100 |0068: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0018c0: 6e20 6500 0100 |006a: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.d:(Z)Z // method@0065
0018c6: 0a01 |006d: move-result v1
0018c8: 7220 3000 1600 |006e: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
0018ce: 7020 3f00 1500 |0071: invoke-direct {v5, v1}, Lcom/google/android/checkers/Checkers;.a:(Z)V // method@003f
0018d4: 289e |0074: goto 0012 // -0062
0018d6: 1242 |0075: const/4 v2, #int 4 // #4
0018d8: 3321 0c00 |0076: if-ne v1, v2, 0082 // +000c
0018dc: 5451 0100 |0078: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0018e0: 6e20 6800 0100 |007a: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068
0018e6: 0a01 |007d: move-result v1
0018e8: 7220 3000 1600 |007e: invoke-interface {v6, v1}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
0018ee: 2891 |0081: goto 0012 // -006f
0018f0: 3341 8cff |0082: if-ne v1, v4, 000e // -0074
0018f4: 5451 0100 |0084: iget-object v1, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0018f8: 6e10 4e00 0100 |0086: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.a:()V // method@004e
0018fe: 2889 |0089: goto 0012 // -0077
001900: 5452 0100 |008a: iget-object v2, v5, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001904: 6e20 7000 1200 |008c: invoke-virtual {v2, v1}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070
00190a: 7220 3000 0600 |008f: invoke-interface {v6, v0}, Landroid/view/MenuItem;.setChecked:(Z)Landroid/view/MenuItem; // method@0030
001910: 2880 |0092: goto 0012 // -0080
001912: 0000 |0093: nop // spacer
001914: 0001 0300 0000 0000 0800 0000 3600 ... |0094: packed-switch-data (10 units)
catches : (none)
positions :
locals :
#5 : (in Lcom/google/android/checkers/Checkers;)
name : 'onPause'
type : '()V'
access : 0x0001 (PUBLIC)
method_idx : 71
code -
registers : 3
ins : 1
outs : 2
insns size : 21 16-bit code units
001928: |[001928] com.google.android.checkers.Checkers.onPause:()V
001938: 6f10 0600 0200 |0000: invoke-super {v2}, Landroid/app/Activity;.onPause:()V // method@0006
00193e: 1200 |0003: const/4 v0, #int 0 // #0
001940: 6e20 4000 0200 |0004: invoke-virtual {v2, v0}, Lcom/google/android/checkers/Checkers;.getPreferences:(I)Landroid/content/SharedPreferences; // method@0040
001946: 0c00 |0007: move-result-object v0
001948: 7210 1700 0000 |0008: invoke-interface {v0}, Landroid/content/SharedPreferences;.edit:()Landroid/content/SharedPreferences$Editor; // method@0017
00194e: 0c00 |000b: move-result-object v0
001950: 5421 0100 |000c: iget-object v1, v2, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
001954: 6e20 5100 0100 |000e: invoke-virtual {v1, v0}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;)V // method@0051
00195a: 7210 1400 0000 |0011: invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;.commit:()Z // method@0014
001960: 0e00 |0014: return-void
catches : (none)
positions :
locals :
#6 : (in Lcom/google/android/checkers/Checkers;)
name : 'onStop'
type : '()V'
access : 0x0001 (PUBLIC)
method_idx : 72
code -
registers : 2
ins : 1
outs : 1
insns size : 8 16-bit code units
001964: |[001964] com.google.android.checkers.Checkers.onStop:()V
001974: 6f10 0700 0100 |0000: invoke-super {v1}, Landroid/app/Activity;.onStop:()V // method@0007
00197a: 1200 |0003: const/4 v0, #int 0 // #0
00197c: 7110 ac00 0000 |0004: invoke-static {v0}, Ljava/lang/System;.exit:(I)V // method@00ac
001982: 0e00 |0007: return-void
catches : (none)
positions :
locals :
#7 : (in Lcom/google/android/checkers/Checkers;)
name : 'onTrackballEvent'
type : '(Landroid/view/MotionEvent;)Z'
access : 0x0001 (PUBLIC)
method_idx : 73
code -
registers : 6
ins : 2
outs : 3
insns size : 44 16-bit code units
001984: |[001984] com.google.android.checkers.Checkers.onTrackballEvent:(Landroid/view/MotionEvent;)Z
001994: 1210 |0000: const/4 v0, #int 1 // #1
001996: 6e10 3100 0500 |0001: invoke-virtual {v5}, Landroid/view/MotionEvent;.getAction:()I // method@0031
00199c: 0a01 |0004: move-result v1
00199e: 2b01 1d00 0000 |0005: packed-switch v1, 00000022 // +0000001d
0019a4: 6f20 0800 5400 |0008: invoke-super {v4, v5}, Landroid/app/Activity;.onTrackballEvent:(Landroid/view/MotionEvent;)Z // method@0008
0019aa: 0a00 |000b: move-result v0
0019ac: 0f00 |000c: return v0
0019ae: 5441 0100 |000d: iget-object v1, v4, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0019b2: 6e10 5d00 0100 |000f: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.b:()V // method@005d
0019b8: 28fa |0012: goto 000c // -0006
0019ba: 5441 0100 |0013: iget-object v1, v4, Lcom/google/android/checkers/Checkers;.a:Lcom/google/android/checkers/CheckersView; // field@0001
0019be: 6e10 3200 0500 |0015: invoke-virtual {v5}, Landroid/view/MotionEvent;.getX:()F // method@0032
0019c4: 0a02 |0018: move-result v2
0019c6: 6e10 3300 0500 |0019: invoke-virtual {v5}, Landroid/view/MotionEvent;.getY:()F // method@0033
0019cc: 0a03 |001c: move-result v3
0019ce: 6e30 4f00 2103 |001d: invoke-virtual {v1, v2, v3}, Lcom/google/android/checkers/CheckersView;.a:(FF)V // method@004f
0019d4: 28ec |0020: goto 000c // -0014
0019d6: 0000 |0021: nop // spacer
0019d8: 0001 0300 0000 0000 0800 0000 0300 ... |0022: packed-switch-data (10 units)
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #1 header:
class_idx : 31
access_flags : 1 (0x0001)
superclass_idx : 27
interfaces_off : 0 (0x000000)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 34602 (0x00872a)
static_fields_size : 0
instance_fields_size: 43
direct_methods_size : 15
virtual_methods_size: 16
Class #1 -
Class descriptor : 'Lcom/google/android/checkers/CheckersView;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Landroid/view/View;'
Interfaces -
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/CheckersView;)
name : 'A'
type : 'Z'
access : 0x0002 (PRIVATE)
#1 : (in Lcom/google/android/checkers/CheckersView;)
name : 'B'
type : 'Z'
access : 0x0002 (PRIVATE)
#2 : (in Lcom/google/android/checkers/CheckersView;)
name : 'C'
type : 'Z'
access : 0x0002 (PRIVATE)
#3 : (in Lcom/google/android/checkers/CheckersView;)
name : 'D'
type : 'Z'
access : 0x0002 (PRIVATE)
#4 : (in Lcom/google/android/checkers/CheckersView;)
name : 'E'
type : 'Z'
access : 0x0002 (PRIVATE)
#5 : (in Lcom/google/android/checkers/CheckersView;)
name : 'F'
type : 'I'
access : 0x0002 (PRIVATE)
#6 : (in Lcom/google/android/checkers/CheckersView;)
name : 'G'
type : '[I'
access : 0x0002 (PRIVATE)
#7 : (in Lcom/google/android/checkers/CheckersView;)
name : 'H'
type : '[I'
access : 0x0002 (PRIVATE)
#8 : (in Lcom/google/android/checkers/CheckersView;)
name : 'I'
type : '[I'
access : 0x0002 (PRIVATE)
#9 : (in Lcom/google/android/checkers/CheckersView;)
name : 'J'
type : '[I'
access : 0x0002 (PRIVATE)
#10 : (in Lcom/google/android/checkers/CheckersView;)
name : 'K'
type : 'I'
access : 0x0002 (PRIVATE)
#11 : (in Lcom/google/android/checkers/CheckersView;)
name : 'L'
type : 'I'
access : 0x0002 (PRIVATE)
#12 : (in Lcom/google/android/checkers/CheckersView;)
name : 'M'
type : 'I'
access : 0x0002 (PRIVATE)
#13 : (in Lcom/google/android/checkers/CheckersView;)
name : 'N'
type : 'Ljava/lang/String;'
access : 0x0002 (PRIVATE)
#14 : (in Lcom/google/android/checkers/CheckersView;)
name : 'O'
type : 'F'
access : 0x0002 (PRIVATE)
#15 : (in Lcom/google/android/checkers/CheckersView;)
name : 'P'
type : 'F'
access : 0x0002 (PRIVATE)
#16 : (in Lcom/google/android/checkers/CheckersView;)
name : 'Q'
type : 'I'
access : 0x0002 (PRIVATE)
#17 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : 'Landroid/content/Context;'
access : 0x0002 (PRIVATE)
#18 : (in Lcom/google/android/checkers/CheckersView;)
name : 'b'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#19 : (in Lcom/google/android/checkers/CheckersView;)
name : 'c'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#20 : (in Lcom/google/android/checkers/CheckersView;)
name : 'd'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#21 : (in Lcom/google/android/checkers/CheckersView;)
name : 'e'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#22 : (in Lcom/google/android/checkers/CheckersView;)
name : 'f'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#23 : (in Lcom/google/android/checkers/CheckersView;)
name : 'g'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#24 : (in Lcom/google/android/checkers/CheckersView;)
name : 'h'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#25 : (in Lcom/google/android/checkers/CheckersView;)
name : 'i'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#26 : (in Lcom/google/android/checkers/CheckersView;)
name : 'j'
type : 'Landroid/graphics/Paint;'
access : 0x0002 (PRIVATE)
#27 : (in Lcom/google/android/checkers/CheckersView;)
name : 'k'
type : 'I'
access : 0x0002 (PRIVATE)
#28 : (in Lcom/google/android/checkers/CheckersView;)
name : 'l'
type : 'F'
access : 0x0002 (PRIVATE)
#29 : (in Lcom/google/android/checkers/CheckersView;)
name : 'm'
type : 'I'
access : 0x0002 (PRIVATE)
#30 : (in Lcom/google/android/checkers/CheckersView;)
name : 'n'
type : 'I'
access : 0x0002 (PRIVATE)
#31 : (in Lcom/google/android/checkers/CheckersView;)
name : 'o'
type : 'Landroid/graphics/drawable/Drawable;'
access : 0x0002 (PRIVATE)
#32 : (in Lcom/google/android/checkers/CheckersView;)
name : 'p'
type : 'Lcom/google/android/checkers/a;'
access : 0x0002 (PRIVATE)
#33 : (in Lcom/google/android/checkers/CheckersView;)
name : 'q'
type : 'I'
access : 0x0002 (PRIVATE)
#34 : (in Lcom/google/android/checkers/CheckersView;)
name : 'r'
type : 'I'
access : 0x0002 (PRIVATE)
#35 : (in Lcom/google/android/checkers/CheckersView;)
name : 's'
type : 'I'
access : 0x0002 (PRIVATE)
#36 : (in Lcom/google/android/checkers/CheckersView;)
name : 't'
type : 'I'
access : 0x0002 (PRIVATE)
#37 : (in Lcom/google/android/checkers/CheckersView;)
name : 'u'
type : 'I'
access : 0x0002 (PRIVATE)
#38 : (in Lcom/google/android/checkers/CheckersView;)
name : 'v'
type : 'I'
access : 0x0002 (PRIVATE)
#39 : (in Lcom/google/android/checkers/CheckersView;)
name : 'w'
type : 'I'
access : 0x0002 (PRIVATE)
#40 : (in Lcom/google/android/checkers/CheckersView;)
name : 'x'
type : 'I'
access : 0x0002 (PRIVATE)
#41 : (in Lcom/google/android/checkers/CheckersView;)
name : 'y'
type : 'Z'
access : 0x0002 (PRIVATE)
#42 : (in Lcom/google/android/checkers/CheckersView;)
name : 'z'
type : 'I'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Lcom/google/android/checkers/CheckersView;)
name : '<init>'
type : '(Landroid/content/Context;Landroid/content/SharedPreferences;)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
method_idx : 77
code -
registers : 12
ins : 3
outs : 5
insns size : 662 16-bit code units
0019ec: |[0019ec] com.google.android.checkers.CheckersView.<init>:(Landroid/content/Context;Landroid/content/SharedPreferences;)V
0019fc: 1308 0800 |0000: const/16 v8, #int 8 // #8
001a00: 1217 |0002: const/4 v7, #int 1 // #1
001a02: 1306 ff00 |0003: const/16 v6, #int 255 // #ff
001a06: 1205 |0005: const/4 v5, #int 0 // #0
001a08: 1204 |0006: const/4 v4, #int 0 // #0
001a0a: 7020 3700 a900 |0007: invoke-direct {v9, v10}, Landroid/view/View;.<init>:(Landroid/content/Context;)V // method@0037
001a10: 5b9a 1300 |000a: iput-object v10, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
001a14: 2200 1100 |000c: new-instance v0, Landroid/graphics/Paint; // type@0011
001a18: 7010 2100 0000 |000e: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001a1e: 5b90 1400 |0011: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
001a22: 5490 1400 |0013: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
001a26: 6e20 2300 7000 |0015: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001a2c: 5490 1400 |0018: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
001a30: 6e54 2200 6044 |001a: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001a36: 2200 1100 |001d: new-instance v0, Landroid/graphics/Paint; // type@0011
001a3a: 7010 2100 0000 |001f: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001a40: 5b90 1500 |0022: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
001a44: 5490 1500 |0024: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
001a48: 6e20 2300 7000 |0026: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001a4e: 5490 1500 |0029: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
001a52: 6e56 2200 6066 |002b: invoke-virtual {v0, v6, v6, v6, v6}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001a58: 2200 1100 |002e: new-instance v0, Landroid/graphics/Paint; // type@0011
001a5c: 7010 2100 0000 |0030: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001a62: 5b90 1600 |0033: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
001a66: 5490 1600 |0035: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
001a6a: 6e20 2300 7000 |0037: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001a70: 5490 1600 |003a: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
001a74: 1301 fb00 |003c: const/16 v1, #int 251 // #fb
001a78: 1302 d700 |003e: const/16 v2, #int 215 // #d7
001a7c: 1303 ae00 |0040: const/16 v3, #int 174 // #ae
001a80: 6e53 2200 6021 |0042: invoke-virtual {v0, v6, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001a86: 2200 1100 |0045: new-instance v0, Landroid/graphics/Paint; // type@0011
001a8a: 7010 2100 0000 |0047: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001a90: 5b90 1700 |004a: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
001a94: 5490 1700 |004c: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
001a98: 6e20 2300 7000 |004e: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001a9e: 5490 1700 |0051: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
001aa2: 6e54 2200 6044 |0053: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001aa8: 2200 1100 |0056: new-instance v0, Landroid/graphics/Paint; // type@0011
001aac: 7010 2100 0000 |0058: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001ab2: 5b90 1800 |005b: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
001ab6: 5490 1800 |005d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
001aba: 6e20 2300 7000 |005f: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001ac0: 5490 1800 |0062: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
001ac4: 6e54 2200 6046 |0064: invoke-virtual {v0, v6, v6, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001aca: 2200 1100 |0067: new-instance v0, Landroid/graphics/Paint; // type@0011
001ace: 7010 2100 0000 |0069: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001ad4: 5b90 1900 |006c: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
001ad8: 5490 1900 |006e: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
001adc: 6e20 2300 7000 |0070: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001ae2: 5490 1900 |0073: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
001ae6: 1301 a500 |0075: const/16 v1, #int 165 // #a5
001aea: 6e54 2200 6016 |0077: invoke-virtual {v0, v6, v6, v1, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001af0: 2200 1100 |007a: new-instance v0, Landroid/graphics/Paint; // type@0011
001af4: 7010 2100 0000 |007c: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001afa: 5b90 1a00 |007f: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
001afe: 5490 1a00 |0081: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
001b02: 6e20 2300 7000 |0083: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001b08: 5490 1a00 |0086: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
001b0c: 1301 c800 |0088: const/16 v1, #int 200 // #c8
001b10: 6e54 2200 6016 |008a: invoke-virtual {v0, v6, v6, v1, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001b16: 5490 1a00 |008d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
001b1a: 1501 0040 |008f: const/high16 v1, #int 1073741824 // #4000
001b1e: 6e20 2400 1000 |0091: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0024
001b24: 2200 1100 |0094: new-instance v0, Landroid/graphics/Paint; // type@0011
001b28: 7010 2100 0000 |0096: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001b2e: 5b90 1b00 |0099: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
001b32: 5490 1b00 |009b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
001b36: 6e20 2300 7000 |009d: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001b3c: 5490 1b00 |00a0: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
001b40: 6e54 2200 6064 |00a2: invoke-virtual {v0, v6, v4, v6, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001b46: 2200 1100 |00a5: new-instance v0, Landroid/graphics/Paint; // type@0011
001b4a: 7010 2100 0000 |00a7: invoke-direct {v0}, Landroid/graphics/Paint;.<init>:()V // method@0021
001b50: 5b90 1c00 |00aa: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
001b54: 5490 1c00 |00ac: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
001b58: 6e20 2300 7000 |00ae: invoke-virtual {v0, v7}, Landroid/graphics/Paint;.setAntiAlias:(Z)V // method@0023
001b5e: 5490 1c00 |00b1: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
001b62: 6e54 2200 6044 |00b3: invoke-virtual {v0, v6, v4, v4, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
001b68: 5490 1c00 |00b6: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
001b6c: 6201 0000 |00b8: sget-object v1, Landroid/graphics/Paint$Style;.STROKE:Landroid/graphics/Paint$Style; // field@0000
001b70: 6e20 2500 1000 |00ba: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStyle:(Landroid/graphics/Paint$Style;)V // method@0025
001b76: 5490 1c00 |00bd: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
001b7a: 1501 a040 |00bf: const/high16 v1, #int 1084227584 // #40a0
001b7e: 6e20 2400 1000 |00c1: invoke-virtual {v0, v1}, Landroid/graphics/Paint;.setStrokeWidth:(F)V // method@0024
001b84: 1300 0c00 |00c4: const/16 v0, #int 12 // #c
001b88: 5990 1d00 |00c6: iput v0, v9, Lcom/google/android/checkers/CheckersView;.k:I // field@001d
001b8c: 1200 |00c8: const/4 v0, #int 0 // #0
001b8e: 5990 1e00 |00c9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
001b92: 5994 1f00 |00cb: iput v4, v9, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
001b96: 5994 2000 |00cd: iput v4, v9, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
001b9a: 5490 1300 |00cf: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
001b9e: 6e10 1100 0000 |00d1: invoke-virtual {v0}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0011
001ba4: 0c00 |00d4: move-result-object v0
001ba6: 1501 027f |00d5: const/high16 v1, #int 2130837504 // #7f02
001baa: 6e20 1a00 1000 |00d7: invoke-virtual {v0, v1}, Landroid/content/res/Resources;.getDrawable:(I)Landroid/graphics/drawable/Drawable; // method@001a
001bb0: 0c00 |00da: move-result-object v0
001bb2: 5b90 2100 |00db: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021
001bb6: 2380 3700 |00dd: new-array v0, v8, [I // type@0037
001bba: 5b90 0800 |00df: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
001bbe: 2380 3700 |00e1: new-array v0, v8, [I // type@0037
001bc2: 5b90 0900 |00e3: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
001bc6: 2380 3700 |00e5: new-array v0, v8, [I // type@0037
001bca: 5b90 0a00 |00e7: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
001bce: 2380 3700 |00e9: new-array v0, v8, [I // type@0037
001bd2: 5b90 0b00 |00eb: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
001bd6: 1300 0002 |00ed: const/16 v0, #int 512 // #200
001bda: 2300 3600 |00ef: new-array v0, v0, [B // type@0036
001bde: 6900 5900 |00f1: sput-object v0, Lcom/google/android/checkers/g;.a:[B // field@0059
001be2: 1300 8003 |00f3: const/16 v0, #int 896 // #380
001be6: 2300 3600 |00f5: new-array v0, v0, [B // type@0036
001bea: 6900 5a00 |00f7: sput-object v0, Lcom/google/android/checkers/g;.b:[B // field@005a
001bee: 1300 8003 |00f9: const/16 v0, #int 896 // #380
001bf2: 2300 3600 |00fb: new-array v0, v0, [B // type@0036
001bf6: 6900 5b00 |00fd: sput-object v0, Lcom/google/android/checkers/g;.c:[B // field@005b
001bfa: 1300 1003 |00ff: const/16 v0, #int 784 // #310
001bfe: 2300 3600 |0101: new-array v0, v0, [B // type@0036
001c02: 6900 5c00 |0103: sput-object v0, Lcom/google/android/checkers/g;.d:[B // field@005c
001c06: 1300 001f |0105: const/16 v0, #int 7936 // #1f00
001c0a: 2300 3600 |0107: new-array v0, v0, [B // type@0036
001c0e: 6900 5d00 |0109: sput-object v0, Lcom/google/android/checkers/g;.e:[B // field@005d
001c12: 1300 001f |010b: const/16 v0, #int 7936 // #1f00
001c16: 2300 3600 |010d: new-array v0, v0, [B // type@0036
001c1a: 6900 5e00 |010f: sput-object v0, Lcom/google/android/checkers/g;.f:[B // field@005e
001c1e: 1300 4036 |0111: const/16 v0, #int 13888 // #3640
001c22: 2300 3600 |0113: new-array v0, v0, [B // type@0036
001c26: 6900 5f00 |0115: sput-object v0, Lcom/google/android/checkers/g;.g:[B // field@005f
001c2a: 1300 4036 |0117: const/16 v0, #int 13888 // #3640
001c2e: 2300 3600 |0119: new-array v0, v0, [B // type@0036
001c32: 6900 6000 |011b: sput-object v0, Lcom/google/android/checkers/g;.h:[B // field@0060
001c36: 1300 0070 |011d: const/16 v0, #int 28672 // #7000
001c3a: 2300 3600 |011f: new-array v0, v0, [B // type@0036
001c3e: 6900 6100 |0121: sput-object v0, Lcom/google/android/checkers/g;.i:[B // field@0061
001c42: 1300 0070 |0123: const/16 v0, #int 28672 // #7000
001c46: 2300 3600 |0125: new-array v0, v0, [B // type@0036
001c4a: 6900 6200 |0127: sput-object v0, Lcom/google/android/checkers/g;.j:[B // field@0062
001c4e: 1300 0062 |0129: const/16 v0, #int 25088 // #6200
001c52: 2300 3600 |012b: new-array v0, v0, [B // type@0036
001c56: 6900 6300 |012d: sput-object v0, Lcom/google/android/checkers/g;.k:[B // field@0063
001c5a: 1300 0062 |012f: const/16 v0, #int 25088 // #6200
001c5e: 2300 3600 |0131: new-array v0, v0, [B // type@0036
001c62: 6900 6400 |0133: sput-object v0, Lcom/google/android/checkers/g;.l:[B // field@0064
001c66: 1300 402f |0135: const/16 v0, #int 12096 // #2f40
001c6a: 2300 3600 |0137: new-array v0, v0, [B // type@0036
001c6e: 6900 6500 |0139: sput-object v0, Lcom/google/android/checkers/g;.m:[B // field@0065
001c72: 1300 402f |013b: const/16 v0, #int 12096 // #2f40
001c76: 2300 3600 |013d: new-array v0, v0, [B // type@0036
001c7a: 6900 6600 |013f: sput-object v0, Lcom/google/android/checkers/g;.n:[B // field@0066
001c7e: 1300 5829 |0141: const/16 v0, #int 10584 // #2958
001c82: 2300 3600 |0143: new-array v0, v0, [B // type@0036
001c86: 6900 6700 |0145: sput-object v0, Lcom/google/android/checkers/g;.o:[B // field@0067
001c8a: 1300 5829 |0147: const/16 v0, #int 10584 // #2958
001c8e: 2300 3600 |0149: new-array v0, v0, [B // type@0036
001c92: 6900 6800 |014b: sput-object v0, Lcom/google/android/checkers/g;.p:[B // field@0068
001c96: 1400 00c1 0300 |014d: const v0, #float 3.44742e-40 // #0003c100
001c9c: 2300 3600 |0150: new-array v0, v0, [B // type@0036
001ca0: 6900 6900 |0152: sput-object v0, Lcom/google/android/checkers/g;.q:[B // field@0069
001ca4: 6e10 1100 0a00 |0154: invoke-virtual {v10}, Landroid/content/Context;.getResources:()Landroid/content/res/Resources; // method@0011
001caa: 0c00 |0157: move-result-object v0
001cac: 1501 037f |0158: const/high16 v1, #int 2130903040 // #7f03
001cb0: 6e20 1b00 1000 |015a: invoke-virtual {v0, v1}, Landroid/content/res/Resources;.openRawResource:(I)Ljava/io/InputStream; // method@001b
001cb6: 0c00 |015d: move-result-object v0
001cb8: 2201 2700 |015e: new-instance v1, Ljava/io/BufferedInputStream; // type@0027
001cbc: 1302 0020 |0160: const/16 v2, #int 8192 // #2000
001cc0: 7030 9a00 0102 |0162: invoke-direct {v1, v0, v2}, Ljava/io/BufferedInputStream;.<init>:(Ljava/io/InputStream;I)V // method@009a
001cc6: 6901 6b00 |0165: sput-object v1, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
001cca: 6200 5900 |0167: sget-object v0, Lcom/google/android/checkers/g;.a:[B // field@0059
001cce: 7110 9900 0000 |0169: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001cd4: 6200 5a00 |016c: sget-object v0, Lcom/google/android/checkers/g;.b:[B // field@005a
001cd8: 7110 9900 0000 |016e: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001cde: 6200 5b00 |0171: sget-object v0, Lcom/google/android/checkers/g;.c:[B // field@005b
001ce2: 7110 9900 0000 |0173: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001ce8: 6200 5c00 |0176: sget-object v0, Lcom/google/android/checkers/g;.d:[B // field@005c
001cec: 7110 9900 0000 |0178: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001cf2: 6200 5d00 |017b: sget-object v0, Lcom/google/android/checkers/g;.e:[B // field@005d
001cf6: 7110 9900 0000 |017d: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001cfc: 6200 5e00 |0180: sget-object v0, Lcom/google/android/checkers/g;.f:[B // field@005e
001d00: 7110 9900 0000 |0182: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d06: 6200 5f00 |0185: sget-object v0, Lcom/google/android/checkers/g;.g:[B // field@005f
001d0a: 7110 9900 0000 |0187: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d10: 6200 6000 |018a: sget-object v0, Lcom/google/android/checkers/g;.h:[B // field@0060
001d14: 7110 9900 0000 |018c: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d1a: 6200 6100 |018f: sget-object v0, Lcom/google/android/checkers/g;.i:[B // field@0061
001d1e: 7110 9900 0000 |0191: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d24: 6200 6200 |0194: sget-object v0, Lcom/google/android/checkers/g;.j:[B // field@0062
001d28: 7110 9900 0000 |0196: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d2e: 6200 6300 |0199: sget-object v0, Lcom/google/android/checkers/g;.k:[B // field@0063
001d32: 7110 9900 0000 |019b: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d38: 6200 6400 |019e: sget-object v0, Lcom/google/android/checkers/g;.l:[B // field@0064
001d3c: 7110 9900 0000 |01a0: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d42: 6200 6500 |01a3: sget-object v0, Lcom/google/android/checkers/g;.m:[B // field@0065
001d46: 7110 9900 0000 |01a5: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d4c: 6200 6600 |01a8: sget-object v0, Lcom/google/android/checkers/g;.n:[B // field@0066
001d50: 7110 9900 0000 |01aa: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d56: 6200 6700 |01ad: sget-object v0, Lcom/google/android/checkers/g;.o:[B // field@0067
001d5a: 7110 9900 0000 |01af: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d60: 6200 6800 |01b2: sget-object v0, Lcom/google/android/checkers/g;.p:[B // field@0068
001d64: 7110 9900 0000 |01b4: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d6a: 6200 6900 |01b7: sget-object v0, Lcom/google/android/checkers/g;.q:[B // field@0069
001d6e: 7110 9900 0000 |01b9: invoke-static {v0}, Lcom/google/android/checkers/g;.a:([B)Z // method@0099
001d74: 6200 6b00 |01bc: sget-object v0, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
001d78: 6e10 9b00 0000 |01be: invoke-virtual {v0}, Ljava/io/BufferedInputStream;.close:()V // method@009b
001d7e: 1200 |01c1: const/4 v0, #int 0 // #0
001d80: 6900 6b00 |01c2: sput-object v0, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
001d84: 1210 |01c4: const/4 v0, #int 1 // #1
001d86: 6a00 6a00 |01c5: sput-boolean v0, Lcom/google/android/checkers/g;.r:Z // field@006a
001d8a: 2200 2000 |01c7: new-instance v0, Lcom/google/android/checkers/a; // type@0020
001d8e: 7020 7200 9000 |01c9: invoke-direct {v0, v9}, Lcom/google/android/checkers/a;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0072
001d94: 5b90 2200 |01cc: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
001d98: 5b95 0f00 |01ce: iput-object v5, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
001d9c: 7020 5800 b900 |01d0: invoke-direct {v9, v11}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;)Z // method@0058
001da2: 0a00 |01d3: move-result v0
001da4: 3800 8500 |01d4: if-eqz v0, 0259 // +0085
001da8: 7010 6700 0900 |01d6: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067
001dae: 0a00 |01d9: move-result v0
001db0: 3900 0600 |01da: if-nez v0, 01e0 // +0006
001db4: 1a00 1701 |01dc: const-string v0, "restored game" // string@0117
001db8: 5b90 0f00 |01de: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
001dbc: 7010 6400 0900 |01e0: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.d:()V // method@0064
001dc2: 1500 20c1 |01e3: const/high16 v0, #int -1054867456 // #c120
001dc6: 5990 1000 |01e5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
001dca: 1500 20c1 |01e7: const/high16 v0, #int -1054867456 // #c120
001dce: 5990 1100 |01e9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
001dd2: 5994 1200 |01eb: iput v4, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
001dd6: 5590 0600 |01ed: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
001dda: 3800 2e00 |01ef: if-eqz v0, 021d // +002e
001dde: 7010 6700 0900 |01f1: invoke-direct {v9}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067
001de4: 0a00 |01f4: move-result v0
001de6: 3800 2800 |01f5: if-eqz v0, 021d // +0028
001dea: 2200 0500 |01f7: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0005
001dee: 5491 1300 |01f9: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
001df2: 7020 0900 1000 |01fb: invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;.<init>:(Landroid/content/Context;)V // method@0009
001df8: 1a01 1200 |01fe: const-string v1, "Checkers for Android was written by Aart J.C. Bik.\n\nUse the touch screen or trackball to make a move. Press the MENU button for more options, such as making captures optional instead of mandatory.\n\nThe application complies with the official American checkers rules, where black moves first, captures are mandatory, men only move and jump forward, and kings move and jump forward and backward (but not over a distance). Please note that many variants of checkers exist, and this game may not use the rules you are most familiar with.\n" // string@0012
001dfc: 6e20 0c00 1000 |0200: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c
001e02: 0c00 |0203: move-result-object v0
001e04: 1a01 2b00 |0204: const-string v1, "KEEP SHOWING" // string@002b
001e08: 2202 2300 |0206: new-instance v2, Lcom/google/android/checkers/d; // type@0023
001e0c: 7020 9300 9200 |0208: invoke-direct {v2, v9}, Lcom/google/android/checkers/d;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0093
001e12: 6e30 0e00 1002 |020b: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e
001e18: 0c00 |020e: move-result-object v0
001e1a: 1a01 7c00 |020f: const-string v1, "STOP SHOWING" // string@007c
001e1e: 2202 2400 |0211: new-instance v2, Lcom/google/android/checkers/e; // type@0024
001e22: 7020 9500 9200 |0213: invoke-direct {v2, v9}, Lcom/google/android/checkers/e;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0095
001e28: 6e30 0d00 1002 |0216: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d
001e2e: 0c00 |0219: move-result-object v0
001e30: 6e10 1000 0000 |021a: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010
001e36: 0e00 |021d: return-void
001e38: 0d00 |021e: move-exception v0
001e3a: 1a01 0800 |021f: const-string v1, "BIK" // string@0008
001e3e: 2202 3000 |0221: new-instance v2, Ljava/lang/StringBuilder; // type@0030
001e42: 1a03 b700 |0223: const-string v3, "cannot read tb: " // string@00b7
001e46: 7020 a600 3200 |0225: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
001e4c: 6e20 a800 0200 |0228: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00a8
001e52: 0c00 |022b: move-result-object v0
001e54: 6e10 aa00 0000 |022c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
001e5a: 0c00 |022f: move-result-object v0
001e5c: 7120 2a00 0100 |0230: invoke-static {v1, v0}, Landroid/util/Log;.d:(Ljava/lang/String;Ljava/lang/String;)I // method@002a
001e62: 6905 5900 |0233: sput-object v5, Lcom/google/android/checkers/g;.a:[B // field@0059
001e66: 6905 5a00 |0235: sput-object v5, Lcom/google/android/checkers/g;.b:[B // field@005a
001e6a: 6905 5b00 |0237: sput-object v5, Lcom/google/android/checkers/g;.c:[B // field@005b
001e6e: 6905 5c00 |0239: sput-object v5, Lcom/google/android/checkers/g;.d:[B // field@005c
001e72: 6905 5d00 |023b: sput-object v5, Lcom/google/android/checkers/g;.e:[B // field@005d
001e76: 6905 5e00 |023d: sput-object v5, Lcom/google/android/checkers/g;.f:[B // field@005e
001e7a: 6905 5f00 |023f: sput-object v5, Lcom/google/android/checkers/g;.g:[B // field@005f
001e7e: 6905 6000 |0241: sput-object v5, Lcom/google/android/checkers/g;.h:[B // field@0060
001e82: 6905 6100 |0243: sput-object v5, Lcom/google/android/checkers/g;.i:[B // field@0061
001e86: 6905 6200 |0245: sput-object v5, Lcom/google/android/checkers/g;.j:[B // field@0062
001e8a: 6905 6300 |0247: sput-object v5, Lcom/google/android/checkers/g;.k:[B // field@0063
001e8e: 6905 6400 |0249: sput-object v5, Lcom/google/android/checkers/g;.l:[B // field@0064
001e92: 6905 6500 |024b: sput-object v5, Lcom/google/android/checkers/g;.m:[B // field@0065
001e96: 6905 6600 |024d: sput-object v5, Lcom/google/android/checkers/g;.n:[B // field@0066
001e9a: 6905 6700 |024f: sput-object v5, Lcom/google/android/checkers/g;.o:[B // field@0067
001e9e: 6905 6800 |0251: sput-object v5, Lcom/google/android/checkers/g;.p:[B // field@0068
001ea2: 6905 6900 |0253: sput-object v5, Lcom/google/android/checkers/g;.q:[B // field@0069
001ea6: 6a04 6a00 |0255: sput-boolean v4, Lcom/google/android/checkers/g;.r:Z // field@006a
001eaa: 2900 70ff |0257: goto/16 01c7 // -0090
001eae: 5997 2300 |0259: iput v7, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
001eb2: 5490 2200 |025b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
001eb6: 5200 3d00 |025d: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d
001eba: 5990 2400 |025f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
001ebe: 5490 2200 |0261: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
001ec2: 5200 3f00 |0263: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
001ec6: 5990 2500 |0265: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
001eca: 5490 2200 |0267: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
001ece: 5200 3e00 |0269: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
001ed2: 5990 2600 |026b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
001ed6: 5490 2200 |026d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
001eda: 5200 4000 |026f: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
001ede: 5990 2700 |0271: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
001ee2: 5994 2800 |0273: iput v4, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
001ee6: 5994 2900 |0275: iput v4, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
001eea: 5994 2a00 |0277: iput v4, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
001eee: 5c94 2b00 |0279: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
001ef2: 1230 |027b: const/4 v0, #int 3 // #3
001ef4: 5990 2c00 |027c: iput v0, v9, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
001ef8: 5c97 0200 |027e: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
001efc: 5c94 0300 |0280: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
001f00: 5c94 0400 |0282: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
001f04: 5c94 0500 |0284: iput-boolean v4, v9, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
001f08: 5c97 0600 |0286: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
001f0c: 5994 0700 |0288: iput v4, v9, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
001f10: 5994 0c00 |028a: iput v4, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
001f14: 5994 0d00 |028c: iput v4, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
001f18: 5490 2200 |028e: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
001f1c: 5200 3c00 |0290: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
001f20: 5990 0e00 |0292: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
001f24: 2900 4cff |0294: goto/16 01e0 // -00b4
catches : 1
0x00ef - 0x01c7
Ljava/lang/Exception; -> 0x021e
positions :
locals :
#1 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V'
access : 0x000a (PRIVATE STATIC)
method_idx : 82
code -
registers : 6
ins : 3
outs : 3
insns size : 31 16-bit code units
001f38: |[001f38] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V
001f48: 1200 |0000: const/4 v0, #int 0 // #0
001f4a: 1301 0800 |0001: const/16 v1, #int 8 // #8
001f4e: 3410 0300 |0003: if-lt v0, v1, 0006 // +0003
001f52: 0e00 |0005: return-void
001f54: 2201 3000 |0006: new-instance v1, Ljava/lang/StringBuilder; // type@0030
001f58: 7110 a500 0400 |0008: invoke-static {v4}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@00a5
001f5e: 0c02 |000b: move-result-object v2
001f60: 7020 a600 2100 |000c: invoke-direct {v1, v2}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
001f66: 6e20 a700 0100 |000f: invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
001f6c: 0c01 |0012: move-result-object v1
001f6e: 6e10 aa00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
001f74: 0c01 |0016: move-result-object v1
001f76: 4402 0500 |0017: aget v2, v5, v0
001f7a: 7230 1600 1302 |0019: invoke-interface {v3, v1, v2}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
001f80: d800 0001 |001c: add-int/lit8 v0, v0, #int 1 // #01
001f84: 28e3 |001e: goto 0001 // -001d
catches : (none)
positions :
locals :
#2 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V'
access : 0x000a (PRIVATE STATIC)
method_idx : 83
code -
registers : 7
ins : 3
outs : 3
insns size : 33 16-bit code units
001f88: |[001f88] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V
001f98: 1201 |0000: const/4 v1, #int 0 // #0
001f9a: 0110 |0001: move v0, v1
001f9c: 1302 0800 |0002: const/16 v2, #int 8 // #8
001fa0: 3420 0300 |0004: if-lt v0, v2, 0007 // +0003
001fa4: 0e00 |0006: return-void
001fa6: 2202 3000 |0007: new-instance v2, Ljava/lang/StringBuilder; // type@0030
001faa: 7110 a500 0500 |0009: invoke-static {v5}, Ljava/lang/String;.valueOf:(Ljava/lang/Object;)Ljava/lang/String; // method@00a5
001fb0: 0c03 |000c: move-result-object v3
001fb2: 7020 a600 3200 |000d: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
001fb8: 6e20 a700 0200 |0010: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
001fbe: 0c02 |0013: move-result-object v2
001fc0: 6e10 aa00 0200 |0014: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
001fc6: 0c02 |0017: move-result-object v2
001fc8: 7230 1900 2401 |0018: invoke-interface {v4, v2, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
001fce: 0a02 |001b: move-result v2
001fd0: 4b02 0600 |001c: aput v2, v6, v0
001fd4: d800 0001 |001e: add-int/lit8 v0, v0, #int 1 // #01
001fd8: 28e2 |0020: goto 0002 // -001e
catches : (none)
positions :
locals :
#3 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Landroid/graphics/Canvas;IIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 84
code -
registers : 13
ins : 6
outs : 6
insns size : 63 16-bit code units
001fdc: |[001fdc] com.google.android.checkers.CheckersView.a:(Landroid/graphics/Canvas;IIII)V
001fec: e201 0902 |0000: ushr-int/lit8 v1, v9, #int 2 // #02
001ff0: dd00 0903 |0002: and-int/lit8 v0, v9, #int 3 // #03
001ff4: da00 0002 |0004: mul-int/lit8 v0, v0, #int 2 // #02
001ff8: d800 0001 |0006: add-int/lit8 v0, v0, #int 1 // #01
001ffc: dd02 0101 |0008: and-int/lit8 v2, v1, #int 1 // #01
002000: 9103 0002 |000a: sub-int v3, v0, v2
002004: e200 0a02 |000c: ushr-int/lit8 v0, v10, #int 2 // #02
002008: dd02 0a03 |000e: and-int/lit8 v2, v10, #int 3 // #03
00200c: da02 0202 |0010: mul-int/lit8 v2, v2, #int 2 // #02
002010: d802 0201 |0012: add-int/lit8 v2, v2, #int 1 // #01
002014: dd04 0001 |0014: and-int/lit8 v4, v0, #int 1 // #01
002018: b142 |0016: sub-int/2addr v2, v4
00201a: 5574 0400 |0017: iget-boolean v4, v7, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
00201e: 3804 2100 |0019: if-eqz v4, 003a // +0021
002022: d901 0107 |001b: rsub-int/lit8 v1, v1, #int 7 // #07
002026: d903 0307 |001d: rsub-int/lit8 v3, v3, #int 7 // #07
00202a: d900 0007 |001f: rsub-int/lit8 v0, v0, #int 7 // #07
00202e: d902 0207 |0021: rsub-int/lit8 v2, v2, #int 7 // #07
002032: 0116 |0023: move v6, v1
002034: 0131 |0024: move v1, v3
002036: 0123 |0025: move v3, v2
002038: 0162 |0026: move v2, v6
00203a: b2b1 |0027: mul-int/2addr v1, v11
00203c: b0c1 |0028: add-int/2addr v1, v12
00203e: 8211 |0029: int-to-float v1, v1
002040: b2b2 |002a: mul-int/2addr v2, v11
002042: b0c2 |002b: add-int/2addr v2, v12
002044: 8222 |002c: int-to-float v2, v2
002046: b2b3 |002d: mul-int/2addr v3, v11
002048: b0c3 |002e: add-int/2addr v3, v12
00204a: 8233 |002f: int-to-float v3, v3
00204c: b2b0 |0030: mul-int/2addr v0, v11
00204e: b0c0 |0031: add-int/2addr v0, v12
002050: 8204 |0032: int-to-float v4, v0
002052: 5475 1a00 |0033: iget-object v5, v7, Lcom/google/android/checkers/CheckersView;.h:Landroid/graphics/Paint; // field@001a
002056: 0780 |0035: move-object v0, v8
002058: 7406 1d00 0000 |0036: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawLine:(FFFFLandroid/graphics/Paint;)V // method@001d
00205e: 0e00 |0039: return-void
002060: 0116 |003a: move v6, v1
002062: 0131 |003b: move v1, v3
002064: 0123 |003c: move v3, v2
002066: 0162 |003d: move v2, v6
002068: 28e9 |003e: goto 0027 // -0017
catches : (none)
positions :
locals :
#4 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V'
access : 0x000a (PRIVATE STATIC)
method_idx : 85
code -
registers : 13
ins : 8
outs : 5
insns size : 81 16-bit code units
00206c: |[00206c] com.google.android.checkers.CheckersView.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V
00207c: 8260 |0000: int-to-float v0, v6
00207e: 8271 |0001: int-to-float v1, v7
002080: d802 08fe |0002: add-int/lit8 v2, v8, #int -2 // #fe
002084: 8222 |0004: int-to-float v2, v2
002086: 6e5a 1c00 0521 |0005: invoke-virtual {v5, v0, v1, v2, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
00208c: 8260 |0008: int-to-float v0, v6
00208e: 8271 |0009: int-to-float v1, v7
002090: d802 08fc |000a: add-int/lit8 v2, v8, #int -4 // #fc
002094: 8222 |000c: int-to-float v2, v2
002096: 6e5b 1c00 0521 |000d: invoke-virtual {v5, v0, v1, v2, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
00209c: 8260 |0010: int-to-float v0, v6
00209e: 8271 |0011: int-to-float v1, v7
0020a0: d802 08f9 |0012: add-int/lit8 v2, v8, #int -7 // #f9
0020a4: 8222 |0014: int-to-float v2, v2
0020a6: 6e5a 1c00 0521 |0015: invoke-virtual {v5, v0, v1, v2, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0020ac: 8260 |0018: int-to-float v0, v6
0020ae: 8271 |0019: int-to-float v1, v7
0020b0: d802 08f7 |001a: add-int/lit8 v2, v8, #int -9 // #f7
0020b4: 8222 |001c: int-to-float v2, v2
0020b6: 6e5b 1c00 0521 |001d: invoke-virtual {v5, v0, v1, v2, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0020bc: 380c 3000 |0020: if-eqz v12, 0050 // +0030
0020c0: e100 0802 |0022: shr-int/lit8 v0, v8, #int 2 // #02
0020c4: 9101 0600 |0024: sub-int v1, v6, v0
0020c8: 9100 0700 |0026: sub-int v0, v7, v0
0020cc: 8212 |0028: int-to-float v2, v1
0020ce: 8203 |0029: int-to-float v3, v0
0020d0: d804 08fe |002a: add-int/lit8 v4, v8, #int -2 // #fe
0020d4: 8244 |002c: int-to-float v4, v4
0020d6: 6e5a 1c00 2543 |002d: invoke-virtual {v5, v2, v3, v4, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0020dc: 8212 |0030: int-to-float v2, v1
0020de: 8203 |0031: int-to-float v3, v0
0020e0: d804 08fc |0032: add-int/lit8 v4, v8, #int -4 // #fc
0020e4: 8244 |0034: int-to-float v4, v4
0020e6: 6e5b 1c00 2543 |0035: invoke-virtual {v5, v2, v3, v4, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0020ec: 8212 |0038: int-to-float v2, v1
0020ee: 8203 |0039: int-to-float v3, v0
0020f0: d804 08f9 |003a: add-int/lit8 v4, v8, #int -7 // #f9
0020f4: 8244 |003c: int-to-float v4, v4
0020f6: 6e5a 1c00 2543 |003d: invoke-virtual {v5, v2, v3, v4, v10}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0020fc: 8212 |0040: int-to-float v2, v1
0020fe: 8203 |0041: int-to-float v3, v0
002100: d804 08f7 |0042: add-int/lit8 v4, v8, #int -9 // #f7
002104: 8244 |0044: int-to-float v4, v4
002106: 6e5b 1c00 2543 |0045: invoke-virtual {v5, v2, v3, v4, v11}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
00210c: 1a02 2a00 |0048: const-string v2, "K" // string@002a
002110: b191 |004a: sub-int/2addr v1, v9
002112: 8211 |004b: int-to-float v1, v1
002114: 8200 |004c: int-to-float v0, v0
002116: 6e5a 2000 2501 |004d: invoke-virtual {v5, v2, v1, v0, v10}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
00211c: 0e00 |0050: return-void
catches : (none)
positions :
locals :
#5 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Lcom/google/android/checkers/CheckersView;I)V'
access : 0x1008 (STATIC SYNTHETIC)
method_idx : 86
code -
registers : 2
ins : 2
outs : 2
insns size : 4 16-bit code units
002120: |[002120] com.google.android.checkers.CheckersView.a:(Lcom/google/android/checkers/CheckersView;I)V
002130: 7020 5e00 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/checkers/CheckersView;.b:(I)V // method@005e
002136: 0e00 |0003: return-void
catches : (none)
positions :
locals :
#6 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Landroid/content/SharedPreferences;)Z'
access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
method_idx : 88
code -
registers : 12
ins : 2
outs : 6
insns size : 294 16-bit code units
002138: |[002138] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences;)Z
002148: 1249 |0000: const/4 v9, #int 4 // #4
00214a: 1232 |0001: const/4 v2, #int 3 // #3
00214c: 1217 |0002: const/4 v7, #int 1 // #1
00214e: 1206 |0003: const/4 v6, #int 0 // #0
002150: 1d0a |0004: monitor-enter v10
002152: 380b 1b01 |0005: if-eqz v11, 0120 // +011b
002156: 1a00 d000 |0007: const-string v0, "format" // string@00d0
00215a: 1201 |0009: const/4 v1, #int 0 // #0
00215c: 7230 1900 0b01 |000a: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
002162: 0a00 |000d: move-result v0
002164: 1301 2200 |000e: const/16 v1, #int 34 // #22
002168: 3210 0500 |0010: if-eq v0, v1, 0015 // +0005
00216c: 0160 |0012: move v0, v6
00216e: 1e0a |0013: monitor-exit v10
002170: 0f00 |0014: return v0
002172: 1a00 3101 |0015: const-string v0, "state" // string@0131
002176: 1211 |0017: const/4 v1, #int 1 // #1
002178: 7230 1900 0b01 |0018: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
00217e: 0a00 |001b: move-result v0
002180: 59a0 2300 |001c: iput v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002184: 1a00 3f01 |001e: const-string v0, "wp" // string@013f
002188: 1201 |0020: const/4 v1, #int 0 // #0
00218a: 7230 1900 0b01 |0021: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
002190: 0a00 |0024: move-result v0
002192: 59a0 2400 |0025: iput v0, v10, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
002196: 1a00 b400 |0027: const-string v0, "bp" // string@00b4
00219a: 1201 |0029: const/4 v1, #int 0 // #0
00219c: 7230 1900 0b01 |002a: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0021a2: 0a00 |002d: move-result v0
0021a4: 59a0 2500 |002e: iput v0, v10, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
0021a8: 1a00 3e01 |0030: const-string v0, "wk" // string@013e
0021ac: 1201 |0032: const/4 v1, #int 0 // #0
0021ae: 7230 1900 0b01 |0033: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0021b4: 0a00 |0036: move-result v0
0021b6: 59a0 2600 |0037: iput v0, v10, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
0021ba: 1a00 b300 |0039: const-string v0, "bk" // string@00b3
0021be: 1201 |003b: const/4 v1, #int 0 // #0
0021c0: 7230 1900 0b01 |003c: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0021c6: 0a00 |003f: move-result v0
0021c8: 59a0 2700 |0040: iput v0, v10, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
0021cc: 1a00 e800 |0042: const-string v0, "l1" // string@00e8
0021d0: 1201 |0044: const/4 v1, #int 0 // #0
0021d2: 7230 1900 0b01 |0045: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0021d8: 0a00 |0048: move-result v0
0021da: 59a0 2800 |0049: iput v0, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
0021de: 1a00 e900 |004b: const-string v0, "l2" // string@00e9
0021e2: 1201 |004d: const/4 v1, #int 0 // #0
0021e4: 7230 1900 0b01 |004e: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0021ea: 0a00 |0051: move-result v0
0021ec: 59a0 2900 |0052: iput v0, v10, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
0021f0: 1a00 ef00 |0054: const-string v0, "lm" // string@00ef
0021f4: 1201 |0056: const/4 v1, #int 0 // #0
0021f6: 7230 1900 0b01 |0057: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0021fc: 0a00 |005a: move-result v0
0021fe: 59a0 2a00 |005b: iput v0, v10, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
002202: 1a00 b800 |005d: const-string v0, "cap" // string@00b8
002206: 1211 |005f: const/4 v1, #int 1 // #1
002208: 7230 1800 0b01 |0060: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
00220e: 0a00 |0063: move-result v0
002210: 5ca0 2b00 |0064: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
002214: 1a00 ee00 |0066: const-string v0, "level" // string@00ee
002218: 1231 |0068: const/4 v1, #int 3 // #3
00221a: 7230 1900 0b01 |0069: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
002220: 0a00 |006c: move-result v0
002222: 59a0 2c00 |006d: iput v0, v10, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
002226: 1a00 2d01 |006f: const-string v0, "show" // string@012d
00222a: 1211 |0071: const/4 v1, #int 1 // #1
00222c: 7230 1800 0b01 |0072: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
002232: 0a00 |0075: move-result v0
002234: 5ca0 0200 |0076: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
002238: 1a00 d100 |0078: const-string v0, "free" // string@00d1
00223c: 1201 |007a: const/4 v1, #int 0 // #0
00223e: 7230 1800 0b01 |007b: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
002244: 0a00 |007e: move-result v0
002246: 5ca0 0300 |007f: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
00224a: 1a00 1801 |0081: const-string v0, "rot" // string@0118
00224e: 1201 |0083: const/4 v1, #int 0 // #0
002250: 7230 1800 0b01 |0084: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
002256: 0a00 |0087: move-result v0
002258: 5ca0 0400 |0088: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
00225c: 1a00 d300 |008a: const-string v0, "full" // string@00d3
002260: 1201 |008c: const/4 v1, #int 0 // #0
002262: 7230 1800 0b01 |008d: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
002268: 0a00 |0090: move-result v0
00226a: 5ca0 0500 |0091: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
00226e: 1a00 2f01 |0093: const-string v0, "start" // string@012f
002272: 1211 |0095: const/4 v1, #int 1 // #1
002274: 7230 1800 0b01 |0096: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getBoolean:(Ljava/lang/String;Z)Z // method@0018
00227a: 0a00 |0099: move-result v0
00227c: 5ca0 0600 |009a: iput-boolean v0, v10, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
002280: 1a00 bd00 |009c: const-string v0, "color" // string@00bd
002284: 1201 |009e: const/4 v1, #int 0 // #0
002286: 7230 1900 0b01 |009f: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
00228c: 0a00 |00a2: move-result v0
00228e: 59a0 0700 |00a3: iput v0, v10, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
002292: 1a00 f300 |00a5: const-string v0, "lwp" // string@00f3
002296: 54a1 0800 |00a7: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
00229a: 7130 5300 0b01 |00a9: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
0022a0: 1a00 f200 |00ac: const-string v0, "lwk" // string@00f2
0022a4: 54a1 0900 |00ae: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
0022a8: 7130 5300 0b01 |00b0: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
0022ae: 1a00 eb00 |00b3: const-string v0, "lbp" // string@00eb
0022b2: 54a1 0a00 |00b5: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
0022b6: 7130 5300 0b01 |00b7: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
0022bc: 1a00 ea00 |00ba: const-string v0, "lbk" // string@00ea
0022c0: 54a1 0b00 |00bc: iget-object v1, v10, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
0022c4: 7130 5300 0b01 |00be: invoke-static {v11, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences;Ljava/lang/String;[I)V // method@0053
0022ca: 1a00 f100 |00c1: const-string v0, "lp" // string@00f1
0022ce: 1201 |00c3: const/4 v1, #int 0 // #0
0022d0: 7230 1900 0b01 |00c4: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0022d6: 0a00 |00c7: move-result v0
0022d8: 59a0 0c00 |00c8: iput v0, v10, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
0022dc: 1a00 ec00 |00ca: const-string v0, "lc" // string@00ec
0022e0: 1201 |00cc: const/4 v1, #int 0 // #0
0022e2: 7230 1900 0b01 |00cd: invoke-interface {v11, v0, v1}, Landroid/content/SharedPreferences;.getInt:(Ljava/lang/String;I)I // method@0019
0022e8: 0a00 |00d0: move-result v0
0022ea: 59a0 0d00 |00d1: iput v0, v10, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
0022ee: 52a0 2c00 |00d3: iget v0, v10, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
0022f2: 6e20 7000 0a00 |00d5: invoke-virtual {v10, v0}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070
0022f8: 52a0 2300 |00d8: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0022fc: 3220 3d00 |00da: if-eq v0, v2, 0117 // +003d
002300: 52a0 2300 |00dc: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002304: 3290 3900 |00de: if-eq v0, v9, 0117 // +0039
002308: 52a0 2300 |00e0: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00230c: 1261 |00e2: const/4 v1, #int 6 // #6
00230e: 3210 3400 |00e3: if-eq v0, v1, 0117 // +0034
002312: 0165 |00e5: move v5, v6
002314: 54a8 2200 |00e6: iget-object v8, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002318: 1d08 |00e8: monitor-enter v8
00231a: 54a0 2200 |00e9: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00231e: 52a1 2400 |00eb: iget v1, v10, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
002322: 52a2 2600 |00ed: iget v2, v10, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
002326: 52a3 2500 |00ef: iget v3, v10, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
00232a: 52a4 2700 |00f1: iget v4, v10, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
00232e: 7406 8000 0000 |00f3: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIIZ)V // method@0080
002334: 54a0 2200 |00f6: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002338: 55a1 0300 |00f8: iget-boolean v1, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
00233c: 6e30 7a00 5001 |00fa: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
002342: 54a0 2200 |00fd: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002346: 5200 3c00 |00ff: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
00234a: 59a0 0e00 |0101: iput v0, v10, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
00234e: 1e08 |0103: monitor-exit v8
002350: 52a0 2300 |0104: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002354: 3290 0700 |0106: if-eq v0, v9, 010d // +0007
002358: 52a0 2300 |0108: iget v0, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00235c: 1221 |010a: const/4 v1, #int 2 // #2
00235e: 3310 0900 |010b: if-ne v0, v1, 0114 // +0009
002362: 54a0 2200 |010d: iget-object v0, v10, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002366: 55a1 0300 |010f: iget-boolean v1, v10, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
00236a: 6e30 8700 5001 |0111: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
002370: 0170 |0114: move v0, v7
002372: 2900 fefe |0115: goto/16 0013 // -0102
002376: 0175 |0117: move v5, v7
002378: 28ce |0118: goto 00e6 // -0032
00237a: 0d00 |0119: move-exception v0
00237c: 1e08 |011a: monitor-exit v8
00237e: 2700 |011b: throw v0
002380: 0d00 |011c: move-exception v0
002382: 0160 |011d: move v0, v6
002384: 2900 f5fe |011e: goto/16 0013 // -010b
002388: 0160 |0120: move v0, v6
00238a: 2900 f2fe |0121: goto/16 0013 // -010e
00238e: 0d00 |0123: move-exception v0
002390: 1e0a |0124: monitor-exit v10
002392: 2700 |0125: throw v0
catches : 4
0x0007 - 0x000d
Ljava/lang/ClassCastException; -> 0x011c
<any> -> 0x0123
0x0015 - 0x00e9
Ljava/lang/ClassCastException; -> 0x011c
<any> -> 0x0123
0x00e9 - 0x0104
<any> -> 0x0119
0x0104 - 0x011c
Ljava/lang/ClassCastException; -> 0x011c
<any> -> 0x0123
positions :
locals :
#7 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Lcom/google/android/checkers/CheckersView;)Z'
access : 0x1008 (STATIC SYNTHETIC)
method_idx : 89
code -
registers : 7
ins : 1
outs : 6
insns size : 11 16-bit code units
0023c0: |[0023c0] com.google.android.checkers.CheckersView.a:(Lcom/google/android/checkers/CheckersView;)Z
0023d0: 1201 |0000: const/4 v1, #int 0 // #0
0023d2: 12f2 |0001: const/4 v2, #int -1 // #ff
0023d4: 0760 |0002: move-object v0, v6
0023d6: 0113 |0003: move v3, v1
0023d8: 0114 |0004: move v4, v1
0023da: 0115 |0005: move v5, v1
0023dc: 7606 5b00 0000 |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
0023e2: 0a00 |0009: move-result v0
0023e4: 0f00 |000a: return v0
catches : (none)
positions :
locals :
#8 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(ZIIII)Z'
access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
method_idx : 91
code -
registers : 15
ins : 6
outs : 6
insns size : 645 16-bit code units
0023e8: |[0023e8] com.google.android.checkers.CheckersView.a:(ZIIII)Z
0023f8: 1232 |0000: const/4 v2, #int 3 // #3
0023fa: 12f1 |0001: const/4 v1, #int -1 // #ff
0023fc: 1223 |0002: const/4 v3, #int 2 // #2
0023fe: 1216 |0003: const/4 v6, #int 1 // #1
002400: 1207 |0004: const/4 v7, #int 0 // #0
002402: 1d09 |0005: monitor-enter v9
002404: 380a 1b00 |0006: if-eqz v10, 0021 // +001b
002408: 5290 1200 |0008: iget v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
00240c: 3d00 1700 |000a: if-lez v0, 0021 // +0017
002410: 5290 1200 |000c: iget v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
002414: 3330 2b00 |000e: if-ne v0, v3, 0039 // +002b
002418: 12eb |0010: const/4 v11, #int -2 // #fe
00241a: 5290 2300 |0011: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00241e: 3330 2800 |0013: if-ne v0, v3, 003b // +0028
002422: 0160 |0015: move v0, v6
002424: 5990 2300 |0016: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002428: 5290 2c00 |0018: iget v0, v9, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
00242c: 6e20 7000 0900 |001a: invoke-virtual {v9, v0}, Lcom/google/android/checkers/CheckersView;.setLevel:(I)V // method@0070
002432: 1200 |001d: const/4 v0, #int 0 // #0
002434: 5990 1200 |001e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
002438: 017a |0020: move v10, v7
00243a: 380a 8800 |0021: if-eqz v10, 00a9 // +0088
00243e: 7020 6200 b900 |0023: invoke-direct {v9, v11}, Lcom/google/android/checkers/CheckersView;.c:(I)V // method@0062
002444: 5290 2300 |0026: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002448: 1252 |0028: const/4 v2, #int 5 // #5
00244a: 3220 0d00 |0029: if-eq v0, v2, 0036 // +000d
00244e: 5290 2300 |002b: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002452: 1262 |002d: const/4 v2, #int 6 // #6
002454: 3220 0800 |002e: if-eq v0, v2, 0036 // +0008
002458: 390d 0d00 |0030: if-nez v13, 003d // +000d
00245c: 1a00 1301 |0032: const-string v0, "random play" // string@0113
002460: 5b90 0f00 |0034: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
002464: 0160 |0036: move v0, v6
002466: 1e09 |0037: monitor-exit v9
002468: 0f00 |0038: return v0
00246a: 011b |0039: move v11, v1
00246c: 28d7 |003a: goto 0011 // -0029
00246e: 0120 |003b: move v0, v2
002470: 28da |003c: goto 0016 // -0026
002472: 331d 0a00 |003d: if-ne v13, v1, 0047 // +000a
002476: 1a00 0801 |003f: const-string v0, "only reply" // string@0108
00247a: 5b90 0f00 |0041: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
00247e: 28f3 |0043: goto 0036 // -000d
002480: 0d00 |0044: move-exception v0
002482: 1e09 |0045: monitor-exit v9
002484: 2700 |0046: throw v0
002486: 12e0 |0047: const/4 v0, #int -2 // #fe
002488: 330d 0700 |0048: if-ne v13, v0, 004f // +0007
00248c: 1a00 0a01 |004a: const-string v0, "opening" // string@010a
002490: 5b90 0f00 |004c: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
002494: 28e8 |004e: goto 0036 // -0018
002496: 1300 0083 |004f: const/16 v0, #int -32000 // #8300
00249a: 360c 1800 |0051: if-gt v12, v0, 0069 // +0018
00249e: 2200 3000 |0053: new-instance v0, Ljava/lang/StringBuilder; // type@0030
0024a2: 1a01 f000 |0055: const-string v1, "loss in #" // string@00f0
0024a6: 7020 a600 1000 |0057: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
0024ac: d0c1 f47e |005a: add-int/lit16 v1, v12, #int 32500 // #7ef4
0024b0: db01 0102 |005c: div-int/lit8 v1, v1, #int 2 // #02
0024b4: 6e20 a700 1000 |005e: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
0024ba: 0c00 |0061: move-result-object v0
0024bc: 6e10 aa00 0000 |0062: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
0024c2: 0c00 |0065: move-result-object v0
0024c4: 5b90 0f00 |0066: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0024c8: 28ce |0068: goto 0036 // -0032
0024ca: 1300 007d |0069: const/16 v0, #int 32000 // #7d00
0024ce: 340c 1800 |006b: if-lt v12, v0, 0083 // +0018
0024d2: 2200 3000 |006d: new-instance v0, Ljava/lang/StringBuilder; // type@0030
0024d6: 1a01 3d01 |006f: const-string v1, "win in #" // string@013d
0024da: 7020 a600 1000 |0071: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
0024e0: d1c1 f47e |0074: rsub-int v1, v12, #int 32500 // #7ef4
0024e4: db01 0102 |0076: div-int/lit8 v1, v1, #int 2 // #02
0024e8: 6e20 a700 1000 |0078: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
0024ee: 0c00 |007b: move-result-object v0
0024f0: 6e10 aa00 0000 |007c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
0024f6: 0c00 |007f: move-result-object v0
0024f8: 5b90 0f00 |0080: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0024fc: 28b4 |0082: goto 0036 // -004c
0024fe: 2200 3000 |0083: new-instance v0, Ljava/lang/StringBuilder; // type@0030
002502: 1a01 3901 |0085: const-string v1, "v=" // string@0139
002506: 7020 a600 1000 |0087: invoke-direct {v0, v1}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
00250c: 6e20 a700 c000 |008a: invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
002512: 0c00 |008d: move-result-object v0
002514: 1a01 0000 |008e: const-string v1, " d=" // string@0000
002518: 6e20 a900 1000 |0090: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
00251e: 0c00 |0093: move-result-object v0
002520: 6e20 a700 d000 |0094: invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
002526: 0c00 |0097: move-result-object v0
002528: 1a01 0100 |0098: const-string v1, " n=" // string@0001
00252c: 6e20 a900 1000 |009a: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
002532: 0c00 |009d: move-result-object v0
002534: 6e20 a700 e000 |009e: invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
00253a: 0c00 |00a1: move-result-object v0
00253c: 6e10 aa00 0000 |00a2: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
002542: 0c00 |00a5: move-result-object v0
002544: 5b90 0f00 |00a6: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
002548: 288e |00a8: goto 0036 // -0072
00254a: 12d0 |00a9: const/4 v0, #int -3 // #fd
00254c: 330b 3000 |00aa: if-ne v11, v0, 00da // +0030
002550: 2200 0500 |00ac: new-instance v0, Landroid/app/AlertDialog$Builder; // type@0005
002554: 5491 1300 |00ae: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
002558: 7020 0900 1000 |00b0: invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;.<init>:(Landroid/content/Context;)V // method@0009
00255e: 1a01 7f00 |00b3: const-string v1, "Start a new game?" // string@007f
002562: 6e20 0c00 1000 |00b5: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000c
002568: 0c00 |00b8: move-result-object v0
00256a: 1201 |00b9: const/4 v1, #int 0 // #0
00256c: 6e20 0a00 1000 |00ba: invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;.setCancelable:(Z)Landroid/app/AlertDialog$Builder; // method@000a
002572: 0c00 |00bd: move-result-object v0
002574: 1a01 9e00 |00be: const-string v1, "Yes" // string@009e
002578: 2202 2100 |00c0: new-instance v2, Lcom/google/android/checkers/b; // type@0021
00257c: 7020 8f00 9200 |00c2: invoke-direct {v2, v9}, Lcom/google/android/checkers/b;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@008f
002582: 6e30 0e00 1002 |00c5: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setPositiveButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000e
002588: 0c00 |00c8: move-result-object v0
00258a: 1a01 7500 |00c9: const-string v1, "No" // string@0075
00258e: 2202 2200 |00cb: new-instance v2, Lcom/google/android/checkers/c; // type@0022
002592: 7020 9100 9200 |00cd: invoke-direct {v2, v9}, Lcom/google/android/checkers/c;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0091
002598: 6e30 0d00 1002 |00d0: invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;.setNegativeButton:(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000d
00259e: 0c00 |00d3: move-result-object v0
0025a0: 6e10 1000 0000 |00d4: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010
0025a6: 0160 |00d7: move v0, v6
0025a8: 2900 5fff |00d8: goto/16 0037 // -00a1
0025ac: 331b 5b00 |00da: if-ne v11, v1, 0135 // +005b
0025b0: 5290 2300 |00dc: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0025b4: 3230 0700 |00de: if-eq v0, v3, 00e5 // +0007
0025b8: 5290 2300 |00e0: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0025bc: 1241 |00e2: const/4 v1, #int 4 // #4
0025be: 3310 1100 |00e3: if-ne v0, v1, 00f4 // +0011
0025c2: 1210 |00e5: const/4 v0, #int 1 // #1
0025c4: 5990 1200 |00e6: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
0025c8: 5490 2200 |00e8: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
0025cc: 1211 |00ea: const/4 v1, #int 1 // #1
0025ce: 5901 4100 |00eb: iput v1, v0, Lcom/google/android/checkers/a;.h:I // field@0041
0025d2: 1a00 3201 |00ed: const-string v0, "stopping...." // string@0132
0025d6: 5b90 0f00 |00ef: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0025da: 0160 |00f1: move v0, v6
0025dc: 2900 45ff |00f2: goto/16 0037 // -00bb
0025e0: 1200 |00f4: const/4 v0, #int 0 // #0
0025e2: 5990 1200 |00f5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
0025e6: 5490 2200 |00f7: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
0025ea: 6e10 7b00 0000 |00f9: invoke-virtual {v0}, Lcom/google/android/checkers/a;.a:()V // method@007b
0025f0: 1210 |00fc: const/4 v0, #int 1 // #1
0025f2: 5990 2300 |00fd: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0025f6: 5490 2200 |00ff: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
0025fa: 5200 3d00 |0101: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d
0025fe: 5990 2400 |0103: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
002602: 5490 2200 |0105: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002606: 5200 3f00 |0107: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
00260a: 5990 2500 |0109: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
00260e: 5490 2200 |010b: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002612: 5200 3e00 |010d: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
002616: 5990 2600 |010f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
00261a: 5490 2200 |0111: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00261e: 5200 4000 |0113: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
002622: 5990 2700 |0115: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
002626: 1200 |0117: const/4 v0, #int 0 // #0
002628: 5990 2800 |0118: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
00262c: 1200 |011a: const/4 v0, #int 0 // #0
00262e: 5990 2900 |011b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
002632: 1200 |011d: const/4 v0, #int 0 // #0
002634: 5990 2a00 |011e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
002638: 1200 |0120: const/4 v0, #int 0 // #0
00263a: 5c90 2b00 |0121: iput-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
00263e: 1200 |0123: const/4 v0, #int 0 // #0
002640: 5990 0c00 |0124: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
002644: 1200 |0126: const/4 v0, #int 0 // #0
002646: 5990 0d00 |0127: iput v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
00264a: 5490 2200 |0129: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00264e: 5200 3c00 |012b: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
002652: 5990 0e00 |012d: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
002656: 1200 |012f: const/4 v0, #int 0 // #0
002658: 5b90 0f00 |0130: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
00265c: 0160 |0132: move v0, v6
00265e: 2900 04ff |0133: goto/16 0037 // -00fc
002662: 12e0 |0135: const/4 v0, #int -2 // #fe
002664: 330b b100 |0136: if-ne v11, v0, 01e7 // +00b1
002668: 1200 |0138: const/4 v0, #int 0 // #0
00266a: 5990 2800 |0139: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
00266e: 1200 |013b: const/4 v0, #int 0 // #0
002670: 5990 2900 |013c: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
002674: 1200 |013e: const/4 v0, #int 0 // #0
002676: 5990 2a00 |013f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
00267a: 5290 2300 |0141: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00267e: 3230 0700 |0143: if-eq v0, v3, 014a // +0007
002682: 5290 2300 |0145: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002686: 1241 |0147: const/4 v1, #int 4 // #4
002688: 3310 1100 |0148: if-ne v0, v1, 0159 // +0011
00268c: 1220 |014a: const/4 v0, #int 2 // #2
00268e: 5990 1200 |014b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
002692: 5490 2200 |014d: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002696: 1211 |014f: const/4 v1, #int 1 // #1
002698: 5901 4100 |0150: iput v1, v0, Lcom/google/android/checkers/a;.h:I // field@0041
00269c: 1a00 3201 |0152: const-string v0, "stopping...." // string@0132
0026a0: 5b90 0f00 |0154: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0026a4: 0160 |0156: move v0, v6
0026a6: 2900 e0fe |0157: goto/16 0037 // -0120
0026aa: 1200 |0159: const/4 v0, #int 0 // #0
0026ac: 5990 1200 |015a: iput v0, v9, Lcom/google/android/checkers/CheckersView;.Q:I // field@0012
0026b0: 5290 2300 |015c: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0026b4: 3260 7600 |015e: if-eq v0, v6, 01d4 // +0076
0026b8: 5290 2300 |0160: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0026bc: 1251 |0162: const/4 v1, #int 5 // #5
0026be: 3210 7100 |0163: if-eq v0, v1, 01d4 // +0071
0026c2: 0175 |0165: move v5, v7
0026c4: 5290 0d00 |0166: iget v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
0026c8: 3d00 7200 |0168: if-lez v0, 01da // +0072
0026cc: 5290 0d00 |016a: iget v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
0026d0: d800 00ff |016c: add-int/lit8 v0, v0, #int -1 // #ff
0026d4: 5990 0d00 |016e: iput v0, v9, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
0026d8: 5290 0c00 |0170: iget v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
0026dc: 3d00 6400 |0172: if-lez v0, 01d6 // +0064
0026e0: 5290 0c00 |0174: iget v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
0026e4: d800 00ff |0176: add-int/lit8 v0, v0, #int -1 // #ff
0026e8: 5990 0c00 |0178: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
0026ec: 5294 0c00 |017a: iget v4, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
0026f0: 5490 2200 |017c: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
0026f4: 5491 0800 |017e: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
0026f8: 4401 0104 |0180: aget v1, v1, v4
0026fc: 5492 0900 |0182: iget-object v2, v9, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
002700: 4402 0204 |0184: aget v2, v2, v4
002704: 5493 0a00 |0186: iget-object v3, v9, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
002708: 4403 0304 |0188: aget v3, v3, v4
00270c: 5498 0b00 |018a: iget-object v8, v9, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
002710: 4404 0804 |018c: aget v4, v8, v4
002714: 7406 8000 0000 |018e: invoke-virtual/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIIZ)V // method@0080
00271a: 0160 |0191: move v0, v6
00271c: 3800 4e00 |0192: if-eqz v0, 01e0 // +004e
002720: 3805 4800 |0194: if-eqz v5, 01dc // +0048
002724: 1230 |0196: const/4 v0, #int 3 // #3
002726: 5990 2300 |0197: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00272a: 5490 2200 |0199: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00272e: 5200 3d00 |019b: iget v0, v0, Lcom/google/android/checkers/a;.d:I // field@003d
002732: 5990 2400 |019d: iput v0, v9, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
002736: 5490 2200 |019f: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00273a: 5200 3f00 |01a1: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
00273e: 5990 2500 |01a3: iput v0, v9, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
002742: 5490 2200 |01a5: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002746: 5200 3e00 |01a7: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
00274a: 5990 2600 |01a9: iput v0, v9, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
00274e: 5490 2200 |01ab: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002752: 5200 4000 |01ad: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
002756: 5990 2700 |01af: iput v0, v9, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
00275a: 1200 |01b1: const/4 v0, #int 0 // #0
00275c: 5990 2800 |01b2: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
002760: 1200 |01b4: const/4 v0, #int 0 // #0
002762: 5990 2900 |01b5: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
002766: 1200 |01b7: const/4 v0, #int 0 // #0
002768: 5990 2a00 |01b8: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
00276c: 5490 2200 |01ba: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002770: 5591 0300 |01bc: iget-boolean v1, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
002774: 6e30 7a00 5001 |01be: invoke-virtual {v0, v5, v1}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
00277a: 0a00 |01c1: move-result v0
00277c: 3360 0300 |01c2: if-ne v0, v6, 01c5 // +0003
002780: 0167 |01c4: move v7, v6
002782: 5c97 2b00 |01c5: iput-boolean v7, v9, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
002786: 5490 2200 |01c7: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00278a: 5200 3c00 |01c9: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
00278e: 5990 0e00 |01cb: iput v0, v9, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
002792: 1a00 3701 |01cd: const-string v0, "undid half-move" // string@0137
002796: 5b90 0f00 |01cf: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
00279a: 0160 |01d1: move v0, v6
00279c: 2900 65fe |01d2: goto/16 0037 // -019b
0027a0: 0165 |01d4: move v5, v6
0027a2: 2891 |01d5: goto 0166 // -006f
0027a4: 1270 |01d6: const/4 v0, #int 7 // #7
0027a6: 5990 0c00 |01d7: iput v0, v9, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
0027aa: 28a1 |01d9: goto 017a // -005f
0027ac: 0170 |01da: move v0, v7
0027ae: 28b7 |01db: goto 0192 // -0049
0027b0: 1210 |01dc: const/4 v0, #int 1 // #1
0027b2: 5990 2300 |01dd: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0027b6: 28ba |01df: goto 0199 // -0046
0027b8: 1a00 f900 |01e0: const-string v0, "no more undo" // string@00f9
0027bc: 5b90 0f00 |01e2: iput-object v0, v9, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0027c0: 0160 |01e4: move v0, v6
0027c2: 2900 52fe |01e5: goto/16 0037 // -01ae
0027c6: 12c0 |01e7: const/4 v0, #int -4 // #fc
0027c8: 330b 4c00 |01e8: if-ne v11, v0, 0234 // +004c
0027cc: 5290 2300 |01ea: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0027d0: 3360 2300 |01ec: if-ne v0, v6, 020f // +0023
0027d4: 1220 |01ee: const/4 v0, #int 2 // #2
0027d6: 5990 2300 |01ef: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
0027da: 5490 2200 |01f1: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
0027de: 1201 |01f3: const/4 v1, #int 0 // #0
0027e0: 5592 0300 |01f4: iget-boolean v2, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
0027e4: 6e30 8700 1002 |01f6: invoke-virtual {v0, v1, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
0027ea: 5491 1300 |01f9: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
0027ee: 5590 0400 |01fb: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
0027f2: 3800 0f00 |01fd: if-eqz v0, 020c // +000f
0027f6: 1a00 bf00 |01ff: const-string v0, "computer now plays black" // string@00bf
0027fa: 1202 |0201: const/4 v2, #int 0 // #0
0027fc: 7130 3c00 0102 |0202: invoke-static {v1, v0, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c
002802: 0c00 |0205: move-result-object v0
002804: 6e10 3d00 0000 |0206: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d
00280a: 0160 |0209: move v0, v6
00280c: 2900 2dfe |020a: goto/16 0037 // -01d3
002810: 1a00 c000 |020c: const-string v0, "computer now plays black\ngoto options to rotate board" // string@00c0
002814: 28f3 |020e: goto 0201 // -000d
002816: 5290 2300 |020f: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00281a: 3320 6f00 |0211: if-ne v0, v2, 0280 // +006f
00281e: 1240 |0213: const/4 v0, #int 4 // #4
002820: 5990 2300 |0214: iput v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002824: 5490 2200 |0216: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002828: 1211 |0218: const/4 v1, #int 1 // #1
00282a: 5592 0300 |0219: iget-boolean v2, v9, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
00282e: 6e30 8700 1002 |021b: invoke-virtual {v0, v1, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
002834: 5491 1300 |021e: iget-object v1, v9, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
002838: 5590 0400 |0220: iget-boolean v0, v9, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
00283c: 3800 0f00 |0222: if-eqz v0, 0231 // +000f
002840: 1a00 c200 |0224: const-string v0, "computer now plays white\ngoto options to rotate board" // string@00c2
002844: 1202 |0226: const/4 v2, #int 0 // #0
002846: 7130 3c00 0102 |0227: invoke-static {v1, v0, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c
00284c: 0c00 |022a: move-result-object v0
00284e: 6e10 3d00 0000 |022b: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d
002854: 0160 |022e: move v0, v6
002856: 2900 08fe |022f: goto/16 0037 // -01f8
00285a: 1a00 c100 |0231: const-string v0, "computer now plays white" // string@00c1
00285e: 28f3 |0233: goto 0226 // -000d
002860: 336b 4c00 |0234: if-ne v11, v6, 0280 // +004c
002864: 5290 2300 |0236: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002868: 3260 0600 |0238: if-eq v0, v6, 023e // +0006
00286c: 5290 2300 |023a: iget v0, v9, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002870: 3320 4400 |023c: if-ne v0, v2, 0280 // +0044
002874: 1200 |023e: const/4 v0, #int 0 // #0
002876: 5990 2900 |023f: iput v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
00287a: 1200 |0241: const/4 v0, #int 0 // #0
00287c: 5990 2a00 |0242: iput v0, v9, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
002880: 5490 2200 |0244: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002884: 5204 3c00 |0246: iget v4, v0, Lcom/google/android/checkers/a;.c:I // field@003c
002888: 5490 2200 |0248: iget-object v0, v9, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00288c: 5405 3b00 |024a: iget-object v5, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
002890: 0172 |024c: move v2, v7
002892: 0170 |024d: move v0, v7
002894: 0173 |024e: move v3, v7
002896: 3442 0a00 |024f: if-lt v2, v4, 0259 // +000a
00289a: 3363 2500 |0251: if-ne v3, v6, 0276 // +0025
00289e: 7020 6200 1900 |0253: invoke-direct {v9, v1}, Lcom/google/android/checkers/CheckersView;.c:(I)V // method@0062
0028a4: 0160 |0256: move v0, v6
0028a6: 2900 e0fd |0257: goto/16 0037 // -0220
0028aa: 5297 2800 |0259: iget v7, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
0028ae: 4408 0502 |025b: aget v8, v5, v2
0028b2: b587 |025d: and-int/2addr v7, v8
0028b4: 5298 2800 |025e: iget v8, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
0028b8: 3387 1300 |0260: if-ne v7, v8, 0273 // +0013
0028bc: 4401 0502 |0262: aget v1, v5, v2
0028c0: 3201 1f00 |0264: if-eq v1, v0, 0283 // +001f
0028c4: d801 0301 |0266: add-int/lit8 v1, v3, #int 1 // #01
0028c8: 4400 0502 |0268: aget v0, v5, v2
0028cc: 5293 2900 |026a: iget v3, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
0028d0: 4407 0502 |026c: aget v7, v5, v2
0028d4: b673 |026e: or-int/2addr v3, v7
0028d6: 5993 2900 |026f: iput v3, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
0028da: 0113 |0271: move v3, v1
0028dc: 0121 |0272: move v1, v2
0028de: d802 0201 |0273: add-int/lit8 v2, v2, #int 1 // #01
0028e2: 28da |0275: goto 024f // -0026
0028e4: 5290 2900 |0276: iget v0, v9, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
0028e8: 3900 0500 |0278: if-nez v0, 027d // +0005
0028ec: 1200 |027a: const/4 v0, #int 0 // #0
0028ee: 5990 2800 |027b: iput v0, v9, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
0028f2: 0160 |027d: move v0, v6
0028f4: 2900 b9fd |027e: goto/16 0037 // -0247
0028f8: 0170 |0280: move v0, v7
0028fa: 2900 b6fd |0281: goto/16 0037 // -024a
0028fe: 0131 |0283: move v1, v3
002900: 28e4 |0284: goto 0268 // -001c
catches : 3
0x0008 - 0x0036
<any> -> 0x0044
0x003f - 0x0043
<any> -> 0x0044
0x004a - 0x027d
<any> -> 0x0044
positions :
locals :
#9 : (in Lcom/google/android/checkers/CheckersView;)
name : 'b'
type : '(FF)I'
access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
method_idx : 92
code -
registers : 13
ins : 3
outs : 1
insns size : 102 16-bit code units
002920: |[002920] com.google.android.checkers.CheckersView.b:(FF)I
002930: 1309 0800 |0000: const/16 v9, #int 8 // #8
002934: 1201 |0002: const/4 v1, #int 0 // #0
002936: 1210 |0003: const/4 v0, #int 1 // #1
002938: 1d0a |0004: monitor-enter v10
00293a: 6e10 6a00 0a00 |0005: invoke-virtual {v10}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a
002940: 0a02 |0008: move-result v2
002942: 6e10 6900 0a00 |0009: invoke-virtual {v10}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069
002948: 0a03 |000c: move-result v3
00294a: 3532 1400 |000d: if-ge v2, v3, 0021 // +0014
00294e: e207 0203 |000f: ushr-int/lit8 v7, v2, #int 3 // #03
002952: 52a2 2300 |0011: iget v2, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002956: 3202 0700 |0013: if-eq v2, v0, 001a // +0007
00295a: 52a2 2300 |0015: iget v2, v10, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00295e: 1233 |0017: const/4 v3, #int 3 // #3
002960: 3332 0600 |0018: if-ne v2, v3, 001e // +0006
002964: 0116 |001a: move v6, v1
002966: 0103 |001b: move v3, v0
002968: 3496 0700 |001c: if-lt v6, v9, 0023 // +0007
00296c: 0110 |001e: move v0, v1
00296e: 1e0a |001f: monitor-exit v10
002970: 0f00 |0020: return v0
002972: 0132 |0021: move v2, v3
002974: 28ed |0022: goto 000f // -0013
002976: d902 0601 |0023: rsub-int/lit8 v2, v6, #int 1 // #01
00297a: dd02 0201 |0025: and-int/lit8 v2, v2, #int 1 // #01
00297e: 0124 |0027: move v4, v2
002980: 0135 |0028: move v5, v3
002982: 3494 0700 |0029: if-lt v4, v9, 0030 // +0007
002986: d802 0601 |002b: add-int/lit8 v2, v6, #int 1 // #01
00298a: 0126 |002d: move v6, v2
00298c: 0153 |002e: move v3, v5
00298e: 28ed |002f: goto 001c // -0013
002990: 55a2 0400 |0030: iget-boolean v2, v10, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
002994: 3802 2800 |0032: if-eqz v2, 005a // +0028
002998: d902 0407 |0034: rsub-int/lit8 v2, v4, #int 7 // #07
00299c: 9203 0702 |0036: mul-int v3, v7, v2
0029a0: d902 0607 |0038: rsub-int/lit8 v2, v6, #int 7 // #07
0029a4: b272 |003a: mul-int/2addr v2, v7
0029a6: 8238 |003b: int-to-float v8, v3
0029a8: 2e08 080b |003c: cmpg-float v8, v8, v11
0029ac: 3c08 2100 |003e: if-gtz v8, 005f // +0021
0029b0: b073 |0040: add-int/2addr v3, v7
0029b2: 8233 |0041: int-to-float v3, v3
0029b4: 2e03 0b03 |0042: cmpg-float v3, v11, v3
0029b8: 3b03 1b00 |0044: if-gez v3, 005f // +001b
0029bc: 8223 |0046: int-to-float v3, v2
0029be: 2e03 030c |0047: cmpg-float v3, v3, v12
0029c2: 3c03 1600 |0049: if-gtz v3, 005f // +0016
0029c6: b072 |004b: add-int/2addr v2, v7
0029c8: 8222 |004c: int-to-float v2, v2
0029ca: 2e02 0c02 |004d: cmpg-float v2, v12, v2
0029ce: 3b02 1000 |004f: if-gez v2, 005f // +0010
0029d2: 52a1 2800 |0051: iget v1, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
0029d6: b651 |0053: or-int/2addr v1, v5
0029d8: 59a1 2800 |0054: iput v1, v10, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
0029dc: 28c9 |0056: goto 001f // -0037
0029de: 0d00 |0057: move-exception v0
0029e0: 1e0a |0058: monitor-exit v10
0029e2: 2700 |0059: throw v0
0029e4: 9203 0704 |005a: mul-int v3, v7, v4
0029e8: 9202 0706 |005c: mul-int v2, v7, v6
0029ec: 28dd |005e: goto 003b // -0023
0029ee: e003 0501 |005f: shl-int/lit8 v3, v5, #int 1 // #01
0029f2: d802 0402 |0061: add-int/lit8 v2, v4, #int 2 // #02
0029f6: 0124 |0063: move v4, v2
0029f8: 0135 |0064: move v5, v3
0029fa: 28c4 |0065: goto 0029 // -003c
catches : 2
0x0005 - 0x0017
<any> -> 0x0057
0x0030 - 0x0056
<any> -> 0x0057
positions :
locals :
#10 : (in Lcom/google/android/checkers/CheckersView;)
name : 'b'
type : '(I)V'
access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
method_idx : 94
code -
registers : 3
ins : 2
outs : 1
insns size : 18 16-bit code units
002a10: |[002a10] com.google.android.checkers.CheckersView.b:(I)V
002a20: 1d01 |0000: monitor-enter v1
002a22: 5210 0700 |0001: iget v0, v1, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
002a26: 3220 0a00 |0003: if-eq v0, v2, 000d // +000a
002a2a: 5912 0700 |0005: iput v2, v1, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
002a2e: 7010 6400 0100 |0007: invoke-direct {v1}, Lcom/google/android/checkers/CheckersView;.d:()V // method@0064
002a34: 6e10 6d00 0100 |000a: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
002a3a: 1e01 |000d: monitor-exit v1
002a3c: 0e00 |000e: return-void
002a3e: 0d00 |000f: move-exception v0
002a40: 1e01 |0010: monitor-exit v1
002a42: 2700 |0011: throw v0
catches : 1
0x0001 - 0x000d
<any> -> 0x000f
positions :
locals :
#11 : (in Lcom/google/android/checkers/CheckersView;)
name : 'b'
type : '(Landroid/graphics/Canvas;IIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 95
code -
registers : 16
ins : 6
outs : 6
insns size : 99 16-bit code units
002a50: |[002a50] com.google.android.checkers.CheckersView.b:(Landroid/graphics/Canvas;IIII)V
002a60: df00 0cff |0000: xor-int/lit8 v0, v12, #int -1 // #ff
002a64: b5d0 |0002: and-int/2addr v0, v13
002a66: 3900 5e00 |0003: if-nez v0, 0061 // +005e
002a6a: 7110 9f00 0c00 |0005: invoke-static {v12}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
002a70: 0a02 |0008: move-result v2
002a72: d800 0cff |0009: add-int/lit8 v0, v12, #int -1 // #ff
002a76: b5c0 |000b: and-int/2addr v0, v12
002a78: 7110 9f00 0000 |000c: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
002a7e: 0a03 |000f: move-result v3
002a80: 07a0 |0010: move-object v0, v10
002a82: 07b1 |0011: move-object v1, v11
002a84: 01e4 |0012: move v4, v14
002a86: 01f5 |0013: move v5, v15
002a88: 7606 5400 0000 |0014: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054
002a8e: 0e00 |0017: return-void
002a90: 7110 9f00 0800 |0018: invoke-static {v8}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
002a96: 0a03 |001b: move-result v3
002a98: e200 0302 |001c: ushr-int/lit8 v0, v3, #int 2 // #02
002a9c: dd00 0001 |001e: and-int/lit8 v0, v0, #int 1 // #01
002aa0: 3800 3600 |0020: if-eqz v0, 0056 // +0036
002aa4: d802 03fb |0022: add-int/lit8 v2, v3, #int -5 // #fb
002aa8: d801 03fc |0024: add-int/lit8 v1, v3, #int -4 // #fc
002aac: d800 0303 |0026: add-int/lit8 v0, v3, #int 3 // #03
002ab0: d803 0304 |0028: add-int/lit8 v3, v3, #int 4 // #04
002ab4: 0106 |002a: move v6, v0
002ab6: 0117 |002b: move v7, v1
002ab8: 1210 |002c: const/4 v0, #int 1 // #1
002aba: b820 |002d: shl-int/2addr v0, v2
002abc: 1211 |002e: const/4 v1, #int 1 // #1
002abe: b831 |002f: shl-int/2addr v1, v3
002ac0: b610 |0030: or-int/2addr v0, v1
002ac2: 1211 |0031: const/4 v1, #int 1 // #1
002ac4: b871 |0032: shl-int/2addr v1, v7
002ac6: 1214 |0033: const/4 v4, #int 1 // #1
002ac8: b864 |0034: shl-int/2addr v4, v6
002aca: 9609 0104 |0035: or-int v9, v1, v4
002ace: 9501 000c |0037: and-int v1, v0, v12
002ad2: 3301 0900 |0039: if-ne v1, v0, 0042 // +0009
002ad6: 07a0 |003b: move-object v0, v10
002ad8: 07b1 |003c: move-object v1, v11
002ada: 01e4 |003d: move v4, v14
002adc: 01f5 |003e: move v5, v15
002ade: 7606 5400 0000 |003f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054
002ae4: 9500 090c |0042: and-int v0, v9, v12
002ae8: 3390 0b00 |0044: if-ne v0, v9, 004f // +000b
002aec: 07a0 |0046: move-object v0, v10
002aee: 07b1 |0047: move-object v1, v11
002af0: 0172 |0048: move v2, v7
002af2: 0163 |0049: move v3, v6
002af4: 01e4 |004a: move v4, v14
002af6: 01f5 |004b: move v5, v15
002af8: 7606 5400 0000 |004c: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIII)V // method@0054
002afe: d800 08ff |004f: add-int/lit8 v0, v8, #int -1 // #ff
002b02: b580 |0051: and-int/2addr v0, v8
002b04: 0108 |0052: move v8, v0
002b06: 3908 c5ff |0053: if-nez v8, 0018 // -003b
002b0a: 28c2 |0055: goto 0017 // -003e
002b0c: d802 03fc |0056: add-int/lit8 v2, v3, #int -4 // #fc
002b10: d801 03fd |0058: add-int/lit8 v1, v3, #int -3 // #fd
002b14: d800 0304 |005a: add-int/lit8 v0, v3, #int 4 // #04
002b18: d803 0305 |005c: add-int/lit8 v3, v3, #int 5 // #05
002b1c: 0106 |005e: move v6, v0
002b1e: 0117 |005f: move v7, v1
002b20: 28cc |0060: goto 002c // -0034
002b22: 0108 |0061: move v8, v0
002b24: 28f1 |0062: goto 0053 // -000f
catches : (none)
positions :
locals :
#12 : (in Lcom/google/android/checkers/CheckersView;)
name : 'c'
type : '(I)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 98
code -
registers : 10
ins : 2
outs : 3
insns size : 262 16-bit code units
002b28: |[002b28] com.google.android.checkers.CheckersView.c:(I)V
002b38: 1237 |0000: const/4 v7, #int 3 // #3
002b3a: 1226 |0001: const/4 v6, #int 2 // #2
002b3c: 1212 |0002: const/4 v2, #int 1 // #1
002b3e: 1201 |0003: const/4 v1, #int 0 // #0
002b40: 5280 0c00 |0004: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
002b44: 5483 0800 |0006: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
002b48: 5484 2200 |0008: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002b4c: 5244 3d00 |000a: iget v4, v4, Lcom/google/android/checkers/a;.d:I // field@003d
002b50: 4b04 0300 |000c: aput v4, v3, v0
002b54: 5483 0900 |000e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
002b58: 5484 2200 |0010: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002b5c: 5244 3e00 |0012: iget v4, v4, Lcom/google/android/checkers/a;.e:I // field@003e
002b60: 4b04 0300 |0014: aput v4, v3, v0
002b64: 5483 0a00 |0016: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
002b68: 5484 2200 |0018: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002b6c: 5244 3f00 |001a: iget v4, v4, Lcom/google/android/checkers/a;.f:I // field@003f
002b70: 4b04 0300 |001c: aput v4, v3, v0
002b74: 5483 0b00 |001e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
002b78: 5484 2200 |0020: iget-object v4, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002b7c: 5244 4000 |0022: iget v4, v4, Lcom/google/android/checkers/a;.g:I // field@0040
002b80: 4b04 0300 |0024: aput v4, v3, v0
002b84: 5280 0c00 |0026: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
002b88: 1273 |0028: const/4 v3, #int 7 // #7
002b8a: 3530 6e00 |0029: if-ge v0, v3, 0097 // +006e
002b8e: 5280 0c00 |002b: iget v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
002b92: d800 0001 |002d: add-int/lit8 v0, v0, #int 1 // #01
002b96: 5980 0c00 |002f: iput v0, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
002b9a: 5280 0d00 |0031: iget v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
002b9e: 1303 0800 |0033: const/16 v3, #int 8 // #8
002ba2: 3530 0800 |0035: if-ge v0, v3, 003d // +0008
002ba6: 5280 0d00 |0037: iget v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
002baa: d800 0001 |0039: add-int/lit8 v0, v0, #int 1 // #01
002bae: 5980 0d00 |003b: iput v0, v8, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
002bb2: 5280 2300 |003d: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002bb6: 3220 5b00 |003f: if-eq v0, v2, 009a // +005b
002bba: 5280 2300 |0041: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002bbe: 3260 5700 |0043: if-eq v0, v6, 009a // +0057
002bc2: 0110 |0045: move v0, v1
002bc4: 5981 2800 |0046: iput v1, v8, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
002bc8: 5981 2900 |0048: iput v1, v8, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
002bcc: 5483 2200 |004a: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002bd0: 5433 3b00 |004c: iget-object v3, v3, Lcom/google/android/checkers/a;.b:[I // field@003b
002bd4: 4403 0309 |004e: aget v3, v3, v9
002bd8: 5983 2a00 |0050: iput v3, v8, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
002bdc: 1403 6666 663f |0052: const v3, #float 0.9 // #3f666666
002be2: 5983 1e00 |0055: iput v3, v8, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
002be6: 3800 4500 |0057: if-eqz v0, 009c // +0045
002bea: 5483 2200 |0059: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002bee: 5433 3a00 |005b: iget-object v3, v3, Lcom/google/android/checkers/a;.a:[I // field@003a
002bf2: 4403 0309 |005d: aget v3, v3, v9
002bf6: 5284 2400 |005f: iget v4, v8, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
002bfa: 5285 2600 |0061: iget v5, v8, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
002bfe: b654 |0063: or-int/2addr v4, v5
002c00: b543 |0064: and-int/2addr v3, v4
002c02: 5983 1f00 |0065: iput v3, v8, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
002c06: 5981 2000 |0067: iput v1, v8, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
002c0a: 5483 2200 |0069: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c0e: 6e20 7c00 9300 |006b: invoke-virtual {v3, v9}, Lcom/google/android/checkers/a;.a:(I)V // method@007c
002c14: 5483 2200 |006e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c18: 5233 3d00 |0070: iget v3, v3, Lcom/google/android/checkers/a;.d:I // field@003d
002c1c: 5983 2400 |0072: iput v3, v8, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
002c20: 5483 2200 |0074: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c24: 5233 3f00 |0076: iget v3, v3, Lcom/google/android/checkers/a;.f:I // field@003f
002c28: 5983 2500 |0078: iput v3, v8, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
002c2c: 5483 2200 |007a: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c30: 5233 3e00 |007c: iget v3, v3, Lcom/google/android/checkers/a;.e:I // field@003e
002c34: 5983 2600 |007e: iput v3, v8, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
002c38: 5483 2200 |0080: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c3c: 5233 4000 |0082: iget v3, v3, Lcom/google/android/checkers/a;.g:I // field@0040
002c40: 5983 2700 |0084: iput v3, v8, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
002c44: 5c81 2b00 |0086: iput-boolean v1, v8, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
002c48: 1203 |0088: const/4 v3, #int 0 // #0
002c4a: 5b83 0f00 |0089: iput-object v3, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
002c4e: 5483 2200 |008b: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c52: 5584 0300 |008d: iget-boolean v4, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
002c56: 6e30 7a00 0304 |008f: invoke-virtual {v3, v0, v4}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
002c5c: 0a03 |0092: move-result v3
002c5e: 2b03 6900 0000 |0093: packed-switch v3, 000000fc // +00000069
002c64: 0e00 |0096: return-void
002c66: 5981 0c00 |0097: iput v1, v8, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
002c6a: 2898 |0099: goto 0031 // -0068
002c6c: 0120 |009a: move v0, v2
002c6e: 28ab |009b: goto 0046 // -0055
002c70: 5981 1f00 |009c: iput v1, v8, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
002c74: 5483 2200 |009e: iget-object v3, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002c78: 5433 3a00 |00a0: iget-object v3, v3, Lcom/google/android/checkers/a;.a:[I // field@003a
002c7c: 4403 0309 |00a2: aget v3, v3, v9
002c80: 5284 2500 |00a4: iget v4, v8, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
002c84: 5285 2700 |00a6: iget v5, v8, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
002c88: b654 |00a8: or-int/2addr v4, v5
002c8a: b543 |00a9: and-int/2addr v3, v4
002c8c: 5983 2000 |00aa: iput v3, v8, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
002c90: 28bd |00ac: goto 0069 // -0043
002c92: 3800 0800 |00ad: if-eqz v0, 00b5 // +0008
002c96: 1260 |00af: const/4 v0, #int 6 // #6
002c98: 5980 2300 |00b0: iput v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002c9c: 5981 0e00 |00b2: iput v1, v8, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
002ca0: 28e2 |00b4: goto 0096 // -001e
002ca2: 1250 |00b5: const/4 v0, #int 5 // #5
002ca4: 28fa |00b6: goto 00b0 // -0006
002ca6: 5c82 2b00 |00b7: iput-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
002caa: 5481 2200 |00b9: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002cae: 5211 3c00 |00bb: iget v1, v1, Lcom/google/android/checkers/a;.c:I // field@003c
002cb2: 5981 0e00 |00bd: iput v1, v8, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
002cb6: 5281 2300 |00bf: iget v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002cba: 3321 1800 |00c1: if-ne v1, v2, 00d9 // +0018
002cbe: 5281 2c00 |00c3: iget v1, v8, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
002cc2: 3901 0900 |00c5: if-nez v1, 00ce // +0009
002cc6: 5987 2300 |00c7: iput v7, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002cca: 1a00 d200 |00c9: const-string v0, "free play" // string@00d2
002cce: 5b80 0f00 |00cb: iput-object v0, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
002cd2: 28c9 |00cd: goto 0096 // -0037
002cd4: 1241 |00ce: const/4 v1, #int 4 // #4
002cd6: 5981 2300 |00cf: iput v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002cda: 5481 2200 |00d1: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002cde: 5582 0300 |00d3: iget-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
002ce2: 6e30 8700 0102 |00d5: invoke-virtual {v1, v0, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
002ce8: 28be |00d8: goto 0096 // -0042
002cea: 5281 2300 |00d9: iget v1, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002cee: 3371 1700 |00db: if-ne v1, v7, 00f2 // +0017
002cf2: 5281 2c00 |00dd: iget v1, v8, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
002cf6: 3901 0900 |00df: if-nez v1, 00e8 // +0009
002cfa: 5982 2300 |00e1: iput v2, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002cfe: 1a00 d200 |00e3: const-string v0, "free play" // string@00d2
002d02: 5b80 0f00 |00e5: iput-object v0, v8, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
002d06: 28af |00e7: goto 0096 // -0051
002d08: 5986 2300 |00e8: iput v6, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002d0c: 5481 2200 |00ea: iget-object v1, v8, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
002d10: 5582 0300 |00ec: iget-boolean v2, v8, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
002d14: 6e30 8700 0102 |00ee: invoke-virtual {v1, v0, v2}, Lcom/google/android/checkers/a;.b:(ZZ)V // method@0087
002d1a: 28a5 |00f1: goto 0096 // -005b
002d1c: 5280 2300 |00f2: iget v0, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002d20: 3360 0500 |00f4: if-ne v0, v6, 00f9 // +0005
002d24: 5987 2300 |00f6: iput v7, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002d28: 289e |00f8: goto 0096 // -0062
002d2a: 5982 2300 |00f9: iput v2, v8, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
002d2e: 289b |00fb: goto 0096 // -0065
002d30: 0001 0300 0000 0000 1a00 0000 2400 ... |00fc: packed-switch-data (10 units)
catches : (none)
positions :
locals :
#13 : (in Lcom/google/android/checkers/CheckersView;)
name : 'd'
type : '()V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 100
code -
registers : 6
ins : 1
outs : 5
insns size : 88 16-bit code units
002d44: |[002d44] com.google.android.checkers.CheckersView.d:()V
002d54: 1303 8b00 |0000: const/16 v3, #int 139 // #8b
002d58: 1301 cc00 |0002: const/16 v1, #int 204 // #cc
002d5c: 1304 ff00 |0004: const/16 v4, #int 255 // #ff
002d60: 5250 0700 |0006: iget v0, v5, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
002d64: 2b00 4000 0000 |0008: packed-switch v0, 00000048 // +00000040
002d6a: 0e00 |000b: return-void
002d6c: 5450 1700 |000c: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
002d70: 1301 6600 |000e: const/16 v1, #int 102 // #66
002d74: 1302 cd00 |0010: const/16 v2, #int 205 // #cd
002d78: 1303 aa00 |0012: const/16 v3, #int 170 // #aa
002d7c: 6e53 2200 4021 |0014: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
002d82: 28f4 |0017: goto 000b // -000c
002d84: 5450 1700 |0018: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
002d88: 1301 4500 |001a: const/16 v1, #int 69 // #45
002d8c: 1302 7400 |001c: const/16 v2, #int 116 // #74
002d90: 6e52 2200 4031 |001e: invoke-virtual {v0, v4, v1, v3, v2}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
002d96: 28ea |0021: goto 000b // -0016
002d98: 5450 1700 |0022: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
002d9c: 1301 1e00 |0024: const/16 v1, #int 30 // #1e
002da0: 1302 9000 |0026: const/16 v2, #int 144 // #90
002da4: 6e54 2200 4021 |0028: invoke-virtual {v0, v4, v1, v2, v4}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
002daa: 28e0 |002b: goto 000b // -0020
002dac: 5450 1700 |002c: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
002db0: 1301 8e00 |002e: const/16 v1, #int 142 // #8e
002db4: 1302 6b00 |0030: const/16 v2, #int 107 // #6b
002db8: 1303 2300 |0032: const/16 v3, #int 35 // #23
002dbc: 6e53 2200 4021 |0034: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
002dc2: 28d4 |0037: goto 000b // -002c
002dc4: 5450 1700 |0038: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
002dc8: 1301 6c00 |003a: const/16 v1, #int 108 // #6c
002dcc: 1302 7b00 |003c: const/16 v2, #int 123 // #7b
002dd0: 6e53 2200 4021 |003e: invoke-virtual {v0, v4, v1, v2, v3}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
002dd6: 28ca |0041: goto 000b // -0036
002dd8: 5450 1700 |0042: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
002ddc: 6e51 2200 4011 |0044: invoke-virtual {v0, v4, v1, v1, v1}, Landroid/graphics/Paint;.setARGB:(IIII)V // method@0022
002de2: 28c4 |0047: goto 000b // -003c
002de4: 0001 0600 0100 0000 0400 0000 1000 ... |0048: packed-switch-data (16 units)
catches : (none)
positions :
locals :
#14 : (in Lcom/google/android/checkers/CheckersView;)
name : 'e'
type : '()Z'
access : 0x0012 (PRIVATE FINAL)
method_idx : 103
code -
registers : 3
ins : 1
outs : 0
insns size : 10 16-bit code units
002e04: |[002e04] com.google.android.checkers.CheckersView.e:()Z
002e14: 5220 2500 |0000: iget v0, v2, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
002e18: 1501 f0ff |0002: const/high16 v1, #int -1048576 // #fff0
002e1c: 3310 0400 |0004: if-ne v0, v1, 0008 // +0004
002e20: 1210 |0006: const/4 v0, #int 1 // #1
002e22: 0f00 |0007: return v0
002e24: 1200 |0008: const/4 v0, #int 0 // #0
002e26: 28fe |0009: goto 0007 // -0002
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '()V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 78
code -
registers : 4
ins : 1
outs : 3
insns size : 64 16-bit code units
002e28: |[002e28] com.google.android.checkers.CheckersView.a:()V
002e38: 1270 |0000: const/4 v0, #int 7 // #7
002e3a: 2300 3800 |0001: new-array v0, v0, [Ljava/lang/CharSequence; // type@0038
002e3e: 1201 |0003: const/4 v1, #int 0 // #0
002e40: 1a02 9d00 |0004: const-string v2, "Wood" // string@009d
002e44: 4d02 0001 |0006: aput-object v2, v0, v1
002e48: 1211 |0008: const/4 v1, #int 1 // #1
002e4a: 1a02 6000 |0009: const-string v2, "Light Aquamarine" // string@0060
002e4e: 4d02 0001 |000b: aput-object v2, v0, v1
002e52: 1221 |000d: const/4 v1, #int 2 // #2
002e54: 1a02 1400 |000e: const-string v2, "Dark Aquamarine" // string@0014
002e58: 4d02 0001 |0010: aput-object v2, v0, v1
002e5c: 1231 |0012: const/4 v1, #int 3 // #3
002e5e: 1a02 0c00 |0013: const-string v2, "Blue" // string@000c
002e62: 4d02 0001 |0015: aput-object v2, v0, v1
002e66: 1241 |0017: const/4 v1, #int 4 // #4
002e68: 1a02 0e00 |0018: const-string v2, "Brown" // string@000e
002e6c: 4d02 0001 |001a: aput-object v2, v0, v1
002e70: 1251 |001c: const/4 v1, #int 5 // #5
002e72: 1a02 1a00 |001d: const-string v2, "Grey" // string@001a
002e76: 4d02 0001 |001f: aput-object v2, v0, v1
002e7a: 1261 |0021: const/4 v1, #int 6 // #6
002e7c: 1a02 6100 |0022: const-string v2, "Light Grey" // string@0061
002e80: 4d02 0001 |0024: aput-object v2, v0, v1
002e84: 2201 0500 |0026: new-instance v1, Landroid/app/AlertDialog$Builder; // type@0005
002e88: 5432 1300 |0028: iget-object v2, v3, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
002e8c: 7020 0900 2100 |002a: invoke-direct {v1, v2}, Landroid/app/AlertDialog$Builder;.<init>:(Landroid/content/Context;)V // method@0009
002e92: 1a02 0d00 |002d: const-string v2, "Board Color" // string@000d
002e96: 6e20 0f00 2100 |002f: invoke-virtual {v1, v2}, Landroid/app/AlertDialog$Builder;.setTitle:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder; // method@000f
002e9c: 0c01 |0032: move-result-object v1
002e9e: 2202 2500 |0033: new-instance v2, Lcom/google/android/checkers/f; // type@0025
002ea2: 7020 9700 3200 |0035: invoke-direct {v2, v3}, Lcom/google/android/checkers/f;.<init>:(Lcom/google/android/checkers/CheckersView;)V // method@0097
002ea8: 6e30 0b00 0102 |0038: invoke-virtual {v1, v0, v2}, Landroid/app/AlertDialog$Builder;.setItems:([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder; // method@000b
002eae: 0c00 |003b: move-result-object v0
002eb0: 6e10 1000 0000 |003c: invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;.show:()Landroid/app/AlertDialog; // method@0010
002eb6: 0e00 |003f: return-void
catches : (none)
positions :
locals :
#1 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(FF)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 79
code -
registers : 10
ins : 3
outs : 1
insns size : 113 16-bit code units
002eb8: |[002eb8] com.google.android.checkers.CheckersView.a:(FF)V
002ec8: 1206 |0000: const/4 v6, #int 0 // #0
002eca: 6e10 6a00 0700 |0001: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a
002ed0: 0a01 |0004: move-result v1
002ed2: 6e10 6900 0700 |0005: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069
002ed8: 0a02 |0008: move-result v2
002eda: 3521 4900 |0009: if-ge v1, v2, 0052 // +0049
002ede: 0110 |000b: move v0, v1
002ee0: e200 0003 |000c: ushr-int/lit8 v0, v0, #int 3 // #03
002ee4: e003 0003 |000e: shl-int/lit8 v3, v0, #int 3 // #03
002ee8: 5274 1000 |0010: iget v4, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002eec: 2e04 0604 |0012: cmpg-float v4, v6, v4
002ef0: 3c04 1600 |0014: if-gtz v4, 002a // +0016
002ef4: 5274 1000 |0016: iget v4, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002ef8: 8235 |0018: int-to-float v5, v3
002efa: 2e04 0405 |0019: cmpg-float v4, v4, v5
002efe: 3b04 0f00 |001b: if-gez v4, 002a // +000f
002f02: 5274 1100 |001d: iget v4, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f06: 2e04 0604 |001f: cmpg-float v4, v6, v4
002f0a: 3c04 0900 |0021: if-gtz v4, 002a // +0009
002f0e: 5274 1100 |0023: iget v4, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f12: 8233 |0025: int-to-float v3, v3
002f14: 2e03 0403 |0026: cmpg-float v3, v4, v3
002f18: 3a03 0400 |0028: if-ltz v3, 002c // +0004
002f1c: 1300 1000 |002a: const/16 v0, #int 16 // #10
002f20: 1d07 |002c: monitor-enter v7
002f22: 5273 1000 |002d: iget v3, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002f26: 8204 |002f: int-to-float v4, v0
002f28: c884 |0030: mul-float/2addr v4, v8
002f2a: c643 |0031: add-float/2addr v3, v4
002f2c: 5973 1000 |0032: iput v3, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002f30: 5273 1100 |0034: iget v3, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f34: 8200 |0036: int-to-float v0, v0
002f36: c890 |0037: mul-float/2addr v0, v9
002f38: c630 |0038: add-float/2addr v0, v3
002f3a: 5970 1100 |0039: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f3e: 5270 1000 |003b: iget v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002f42: 2e00 0006 |003d: cmpg-float v0, v0, v6
002f46: 3b00 1500 |003f: if-gez v0, 0054 // +0015
002f4a: 1200 |0041: const/4 v0, #int 0 // #0
002f4c: 5970 1000 |0042: iput v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002f50: 5270 1100 |0044: iget v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f54: 2e00 0006 |0046: cmpg-float v0, v0, v6
002f58: 3b00 1c00 |0048: if-gez v0, 0064 // +001c
002f5c: 1200 |004a: const/4 v0, #int 0 // #0
002f5e: 5970 1100 |004b: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f62: 1e07 |004d: monitor-exit v7
002f64: 6e10 6d00 0700 |004e: invoke-virtual {v7}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
002f6a: 0e00 |0051: return-void
002f6c: 0120 |0052: move v0, v2
002f6e: 28b9 |0053: goto 000c // -0047
002f70: 5270 1000 |0054: iget v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002f74: 8213 |0056: int-to-float v3, v1
002f76: 2d00 0003 |0057: cmpl-float v0, v0, v3
002f7a: 3a00 ebff |0059: if-ltz v0, 0044 // -0015
002f7e: d800 01ff |005b: add-int/lit8 v0, v1, #int -1 // #ff
002f82: 8200 |005d: int-to-float v0, v0
002f84: 5970 1000 |005e: iput v0, v7, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
002f88: 28e4 |0060: goto 0044 // -001c
002f8a: 0d00 |0061: move-exception v0
002f8c: 1e07 |0062: monitor-exit v7
002f8e: 2700 |0063: throw v0
002f90: 5270 1100 |0064: iget v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002f94: 8221 |0066: int-to-float v1, v2
002f96: 2d00 0001 |0067: cmpl-float v0, v0, v1
002f9a: 3a00 e4ff |0069: if-ltz v0, 004d // -001c
002f9e: d800 02ff |006b: add-int/lit8 v0, v2, #int -1 // #ff
002fa2: 8200 |006d: int-to-float v0, v0
002fa4: 5970 1100 |006e: iput v0, v7, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
002fa8: 28dd |0070: goto 004d // -0023
catches : 3
0x002d - 0x004e
<any> -> 0x0061
0x0054 - 0x0060
<any> -> 0x0061
0x0064 - 0x0070
<any> -> 0x0061
positions :
locals :
#2 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(IIII)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 80
code -
registers : 11
ins : 5
outs : 6
insns size : 16 16-bit code units
002fc8: |[002fc8] com.google.android.checkers.CheckersView.a:(IIII)V
002fd8: 1211 |0000: const/4 v1, #int 1 // #1
002fda: 0760 |0001: move-object v0, v6
002fdc: 0172 |0002: move v2, v7
002fde: 0183 |0003: move v3, v8
002fe0: 0194 |0004: move v4, v9
002fe2: 01a5 |0005: move v5, v10
002fe4: 7606 5b00 0000 |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
002fea: 0a00 |0009: move-result v0
002fec: 3800 0500 |000a: if-eqz v0, 000f // +0005
002ff0: 6e10 6d00 0600 |000c: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
002ff6: 0e00 |000f: return-void
catches : (none)
positions :
locals :
#3 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Landroid/content/SharedPreferences$Editor;)V'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 81
code -
registers : 4
ins : 2
outs : 3
insns size : 170 16-bit code units
002ff8: |[002ff8] com.google.android.checkers.CheckersView.a:(Landroid/content/SharedPreferences$Editor;)V
003008: 1d02 |0000: monitor-enter v2
00300a: 7210 1300 0300 |0001: invoke-interface {v3}, Landroid/content/SharedPreferences$Editor;.clear:()Landroid/content/SharedPreferences$Editor; // method@0013
003010: 1a00 d000 |0004: const-string v0, "format" // string@00d0
003014: 1301 2200 |0006: const/16 v1, #int 34 // #22
003018: 7230 1600 0301 |0008: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
00301e: 1a00 3101 |000b: const-string v0, "state" // string@0131
003022: 5221 2300 |000d: iget v1, v2, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
003026: 7230 1600 0301 |000f: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
00302c: 1a00 3f01 |0012: const-string v0, "wp" // string@013f
003030: 5221 2400 |0014: iget v1, v2, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
003034: 7230 1600 0301 |0016: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
00303a: 1a00 b400 |0019: const-string v0, "bp" // string@00b4
00303e: 5221 2500 |001b: iget v1, v2, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
003042: 7230 1600 0301 |001d: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003048: 1a00 3e01 |0020: const-string v0, "wk" // string@013e
00304c: 5221 2600 |0022: iget v1, v2, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
003050: 7230 1600 0301 |0024: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003056: 1a00 b300 |0027: const-string v0, "bk" // string@00b3
00305a: 5221 2700 |0029: iget v1, v2, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
00305e: 7230 1600 0301 |002b: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003064: 1a00 e800 |002e: const-string v0, "l1" // string@00e8
003068: 5221 2800 |0030: iget v1, v2, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
00306c: 7230 1600 0301 |0032: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003072: 1a00 e900 |0035: const-string v0, "l2" // string@00e9
003076: 5221 2900 |0037: iget v1, v2, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
00307a: 7230 1600 0301 |0039: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003080: 1a00 ef00 |003c: const-string v0, "lm" // string@00ef
003084: 5221 2a00 |003e: iget v1, v2, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
003088: 7230 1600 0301 |0040: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
00308e: 1a00 b800 |0043: const-string v0, "cap" // string@00b8
003092: 5521 2b00 |0045: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
003096: 7230 1500 0301 |0047: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
00309c: 1a00 ee00 |004a: const-string v0, "level" // string@00ee
0030a0: 5221 2c00 |004c: iget v1, v2, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
0030a4: 7230 1600 0301 |004e: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
0030aa: 1a00 2d01 |0051: const-string v0, "show" // string@012d
0030ae: 5521 0200 |0053: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
0030b2: 7230 1500 0301 |0055: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
0030b8: 1a00 d100 |0058: const-string v0, "free" // string@00d1
0030bc: 5521 0300 |005a: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
0030c0: 7230 1500 0301 |005c: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
0030c6: 1a00 1801 |005f: const-string v0, "rot" // string@0118
0030ca: 5521 0400 |0061: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
0030ce: 7230 1500 0301 |0063: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
0030d4: 1a00 d300 |0066: const-string v0, "full" // string@00d3
0030d8: 5521 0500 |0068: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
0030dc: 7230 1500 0301 |006a: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
0030e2: 1a00 2f01 |006d: const-string v0, "start" // string@012f
0030e6: 5521 0600 |006f: iget-boolean v1, v2, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
0030ea: 7230 1500 0301 |0071: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putBoolean:(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; // method@0015
0030f0: 1a00 bd00 |0074: const-string v0, "color" // string@00bd
0030f4: 5221 0700 |0076: iget v1, v2, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
0030f8: 7230 1600 0301 |0078: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
0030fe: 1a00 f300 |007b: const-string v0, "lwp" // string@00f3
003102: 5421 0800 |007d: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.G:[I // field@0008
003106: 7130 5200 0301 |007f: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
00310c: 1a00 f200 |0082: const-string v0, "lwk" // string@00f2
003110: 5421 0900 |0084: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.H:[I // field@0009
003114: 7130 5200 0301 |0086: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
00311a: 1a00 eb00 |0089: const-string v0, "lbp" // string@00eb
00311e: 5421 0a00 |008b: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.I:[I // field@000a
003122: 7130 5200 0301 |008d: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
003128: 1a00 ea00 |0090: const-string v0, "lbk" // string@00ea
00312c: 5421 0b00 |0092: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.J:[I // field@000b
003130: 7130 5200 0301 |0094: invoke-static {v3, v0, v1}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/content/SharedPreferences$Editor;Ljava/lang/String;[I)V // method@0052
003136: 1a00 f100 |0097: const-string v0, "lp" // string@00f1
00313a: 5221 0c00 |0099: iget v1, v2, Lcom/google/android/checkers/CheckersView;.K:I // field@000c
00313e: 7230 1600 0301 |009b: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003144: 1a00 ec00 |009e: const-string v0, "lc" // string@00ec
003148: 5221 0d00 |00a0: iget v1, v2, Lcom/google/android/checkers/CheckersView;.L:I // field@000d
00314c: 7230 1600 0301 |00a2: invoke-interface {v3, v0, v1}, Landroid/content/SharedPreferences$Editor;.putInt:(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor; // method@0016
003152: 1e02 |00a5: monitor-exit v2
003154: 0e00 |00a6: return-void
003156: 0d00 |00a7: move-exception v0
003158: 1e02 |00a8: monitor-exit v2
00315a: 2700 |00a9: throw v0
catches : 1
0x0001 - 0x00a5
<any> -> 0x00a7
positions :
locals :
#4 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(I)Z'
access : 0x0011 (PUBLIC FINAL)
method_idx : 87
code -
registers : 8
ins : 2
outs : 6
insns size : 17 16-bit code units
003168: |[003168] com.google.android.checkers.CheckersView.a:(I)Z
003178: 1201 |0000: const/4 v1, #int 0 // #0
00317a: 0760 |0001: move-object v0, v6
00317c: 0172 |0002: move v2, v7
00317e: 0113 |0003: move v3, v1
003180: 0114 |0004: move v4, v1
003182: 0115 |0005: move v5, v1
003184: 7606 5b00 0000 |0006: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
00318a: 0a00 |0009: move-result v0
00318c: 3800 0600 |000a: if-eqz v0, 0010 // +0006
003190: 6e10 6d00 0600 |000c: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
003196: 1211 |000f: const/4 v1, #int 1 // #1
003198: 0f01 |0010: return v1
catches : (none)
positions :
locals :
#5 : (in Lcom/google/android/checkers/CheckersView;)
name : 'a'
type : '(Z)Z'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 90
code -
registers : 3
ins : 2
outs : 1
insns size : 22 16-bit code units
00319c: |[00319c] com.google.android.checkers.CheckersView.a:(Z)Z
0031ac: 1d01 |0000: monitor-enter v1
0031ae: 3802 0c00 |0001: if-eqz v2, 000d // +000c
0031b2: 5510 0200 |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
0031b6: 3800 0c00 |0005: if-eqz v0, 0011 // +000c
0031ba: 1200 |0007: const/4 v0, #int 0 // #0
0031bc: 5c10 0200 |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
0031c0: 6e10 6d00 0100 |000a: invoke-virtual {v1}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
0031c6: 5510 0200 |000d: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
0031ca: 1e01 |000f: monitor-exit v1
0031cc: 0f00 |0010: return v0
0031ce: 1210 |0011: const/4 v0, #int 1 // #1
0031d0: 28f6 |0012: goto 0008 // -000a
0031d2: 0d00 |0013: move-exception v0
0031d4: 1e01 |0014: monitor-exit v1
0031d6: 2700 |0015: throw v0
catches : 1
0x0003 - 0x000f
<any> -> 0x0013
positions :
locals :
#6 : (in Lcom/google/android/checkers/CheckersView;)
name : 'b'
type : '()V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 93
code -
registers : 7
ins : 1
outs : 6
insns size : 30 16-bit code units
0031e4: |[0031e4] com.google.android.checkers.CheckersView.b:()V
0031f4: 1201 |0000: const/4 v1, #int 0 // #0
0031f6: 1d06 |0001: monitor-enter v6
0031f8: 5260 1000 |0002: iget v0, v6, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
0031fc: 5262 1100 |0004: iget v2, v6, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
003200: 7030 5c00 0602 |0006: invoke-direct {v6, v0, v2}, Lcom/google/android/checkers/CheckersView;.b:(FF)I // method@005c
003206: 0a02 |0009: move-result v2
003208: 1e06 |000a: monitor-exit v6
00320a: 3802 0f00 |000b: if-eqz v2, 001a // +000f
00320e: 0760 |000d: move-object v0, v6
003210: 0113 |000e: move v3, v1
003212: 0114 |000f: move v4, v1
003214: 0115 |0010: move v5, v1
003216: 7606 5b00 0000 |0011: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
00321c: 0a00 |0014: move-result v0
00321e: 3800 0500 |0015: if-eqz v0, 001a // +0005
003222: 6e10 6d00 0600 |0017: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
003228: 0e00 |001a: return-void
00322a: 0d00 |001b: move-exception v0
00322c: 1e06 |001c: monitor-exit v6
00322e: 2700 |001d: throw v0
catches : 1
0x0002 - 0x000b
<any> -> 0x001b
positions :
locals :
#7 : (in Lcom/google/android/checkers/CheckersView;)
name : 'b'
type : '(Z)Z'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 96
code -
registers : 7
ins : 2
outs : 3
insns size : 69 16-bit code units
00323c: |[00323c] com.google.android.checkers.CheckersView.b:(Z)Z
00324c: 1233 |0000: const/4 v3, #int 3 // #3
00324e: 1210 |0001: const/4 v0, #int 1 // #1
003250: 1201 |0002: const/4 v1, #int 0 // #0
003252: 1d05 |0003: monitor-enter v5
003254: 3806 3400 |0004: if-eqz v6, 0038 // +0034
003258: 5552 0300 |0006: iget-boolean v2, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
00325c: 3802 3400 |0008: if-eqz v2, 003c // +0034
003260: 0112 |000a: move v2, v1
003262: 5c52 0300 |000b: iput-boolean v2, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
003266: 5252 2300 |000d: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00326a: 3232 0600 |000f: if-eq v2, v3, 0015 // +0006
00326e: 5252 2300 |0011: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
003272: 3302 2500 |0013: if-ne v2, v0, 0038 // +0025
003276: 5252 2300 |0015: iget v2, v5, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00327a: 3332 2700 |0017: if-ne v2, v3, 003e // +0027
00327e: 0102 |0019: move v2, v0
003280: 1203 |001a: const/4 v3, #int 0 // #0
003282: 5953 2800 |001b: iput v3, v5, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
003286: 1203 |001d: const/4 v3, #int 0 // #0
003288: 5953 2900 |001e: iput v3, v5, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
00328c: 1203 |0020: const/4 v3, #int 0 // #0
00328e: 5953 2a00 |0021: iput v3, v5, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
003292: 5453 2200 |0023: iget-object v3, v5, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
003296: 5554 0300 |0025: iget-boolean v4, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
00329a: 6e30 7a00 2304 |0027: invoke-virtual {v3, v2, v4}, Lcom/google/android/checkers/a;.a:(ZZ)I // method@007a
0032a0: 0a02 |002a: move-result v2
0032a2: 3302 1500 |002b: if-ne v2, v0, 0040 // +0015
0032a6: 5c50 2b00 |002d: iput-boolean v0, v5, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
0032aa: 5450 2200 |002f: iget-object v0, v5, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
0032ae: 5200 3c00 |0031: iget v0, v0, Lcom/google/android/checkers/a;.c:I // field@003c
0032b2: 5950 0e00 |0033: iput v0, v5, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
0032b6: 6e10 6d00 0500 |0035: invoke-virtual {v5}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
0032bc: 5550 0300 |0038: iget-boolean v0, v5, Lcom/google/android/checkers/CheckersView;.B:Z // field@0003
0032c0: 1e05 |003a: monitor-exit v5
0032c2: 0f00 |003b: return v0
0032c4: 0102 |003c: move v2, v0
0032c6: 28ce |003d: goto 000b // -0032
0032c8: 0112 |003e: move v2, v1
0032ca: 28db |003f: goto 001a // -0025
0032cc: 0110 |0040: move v0, v1
0032ce: 28ec |0041: goto 002d // -0014
0032d0: 0d00 |0042: move-exception v0
0032d2: 1e05 |0043: monitor-exit v5
0032d4: 2700 |0044: throw v0
catches : 1
0x0006 - 0x003a
<any> -> 0x0042
positions :
locals :
#8 : (in Lcom/google/android/checkers/CheckersView;)
name : 'c'
type : '()I'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 97
code -
registers : 2
ins : 1
outs : 0
insns size : 8 16-bit code units
0032e4: |[0032e4] com.google.android.checkers.CheckersView.c:()I
0032f4: 1d01 |0000: monitor-enter v1
0032f6: 5210 2c00 |0001: iget v0, v1, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
0032fa: 1e01 |0003: monitor-exit v1
0032fc: 0f00 |0004: return v0
0032fe: 0d00 |0005: move-exception v0
003300: 1e01 |0006: monitor-exit v1
003302: 2700 |0007: throw v0
catches : 1
0x0001 - 0x0003
<any> -> 0x0005
positions :
locals :
#9 : (in Lcom/google/android/checkers/CheckersView;)
name : 'c'
type : '(Z)Z'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 99
code -
registers : 5
ins : 2
outs : 3
insns size : 34 16-bit code units
003310: |[003310] com.google.android.checkers.CheckersView.c:(Z)Z
003320: 1200 |0000: const/4 v0, #int 0 // #0
003322: 1d03 |0001: monitor-enter v3
003324: 3804 1700 |0002: if-eqz v4, 0019 // +0017
003328: 5531 0400 |0004: iget-boolean v1, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
00332c: 3801 1700 |0006: if-eqz v1, 001d // +0017
003330: 5c30 0400 |0008: iput-boolean v0, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
003334: 5430 1300 |000a: iget-object v0, v3, Lcom/google/android/checkers/CheckersView;.a:Landroid/content/Context; // field@0013
003338: 1a01 1901 |000c: const-string v1, "rotated board" // string@0119
00333c: 1202 |000e: const/4 v2, #int 0 // #0
00333e: 7130 3c00 1002 |000f: invoke-static {v0, v1, v2}, Landroid/widget/Toast;.makeText:(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; // method@003c
003344: 0c00 |0012: move-result-object v0
003346: 6e10 3d00 0000 |0013: invoke-virtual {v0}, Landroid/widget/Toast;.show:()V // method@003d
00334c: 6e10 6d00 0300 |0016: invoke-virtual {v3}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
003352: 5530 0400 |0019: iget-boolean v0, v3, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
003356: 1e03 |001b: monitor-exit v3
003358: 0f00 |001c: return v0
00335a: 1210 |001d: const/4 v0, #int 1 // #1
00335c: 28ea |001e: goto 0008 // -0016
00335e: 0d00 |001f: move-exception v0
003360: 1e03 |0020: monitor-exit v3
003362: 2700 |0021: throw v0
catches : 1
0x0004 - 0x001b
<any> -> 0x001f
positions :
locals :
#10 : (in Lcom/google/android/checkers/CheckersView;)
name : 'd'
type : '(Z)Z'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 101
code -
registers : 3
ins : 2
outs : 0
insns size : 19 16-bit code units
003370: |[003370] com.google.android.checkers.CheckersView.d:(Z)Z
003380: 1d01 |0000: monitor-enter v1
003382: 3802 0900 |0001: if-eqz v2, 000a // +0009
003386: 5510 0500 |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
00338a: 3800 0900 |0005: if-eqz v0, 000e // +0009
00338e: 1200 |0007: const/4 v0, #int 0 // #0
003390: 5c10 0500 |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
003394: 5510 0500 |000a: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.D:Z // field@0005
003398: 1e01 |000c: monitor-exit v1
00339a: 0f00 |000d: return v0
00339c: 1210 |000e: const/4 v0, #int 1 // #1
00339e: 28f9 |000f: goto 0008 // -0007
0033a0: 0d00 |0010: move-exception v0
0033a2: 1e01 |0011: monitor-exit v1
0033a4: 2700 |0012: throw v0
catches : 1
0x0003 - 0x000c
<any> -> 0x0010
positions :
locals :
#11 : (in Lcom/google/android/checkers/CheckersView;)
name : 'draw'
type : '(Landroid/graphics/Canvas;)V'
access : 0x20001 (PUBLIC DECLARED_SYNCHRONIZED)
method_idx : 102
code -
registers : 30
ins : 2
outs : 8
insns size : 1264 16-bit code units
0033b4: |[0033b4] com.google.android.checkers.CheckersView.draw:(Landroid/graphics/Canvas;)V
0033c4: 1d1c |0000: monitor-enter v28
0033c6: 7502 3800 1c00 |0001: invoke-super/range {v28, v29}, Landroid/view/View;.draw:(Landroid/graphics/Canvas;)V // method@0038
0033cc: 7401 6a00 1c00 |0004: invoke-virtual/range {v28}, Lcom/google/android/checkers/CheckersView;.getWidth:()I // method@006a
0033d2: 0a03 |0007: move-result v3
0033d4: 7401 6900 1c00 |0008: invoke-virtual/range {v28}, Lcom/google/android/checkers/CheckersView;.getHeight:()I // method@0069
0033da: 0a04 |000b: move-result v4
0033dc: 3543 bc01 |000c: if-ge v3, v4, 01c8 // +01bc
0033e0: 0132 |000e: move v2, v3
0033e2: e216 0203 |000f: ushr-int/lit8 v22, v2, #int 3 // #03
0033e6: e017 1603 |0011: shl-int/lit8 v23, v22, #int 3 // #03
0033ea: e218 1601 |0013: ushr-int/lit8 v24, v22, #int 1 // #01
0033ee: 0800 1c00 |0015: move-object/from16 v0, v28
0033f2: 5200 1d00 |0017: iget v0, v0, Lcom/google/android/checkers/CheckersView;.k:I // field@001d
0033f6: 0214 0000 |0019: move/from16 v20, v0
0033fa: db19 1403 |001b: div-int/lit8 v25, v20, #int 3 // #03
0033fe: 3543 ae01 |001d: if-ge v3, v4, 01cb // +01ae
003402: 1224 |001f: const/4 v4, #int 2 // #2
003404: da02 140b |0020: mul-int/lit8 v2, v20, #int 11 // #0b
003408: 9103 1702 |0022: sub-int v3, v23, v2
00340c: 9002 1714 |0024: add-int v2, v23, v20
003410: 0211 0200 |0026: move/from16 v17, v2
003414: 0212 0300 |0028: move/from16 v18, v3
003418: 0213 0200 |002a: move/from16 v19, v2
00341c: 0215 0400 |002c: move/from16 v21, v4
003420: 0800 1c00 |002e: move-object/from16 v0, v28
003424: 5402 1400 |0030: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
003428: 0800 1d00 |0032: move-object/from16 v0, v29
00342c: 6e20 1e00 2000 |0034: invoke-virtual {v0, v2}, Landroid/graphics/Canvas;.drawPaint:(Landroid/graphics/Paint;)V // method@001e
003432: 0800 1c00 |0037: move-object/from16 v0, v28
003436: 5202 0700 |0039: iget v2, v0, Lcom/google/android/checkers/CheckersView;.F:I // field@0007
00343a: 3902 a201 |003b: if-nez v2, 01dd // +01a2
00343e: 0800 1c00 |003d: move-object/from16 v0, v28
003442: 5407 1600 |003f: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.d:Landroid/graphics/Paint; // field@0016
003446: 0800 1c00 |0041: move-object/from16 v0, v28
00344a: 5402 2100 |0043: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021
00344e: 1203 |0045: const/4 v3, #int 0 // #0
003450: 1204 |0046: const/4 v4, #int 0 // #0
003452: 0200 1700 |0047: move/from16 v0, v23
003456: 0201 1700 |0049: move/from16 v1, v23
00345a: 6e51 2800 3204 |004b: invoke-virtual {v2, v3, v4, v0, v1}, Landroid/graphics/drawable/Drawable;.setBounds:(IIII)V // method@0028
003460: 0800 1c00 |004e: move-object/from16 v0, v28
003464: 5402 2100 |0050: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.o:Landroid/graphics/drawable/Drawable; // field@0021
003468: 0800 1d00 |0052: move-object/from16 v0, v29
00346c: 6e20 2700 0200 |0054: invoke-virtual {v2, v0}, Landroid/graphics/drawable/Drawable;.draw:(Landroid/graphics/Canvas;)V // method@0027
003472: 1202 |0057: const/4 v2, #int 0 // #0
003474: 0129 |0058: move v9, v2
003476: 1302 0800 |0059: const/16 v2, #int 8 // #8
00347a: 3429 9a01 |005b: if-lt v9, v2, 01f5 // +019a
00347e: 120d |005d: const/4 v13, #int 0 // #0
003480: 120c |005e: const/4 v12, #int 0 // #0
003482: 120b |005f: const/4 v11, #int 0 // #0
003484: 120a |0060: const/4 v10, #int 0 // #0
003486: 1213 |0061: const/4 v3, #int 1 // #1
003488: 1202 |0062: const/4 v2, #int 0 // #0
00348a: 0210 0200 |0063: move/from16 v16, v2
00348e: 1302 0800 |0065: const/16 v2, #int 8 // #8
003492: 0200 1000 |0067: move/from16 v0, v16
003496: 3420 ad01 |0069: if-lt v0, v2, 0216 // +01ad
00349a: 7601 6700 1c00 |006b: invoke-direct/range {v28}, Lcom/google/android/checkers/CheckersView;.e:()Z // method@0067
0034a0: 0a02 |006e: move-result v2
0034a2: 3802 4d03 |006f: if-eqz v2, 03bc // +034d
0034a6: 1a02 1100 |0071: const-string v2, "Checkers for Android" // string@0011
0034aa: 0200 1500 |0073: move/from16 v0, v21
0034ae: 8203 |0075: int-to-float v3, v0
0034b0: 0200 1300 |0076: move/from16 v0, v19
0034b4: 8204 |0078: int-to-float v4, v0
0034b6: 0800 1c00 |0079: move-object/from16 v0, v28
0034ba: 5405 1500 |007b: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
0034be: 0800 1d00 |007d: move-object/from16 v0, v29
0034c2: 6e55 2000 2043 |007f: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
0034c8: 1a02 b500 |0082: const-string v2, "by Aart J.C. Bik" // string@00b5
0034cc: 0200 1500 |0084: move/from16 v0, v21
0034d0: 8203 |0086: int-to-float v3, v0
0034d2: 9004 1314 |0087: add-int v4, v19, v20
0034d6: 8244 |0089: int-to-float v4, v4
0034d8: 0800 1c00 |008a: move-object/from16 v0, v28
0034dc: 5405 1500 |008c: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
0034e0: 0800 1d00 |008e: move-object/from16 v0, v29
0034e4: 6e55 2000 2043 |0090: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
0034ea: 6302 6a00 |0093: sget-boolean v2, Lcom/google/android/checkers/g;.r:Z // field@006a
0034ee: 3902 1500 |0095: if-nez v2, 00aa // +0015
0034f2: 1a02 f800 |0097: const-string v2, "no endgame TBs" // string@00f8
0034f6: 0200 1500 |0099: move/from16 v0, v21
0034fa: 8203 |009b: int-to-float v3, v0
0034fc: da04 1402 |009c: mul-int/lit8 v4, v20, #int 2 // #02
003500: 9004 0413 |009e: add-int v4, v4, v19
003504: 8244 |00a0: int-to-float v4, v4
003506: 0800 1c00 |00a1: move-object/from16 v0, v28
00350a: 5405 1500 |00a3: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
00350e: 0800 1d00 |00a5: move-object/from16 v0, v29
003512: 6e55 2000 2043 |00a7: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003518: 0800 1c00 |00aa: move-object/from16 v0, v28
00351c: 5502 2b00 |00ac: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.y:Z // field@002b
003520: 3802 1300 |00ae: if-eqz v2, 00c1 // +0013
003524: 1a02 7000 |00b0: const-string v2, "MUST CAPTURE" // string@0070
003528: 0200 1200 |00b2: move/from16 v0, v18
00352c: 8203 |00b4: int-to-float v3, v0
00352e: 0200 1100 |00b5: move/from16 v0, v17
003532: 8204 |00b7: int-to-float v4, v0
003534: 0800 1c00 |00b8: move-object/from16 v0, v28
003538: 5405 1800 |00ba: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
00353c: 0800 1d00 |00bc: move-object/from16 v0, v29
003540: 6e55 2000 2043 |00be: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003546: 0800 1c00 |00c1: move-object/from16 v0, v28
00354a: 5202 2300 |00c3: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
00354e: 2b02 1b04 0000 |00c5: packed-switch v2, 000004e0 // +0000041b
003554: 0800 1c00 |00c8: move-object/from16 v0, v28
003558: 5502 0200 |00ca: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
00355c: 3802 2600 |00cc: if-eqz v2, 00f2 // +0026
003560: 0800 1c00 |00ce: move-object/from16 v0, v28
003564: 5202 2300 |00d0: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
003568: 1213 |00d2: const/4 v3, #int 1 // #1
00356a: 3232 0900 |00d3: if-eq v2, v3, 00dc // +0009
00356e: 0800 1c00 |00d5: move-object/from16 v0, v28
003572: 5202 2300 |00d7: iget v2, v0, Lcom/google/android/checkers/CheckersView;.q:I // field@0023
003576: 1233 |00d9: const/4 v3, #int 3 // #3
003578: 3332 1800 |00da: if-ne v2, v3, 00f2 // +0018
00357c: 0800 1c00 |00dc: move-object/from16 v0, v28
003580: 5402 2200 |00de: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
003584: 5229 3c00 |00e0: iget v9, v2, Lcom/google/android/checkers/a;.c:I // field@003c
003588: 0800 1c00 |00e2: move-object/from16 v0, v28
00358c: 5402 2200 |00e4: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
003590: 542a 3b00 |00e6: iget-object v10, v2, Lcom/google/android/checkers/a;.b:[I // field@003b
003594: 0800 1c00 |00e8: move-object/from16 v0, v28
003598: 5402 2200 |00ea: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
00359c: 542b 3a00 |00ec: iget-object v11, v2, Lcom/google/android/checkers/a;.a:[I // field@003a
0035a0: 1202 |00ee: const/4 v2, #int 0 // #0
0035a2: 0128 |00ef: move v8, v2
0035a4: 3498 dc03 |00f0: if-lt v8, v9, 04cc // +03dc
0035a8: 0800 1c00 |00f2: move-object/from16 v0, v28
0035ac: 5402 0f00 |00f4: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0035b0: 3802 1700 |00f6: if-eqz v2, 010d // +0017
0035b4: 0800 1c00 |00f8: move-object/from16 v0, v28
0035b8: 5402 0f00 |00fa: iget-object v2, v0, Lcom/google/android/checkers/CheckersView;.N:Ljava/lang/String; // field@000f
0035bc: 0200 1200 |00fc: move/from16 v0, v18
0035c0: 8203 |00fe: int-to-float v3, v0
0035c2: da04 1402 |00ff: mul-int/lit8 v4, v20, #int 2 // #02
0035c6: 9004 0411 |0101: add-int v4, v4, v17
0035ca: 8244 |0103: int-to-float v4, v4
0035cc: 0800 1c00 |0104: move-object/from16 v0, v28
0035d0: 5405 1b00 |0106: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
0035d4: 0800 1d00 |0108: move-object/from16 v0, v29
0035d8: 6e55 2000 2043 |010a: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
0035de: 1202 |010d: const/4 v2, #int 0 // #0
0035e0: 1203 |010e: const/4 v3, #int 0 // #0
0035e2: 0800 1c00 |010f: move-object/from16 v0, v28
0035e6: 5204 1000 |0111: iget v4, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
0035ea: 2e03 0304 |0113: cmpg-float v3, v3, v4
0035ee: 3c03 5100 |0115: if-gtz v3, 0166 // +0051
0035f2: 0800 1c00 |0117: move-object/from16 v0, v28
0035f6: 5203 1000 |0119: iget v3, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
0035fa: 0200 1700 |011b: move/from16 v0, v23
0035fe: 8204 |011d: int-to-float v4, v0
003600: 2e03 0304 |011e: cmpg-float v3, v3, v4
003604: 3b03 4600 |0120: if-gez v3, 0166 // +0046
003608: 1203 |0122: const/4 v3, #int 0 // #0
00360a: 0800 1c00 |0123: move-object/from16 v0, v28
00360e: 5204 1100 |0125: iget v4, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
003612: 2e03 0304 |0127: cmpg-float v3, v3, v4
003616: 3c03 3d00 |0129: if-gtz v3, 0166 // +003d
00361a: 0800 1c00 |012b: move-object/from16 v0, v28
00361e: 5203 1100 |012d: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
003622: 0200 1700 |012f: move/from16 v0, v23
003626: 8204 |0131: int-to-float v4, v0
003628: 2e03 0304 |0132: cmpg-float v3, v3, v4
00362c: 3b03 3200 |0134: if-gez v3, 0166 // +0032
003630: 0800 1c00 |0136: move-object/from16 v0, v28
003634: 5203 1000 |0138: iget v3, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
003638: 8733 |013a: float-to-int v3, v3
00363a: 9303 0316 |013b: div-int v3, v3, v22
00363e: 0800 1c00 |013d: move-object/from16 v0, v28
003642: 5204 1100 |013f: iget v4, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
003646: 8744 |0141: float-to-int v4, v4
003648: 9304 0416 |0142: div-int v4, v4, v22
00364c: 3a03 2200 |0144: if-ltz v3, 0166 // +0022
003650: 1305 0800 |0146: const/16 v5, #int 8 // #8
003654: 3553 1e00 |0148: if-ge v3, v5, 0166 // +001e
003658: 3a04 1c00 |014a: if-ltz v4, 0166 // +001c
00365c: 1305 0800 |014c: const/16 v5, #int 8 // #8
003660: 3554 1800 |014e: if-ge v4, v5, 0166 // +0018
003664: 9202 1603 |0150: mul-int v2, v22, v3
003668: 9206 1604 |0152: mul-int v6, v22, v4
00366c: 8223 |0154: int-to-float v3, v2
00366e: 8264 |0155: int-to-float v4, v6
003670: 9002 0216 |0156: add-int v2, v2, v22
003674: 8225 |0158: int-to-float v5, v2
003676: 9002 0616 |0159: add-int v2, v6, v22
00367a: 8226 |015b: int-to-float v6, v2
00367c: 0800 1c00 |015c: move-object/from16 v0, v28
003680: 5407 1c00 |015e: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.j:Landroid/graphics/Paint; // field@001c
003684: 0802 1d00 |0160: move-object/from16 v2, v29
003688: 7406 1f00 0200 |0162: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
00368e: 1212 |0165: const/4 v2, #int 1 // #1
003690: 3902 2800 |0166: if-nez v2, 018e // +0028
003694: 0800 1c00 |0168: move-object/from16 v0, v28
003698: 5202 1000 |016a: iget v2, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
00369c: 0800 1c00 |016c: move-object/from16 v0, v28
0036a0: 5203 1100 |016e: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
0036a4: 1504 a040 |0170: const/high16 v4, #int 1084227584 // #40a0
0036a8: 0800 1c00 |0172: move-object/from16 v0, v28
0036ac: 5405 1500 |0174: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
0036b0: 0800 1d00 |0176: move-object/from16 v0, v29
0036b4: 6e55 1c00 2043 |0178: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0036ba: 0800 1c00 |017b: move-object/from16 v0, v28
0036be: 5202 1000 |017d: iget v2, v0, Lcom/google/android/checkers/CheckersView;.O:F // field@0010
0036c2: 0800 1c00 |017f: move-object/from16 v0, v28
0036c6: 5203 1100 |0181: iget v3, v0, Lcom/google/android/checkers/CheckersView;.P:F // field@0011
0036ca: 1504 4040 |0183: const/high16 v4, #int 1077936128 // #4040
0036ce: 0800 1c00 |0185: move-object/from16 v0, v28
0036d2: 5405 1400 |0187: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
0036d6: 0800 1d00 |0189: move-object/from16 v0, v29
0036da: 6e55 1c00 2043 |018b: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
0036e0: 0800 1c00 |018e: move-object/from16 v0, v28
0036e4: 5202 1e00 |0190: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
0036e8: 1203 |0192: const/4 v3, #int 0 // #0
0036ea: 2d02 0203 |0193: cmpl-float v2, v2, v3
0036ee: 3d02 3100 |0195: if-lez v2, 01c6 // +0031
0036f2: 0800 1c00 |0197: move-object/from16 v0, v28
0036f6: 5202 1e00 |0199: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
0036fa: 8922 |019b: float-to-double v2, v2
0036fc: 1804 9a99 9999 9999 a93f |019c: const-wide v4, #double 0.05 // #3fa999999999999a
003706: cc42 |01a1: sub-double/2addr v2, v4
003708: 8c22 |01a2: double-to-float v2, v2
00370a: 0800 1c00 |01a3: move-object/from16 v0, v28
00370e: 5902 1e00 |01a5: iput v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
003712: 0800 1c00 |01a7: move-object/from16 v0, v28
003716: 5202 1e00 |01a9: iget v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
00371a: 1203 |01ab: const/4 v3, #int 0 // #0
00371c: 2e02 0203 |01ac: cmpg-float v2, v2, v3
003720: 3c02 1100 |01ae: if-gtz v2, 01bf // +0011
003724: 1202 |01b0: const/4 v2, #int 0 // #0
003726: 0800 1c00 |01b1: move-object/from16 v0, v28
00372a: 5902 1e00 |01b3: iput v2, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
00372e: 1202 |01b5: const/4 v2, #int 0 // #0
003730: 0800 1c00 |01b6: move-object/from16 v0, v28
003734: 5902 1f00 |01b8: iput v2, v0, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
003738: 1202 |01ba: const/4 v2, #int 0 // #0
00373a: 0800 1c00 |01bb: move-object/from16 v0, v28
00373e: 5902 2000 |01bd: iput v2, v0, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
003742: 1602 3200 |01bf: const-wide/16 v2, #int 50 // #32
003746: 0800 1c00 |01c1: move-object/from16 v0, v28
00374a: 6e30 6e00 2003 |01c3: invoke-virtual {v0, v2, v3}, Lcom/google/android/checkers/CheckersView;.postInvalidateDelayed:(J)V // method@006e
003750: 1e1c |01c6: monitor-exit v28
003752: 0e00 |01c7: return-void
003754: 0142 |01c8: move v2, v4
003756: 2900 46fe |01c9: goto/16 000f // -01ba
00375a: d803 1702 |01cb: add-int/lit8 v3, v23, #int 2 // #02
00375e: da02 1402 |01cd: mul-int/lit8 v2, v20, #int 2 // #02
003762: 9102 1702 |01cf: sub-int v2, v23, v2
003766: 9102 0219 |01d1: sub-int v2, v2, v25
00376a: 0211 0200 |01d3: move/from16 v17, v2
00376e: 0212 0300 |01d5: move/from16 v18, v3
003772: 0213 1400 |01d7: move/from16 v19, v20
003776: 0215 0300 |01d9: move/from16 v21, v3
00377a: 2900 53fe |01db: goto/16 002e // -01ad
00377e: 0800 1c00 |01dd: move-object/from16 v0, v28
003782: 5408 1500 |01df: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003786: 1203 |01e1: const/4 v3, #int 0 // #0
003788: 1204 |01e2: const/4 v4, #int 0 // #0
00378a: 0200 1700 |01e3: move/from16 v0, v23
00378e: 8205 |01e5: int-to-float v5, v0
003790: 0200 1700 |01e6: move/from16 v0, v23
003794: 8206 |01e8: int-to-float v6, v0
003796: 0800 1c00 |01e9: move-object/from16 v0, v28
00379a: 5407 1700 |01eb: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.e:Landroid/graphics/Paint; // field@0017
00379e: 0802 1d00 |01ed: move-object/from16 v2, v29
0037a2: 7406 1f00 0200 |01ef: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
0037a8: 0787 |01f2: move-object v7, v8
0037aa: 2900 64fe |01f3: goto/16 0057 // -019c
0037ae: 920a 1609 |01f5: mul-int v10, v22, v9
0037b2: dd02 0901 |01f7: and-int/lit8 v2, v9, #int 1 // #01
0037b6: 0128 |01f9: move v8, v2
0037b8: 1302 0800 |01fa: const/16 v2, #int 8 // #8
0037bc: 3428 0700 |01fc: if-lt v8, v2, 0203 // +0007
0037c0: d802 0901 |01fe: add-int/lit8 v2, v9, #int 1 // #01
0037c4: 0129 |0200: move v9, v2
0037c6: 2900 58fe |0201: goto/16 0059 // -01a8
0037ca: 9202 1608 |0203: mul-int v2, v22, v8
0037ce: 82a3 |0205: int-to-float v3, v10
0037d0: 8224 |0206: int-to-float v4, v2
0037d2: 9005 0a16 |0207: add-int v5, v10, v22
0037d6: 8255 |0209: int-to-float v5, v5
0037d8: 9002 0216 |020a: add-int v2, v2, v22
0037dc: 8226 |020c: int-to-float v6, v2
0037de: 0802 1d00 |020d: move-object/from16 v2, v29
0037e2: 7406 1f00 0200 |020f: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
0037e8: d802 0802 |0212: add-int/lit8 v2, v8, #int 2 // #02
0037ec: 0128 |0214: move v8, v2
0037ee: 28e5 |0215: goto 01fa // -001b
0037f0: d902 1001 |0216: rsub-int/lit8 v2, v16, #int 1 // #01
0037f4: dd02 0201 |0218: and-int/lit8 v2, v2, #int 1 // #01
0037f8: 012e |021a: move v14, v2
0037fa: 013f |021b: move v15, v3
0037fc: 1302 0800 |021c: const/16 v2, #int 8 // #8
003800: 342e 0900 |021e: if-lt v14, v2, 0227 // +0009
003804: d802 1001 |0220: add-int/lit8 v2, v16, #int 1 // #01
003808: 0210 0200 |0222: move/from16 v16, v2
00380c: 01f3 |0224: move v3, v15
00380e: 2900 40fe |0225: goto/16 0065 // -01c0
003812: 0800 1c00 |0227: move-object/from16 v0, v28
003816: 5502 0400 |0229: iget-boolean v2, v0, Lcom/google/android/checkers/CheckersView;.C:Z // field@0004
00381a: 3802 5d00 |022b: if-eqz v2, 0288 // +005d
00381e: d902 0e07 |022d: rsub-int/lit8 v2, v14, #int 7 // #07
003822: 9203 1602 |022f: mul-int v3, v22, v2
003826: d902 1007 |0231: rsub-int/lit8 v2, v16, #int 7 // #07
00382a: 9202 0216 |0233: mul-int v2, v2, v22
00382e: 0135 |0235: move v5, v3
003830: 901a 1805 |0236: add-int v26, v24, v5
003834: 901b 1802 |0238: add-int v27, v24, v2
003838: 0800 1c00 |023a: move-object/from16 v0, v28
00383c: 5203 2800 |023c: iget v3, v0, Lcom/google/android/checkers/CheckersView;.v:I // field@0028
003840: b5f3 |023e: and-int/2addr v3, v15
003842: 3803 4f00 |023f: if-eqz v3, 028e // +004f
003846: d803 0501 |0241: add-int/lit8 v3, v5, #int 1 // #01
00384a: 8233 |0243: int-to-float v3, v3
00384c: d804 0201 |0244: add-int/lit8 v4, v2, #int 1 // #01
003850: 8244 |0246: int-to-float v4, v4
003852: 9005 0516 |0247: add-int v5, v5, v22
003856: d805 05ff |0249: add-int/lit8 v5, v5, #int -1 // #ff
00385a: 8255 |024b: int-to-float v5, v5
00385c: 9002 0216 |024c: add-int v2, v2, v22
003860: d802 02ff |024e: add-int/lit8 v2, v2, #int -1 // #ff
003864: 8226 |0250: int-to-float v6, v2
003866: 0800 1c00 |0251: move-object/from16 v0, v28
00386a: 5407 1800 |0253: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
00386e: 0802 1d00 |0255: move-object/from16 v2, v29
003872: 7406 1f00 0200 |0257: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
003878: 0800 1c00 |025a: move-object/from16 v0, v28
00387c: 5202 2400 |025c: iget v2, v0, Lcom/google/android/checkers/CheckersView;.r:I // field@0024
003880: b5f2 |025e: and-int/2addr v2, v15
003882: 3802 7a00 |025f: if-eqz v2, 02d9 // +007a
003886: 0800 1c00 |0261: move-object/from16 v0, v28
00388a: 5407 1400 |0263: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
00388e: 0800 1c00 |0265: move-object/from16 v0, v28
003892: 5408 1500 |0267: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003896: 1209 |0269: const/4 v9, #int 0 // #0
003898: 0802 1d00 |026a: move-object/from16 v2, v29
00389c: 0203 1a00 |026c: move/from16 v3, v26
0038a0: 0204 1b00 |026e: move/from16 v4, v27
0038a4: 0205 1800 |0270: move/from16 v5, v24
0038a8: 0206 1900 |0272: move/from16 v6, v25
0038ac: 7708 5500 0200 |0274: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
0038b2: d802 0d01 |0277: add-int/lit8 v2, v13, #int 1 // #01
0038b6: 01b3 |0279: move v3, v11
0038b8: 01c4 |027a: move v4, v12
0038ba: 0125 |027b: move v5, v2
0038bc: 01a2 |027c: move v2, v10
0038be: e007 0f01 |027d: shl-int/lit8 v7, v15, #int 1 // #01
0038c2: d806 0e02 |027f: add-int/lit8 v6, v14, #int 2 // #02
0038c6: 016e |0281: move v14, v6
0038c8: 012a |0282: move v10, v2
0038ca: 013b |0283: move v11, v3
0038cc: 014c |0284: move v12, v4
0038ce: 015d |0285: move v13, v5
0038d0: 017f |0286: move v15, v7
0038d2: 2895 |0287: goto 021c // -006b
0038d4: 9203 160e |0288: mul-int v3, v22, v14
0038d8: 9202 1610 |028a: mul-int v2, v22, v16
0038dc: 0135 |028c: move v5, v3
0038de: 28a9 |028d: goto 0236 // -0057
0038e0: 0800 1c00 |028e: move-object/from16 v0, v28
0038e4: 5203 2900 |0290: iget v3, v0, Lcom/google/android/checkers/CheckersView;.w:I // field@0029
0038e8: b5f3 |0292: and-int/2addr v3, v15
0038ea: 3803 1f00 |0293: if-eqz v3, 02b2 // +001f
0038ee: d803 0501 |0295: add-int/lit8 v3, v5, #int 1 // #01
0038f2: 8233 |0297: int-to-float v3, v3
0038f4: d804 0201 |0298: add-int/lit8 v4, v2, #int 1 // #01
0038f8: 8244 |029a: int-to-float v4, v4
0038fa: 9005 0516 |029b: add-int v5, v5, v22
0038fe: d805 05ff |029d: add-int/lit8 v5, v5, #int -1 // #ff
003902: 8255 |029f: int-to-float v5, v5
003904: 9002 0216 |02a0: add-int v2, v2, v22
003908: d802 02ff |02a2: add-int/lit8 v2, v2, #int -1 // #ff
00390c: 8226 |02a4: int-to-float v6, v2
00390e: 0800 1c00 |02a5: move-object/from16 v0, v28
003912: 5407 1900 |02a7: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.g:Landroid/graphics/Paint; // field@0019
003916: 0802 1d00 |02a9: move-object/from16 v2, v29
00391a: 7406 1f00 0200 |02ab: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
003920: 28ac |02ae: goto 025a // -0054
003922: 0d02 |02af: move-exception v2
003924: 1e1c |02b0: monitor-exit v28
003926: 2702 |02b1: throw v2
003928: 0800 1c00 |02b2: move-object/from16 v0, v28
00392c: 5503 0200 |02b4: iget-boolean v3, v0, Lcom/google/android/checkers/CheckersView;.A:Z // field@0002
003930: 3803 a4ff |02b6: if-eqz v3, 025a // -005c
003934: 0800 1c00 |02b8: move-object/from16 v0, v28
003938: 5203 2a00 |02ba: iget v3, v0, Lcom/google/android/checkers/CheckersView;.x:I // field@002a
00393c: b5f3 |02bc: and-int/2addr v3, v15
00393e: 3803 9dff |02bd: if-eqz v3, 025a // -0063
003942: d803 0501 |02bf: add-int/lit8 v3, v5, #int 1 // #01
003946: 8233 |02c1: int-to-float v3, v3
003948: d804 0201 |02c2: add-int/lit8 v4, v2, #int 1 // #01
00394c: 8244 |02c4: int-to-float v4, v4
00394e: 9005 0516 |02c5: add-int v5, v5, v22
003952: d805 05ff |02c7: add-int/lit8 v5, v5, #int -1 // #ff
003956: 8255 |02c9: int-to-float v5, v5
003958: 9002 0216 |02ca: add-int v2, v2, v22
00395c: d802 02ff |02cc: add-int/lit8 v2, v2, #int -1 // #ff
003960: 8226 |02ce: int-to-float v6, v2
003962: 0800 1c00 |02cf: move-object/from16 v0, v28
003966: 5407 1b00 |02d1: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
00396a: 0802 1d00 |02d3: move-object/from16 v2, v29
00396e: 7406 1f00 0200 |02d5: invoke-virtual/range {v2, v3, v4, v5, v6, v7}, Landroid/graphics/Canvas;.drawRect:(FFFFLandroid/graphics/Paint;)V // method@001f
003974: 2882 |02d8: goto 025a // -007e
003976: 0800 1c00 |02d9: move-object/from16 v0, v28
00397a: 5202 2500 |02db: iget v2, v0, Lcom/google/android/checkers/CheckersView;.s:I // field@0025
00397e: b5f2 |02dd: and-int/2addr v2, v15
003980: 3802 1f00 |02de: if-eqz v2, 02fd // +001f
003984: 0800 1c00 |02e0: move-object/from16 v0, v28
003988: 5407 1500 |02e2: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
00398c: 0800 1c00 |02e4: move-object/from16 v0, v28
003990: 5408 1400 |02e6: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
003994: 1209 |02e8: const/4 v9, #int 0 // #0
003996: 0802 1d00 |02e9: move-object/from16 v2, v29
00399a: 0203 1a00 |02eb: move/from16 v3, v26
00399e: 0204 1b00 |02ed: move/from16 v4, v27
0039a2: 0205 1800 |02ef: move/from16 v5, v24
0039a6: 0206 1900 |02f1: move/from16 v6, v25
0039aa: 7708 5500 0200 |02f3: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
0039b0: d802 0b01 |02f6: add-int/lit8 v2, v11, #int 1 // #01
0039b4: 0123 |02f8: move v3, v2
0039b6: 01c4 |02f9: move v4, v12
0039b8: 01d5 |02fa: move v5, v13
0039ba: 01a2 |02fb: move v2, v10
0039bc: 2881 |02fc: goto 027d // -007f
0039be: 0800 1c00 |02fd: move-object/from16 v0, v28
0039c2: 5202 2600 |02ff: iget v2, v0, Lcom/google/android/checkers/CheckersView;.t:I // field@0026
0039c6: b5f2 |0301: and-int/2addr v2, v15
0039c8: 3802 2000 |0302: if-eqz v2, 0322 // +0020
0039cc: 0800 1c00 |0304: move-object/from16 v0, v28
0039d0: 5407 1400 |0306: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
0039d4: 0800 1c00 |0308: move-object/from16 v0, v28
0039d8: 5408 1500 |030a: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
0039dc: 1219 |030c: const/4 v9, #int 1 // #1
0039de: 0802 1d00 |030d: move-object/from16 v2, v29
0039e2: 0203 1a00 |030f: move/from16 v3, v26
0039e6: 0204 1b00 |0311: move/from16 v4, v27
0039ea: 0205 1800 |0313: move/from16 v5, v24
0039ee: 0206 1900 |0315: move/from16 v6, v25
0039f2: 7708 5500 0200 |0317: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
0039f8: d802 0c01 |031a: add-int/lit8 v2, v12, #int 1 // #01
0039fc: 01b3 |031c: move v3, v11
0039fe: 0124 |031d: move v4, v2
003a00: 01d5 |031e: move v5, v13
003a02: 01a2 |031f: move v2, v10
003a04: 2900 5dff |0320: goto/16 027d // -00a3
003a08: 0800 1c00 |0322: move-object/from16 v0, v28
003a0c: 5202 2700 |0324: iget v2, v0, Lcom/google/android/checkers/CheckersView;.u:I // field@0027
003a10: b5f2 |0326: and-int/2addr v2, v15
003a12: 3802 1f00 |0327: if-eqz v2, 0346 // +001f
003a16: 0800 1c00 |0329: move-object/from16 v0, v28
003a1a: 5407 1500 |032b: iget-object v7, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003a1e: 0800 1c00 |032d: move-object/from16 v0, v28
003a22: 5408 1400 |032f: iget-object v8, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
003a26: 1219 |0331: const/4 v9, #int 1 // #1
003a28: 0802 1d00 |0332: move-object/from16 v2, v29
003a2c: 0203 1a00 |0334: move/from16 v3, v26
003a30: 0204 1b00 |0336: move/from16 v4, v27
003a34: 0205 1800 |0338: move/from16 v5, v24
003a38: 0206 1900 |033a: move/from16 v6, v25
003a3c: 7708 5500 0200 |033c: invoke-static/range {v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/CheckersView;.a:(Landroid/graphics/Canvas;IIIILandroid/graphics/Paint;Landroid/graphics/Paint;Z)V // method@0055
003a42: d802 0a01 |033f: add-int/lit8 v2, v10, #int 1 // #01
003a46: 01b3 |0341: move v3, v11
003a48: 01c4 |0342: move v4, v12
003a4a: 01d5 |0343: move v5, v13
003a4c: 2900 39ff |0344: goto/16 027d // -00c7
003a50: 0800 1c00 |0346: move-object/from16 v0, v28
003a54: 5202 2000 |0348: iget v2, v0, Lcom/google/android/checkers/CheckersView;.n:I // field@0020
003a58: b5f2 |034a: and-int/2addr v2, v15
003a5a: 3802 3600 |034b: if-eqz v2, 0381 // +0036
003a5e: 0200 1a00 |034d: move/from16 v0, v26
003a62: 8202 |034f: int-to-float v2, v0
003a64: 0200 1b00 |0350: move/from16 v0, v27
003a68: 8203 |0352: int-to-float v3, v0
003a6a: d804 18fe |0353: add-int/lit8 v4, v24, #int -2 // #fe
003a6e: 8244 |0355: int-to-float v4, v4
003a70: 0800 1c00 |0356: move-object/from16 v0, v28
003a74: 5205 1e00 |0358: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
003a78: c854 |035a: mul-float/2addr v4, v5
003a7a: 0800 1c00 |035b: move-object/from16 v0, v28
003a7e: 5405 1500 |035d: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003a82: 0800 1d00 |035f: move-object/from16 v0, v29
003a86: 6e55 1c00 2043 |0361: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
003a8c: 0200 1a00 |0364: move/from16 v0, v26
003a90: 8202 |0366: int-to-float v2, v0
003a92: 0200 1b00 |0367: move/from16 v0, v27
003a96: 8203 |0369: int-to-float v3, v0
003a98: d804 18fc |036a: add-int/lit8 v4, v24, #int -4 // #fc
003a9c: 8244 |036c: int-to-float v4, v4
003a9e: 0800 1c00 |036d: move-object/from16 v0, v28
003aa2: 5205 1e00 |036f: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
003aa6: c854 |0371: mul-float/2addr v4, v5
003aa8: 0800 1c00 |0372: move-object/from16 v0, v28
003aac: 5405 1400 |0374: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
003ab0: 0800 1d00 |0376: move-object/from16 v0, v29
003ab4: 6e55 1c00 2043 |0378: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
003aba: 01a2 |037b: move v2, v10
003abc: 01b3 |037c: move v3, v11
003abe: 01c4 |037d: move v4, v12
003ac0: 01d5 |037e: move v5, v13
003ac2: 2900 fefe |037f: goto/16 027d // -0102
003ac6: 0800 1c00 |0381: move-object/from16 v0, v28
003aca: 5202 1f00 |0383: iget v2, v0, Lcom/google/android/checkers/CheckersView;.m:I // field@001f
003ace: b5f2 |0385: and-int/2addr v2, v15
003ad0: 3802 3000 |0386: if-eqz v2, 03b6 // +0030
003ad4: 0200 1a00 |0388: move/from16 v0, v26
003ad8: 8202 |038a: int-to-float v2, v0
003ada: 0200 1b00 |038b: move/from16 v0, v27
003ade: 8203 |038d: int-to-float v3, v0
003ae0: d804 18fe |038e: add-int/lit8 v4, v24, #int -2 // #fe
003ae4: 8244 |0390: int-to-float v4, v4
003ae6: 0800 1c00 |0391: move-object/from16 v0, v28
003aea: 5205 1e00 |0393: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
003aee: c854 |0395: mul-float/2addr v4, v5
003af0: 0800 1c00 |0396: move-object/from16 v0, v28
003af4: 5405 1400 |0398: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
003af8: 0800 1d00 |039a: move-object/from16 v0, v29
003afc: 6e55 1c00 2043 |039c: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
003b02: 0200 1a00 |039f: move/from16 v0, v26
003b06: 8202 |03a1: int-to-float v2, v0
003b08: 0200 1b00 |03a2: move/from16 v0, v27
003b0c: 8203 |03a4: int-to-float v3, v0
003b0e: d804 18fc |03a5: add-int/lit8 v4, v24, #int -4 // #fc
003b12: 8244 |03a7: int-to-float v4, v4
003b14: 0800 1c00 |03a8: move-object/from16 v0, v28
003b18: 5205 1e00 |03aa: iget v5, v0, Lcom/google/android/checkers/CheckersView;.l:F // field@001e
003b1c: c854 |03ac: mul-float/2addr v4, v5
003b1e: 0800 1c00 |03ad: move-object/from16 v0, v28
003b22: 5405 1500 |03af: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003b26: 0800 1d00 |03b1: move-object/from16 v0, v29
003b2a: 6e55 1c00 2043 |03b3: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawCircle:(FFFLandroid/graphics/Paint;)V // method@001c
003b30: 01a2 |03b6: move v2, v10
003b32: 01b3 |03b7: move v3, v11
003b34: 01c4 |03b8: move v4, v12
003b36: 01d5 |03b9: move v5, v13
003b38: 2900 c3fe |03ba: goto/16 027d // -013d
003b3c: 1a02 9c00 |03bc: const-string v2, "White" // string@009c
003b40: 0200 1500 |03be: move/from16 v0, v21
003b44: 8203 |03c0: int-to-float v3, v0
003b46: 0200 1300 |03c1: move/from16 v0, v19
003b4a: 8204 |03c3: int-to-float v4, v0
003b4c: 0800 1c00 |03c4: move-object/from16 v0, v28
003b50: 5405 1500 |03c6: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003b54: 0800 1d00 |03c8: move-object/from16 v0, v29
003b58: 6e55 2000 2043 |03ca: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003b5e: 1a02 0b00 |03cd: const-string v2, "Black" // string@000b
003b62: 0200 1500 |03cf: move/from16 v0, v21
003b66: 8203 |03d1: int-to-float v3, v0
003b68: 9004 1314 |03d2: add-int v4, v19, v20
003b6c: 8244 |03d4: int-to-float v4, v4
003b6e: 0800 1c00 |03d5: move-object/from16 v0, v28
003b72: 5405 1500 |03d7: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003b76: 0800 1d00 |03d9: move-object/from16 v0, v29
003b7a: 6e55 2000 2043 |03db: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003b80: 1a02 7200 |03de: const-string v2, "Moves" // string@0072
003b84: 0200 1500 |03e0: move/from16 v0, v21
003b88: 8203 |03e2: int-to-float v3, v0
003b8a: da04 1402 |03e3: mul-int/lit8 v4, v20, #int 2 // #02
003b8e: 9004 0413 |03e5: add-int v4, v4, v19
003b92: 8244 |03e7: int-to-float v4, v4
003b94: 0800 1c00 |03e8: move-object/from16 v0, v28
003b98: 5405 1500 |03ea: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003b9c: 0800 1d00 |03ec: move-object/from16 v0, v29
003ba0: 6e55 2000 2043 |03ee: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003ba6: 2202 3000 |03f1: new-instance v2, Ljava/lang/StringBuilder; // type@0030
003baa: 1a03 0300 |03f3: const-string v3, ": " // string@0003
003bae: 7020 a600 3200 |03f5: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
003bb4: 6e20 a700 d200 |03f8: invoke-virtual {v2, v13}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
003bba: 0c02 |03fb: move-result-object v2
003bbc: 1a03 0200 |03fc: const-string v3, "+" // string@0002
003bc0: 6e20 a900 3200 |03fe: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
003bc6: 0c02 |0401: move-result-object v2
003bc8: 6e20 a700 c200 |0402: invoke-virtual {v2, v12}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
003bce: 0c02 |0405: move-result-object v2
003bd0: 6e10 aa00 0200 |0406: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
003bd6: 0c02 |0409: move-result-object v2
003bd8: da03 1403 |040a: mul-int/lit8 v3, v20, #int 3 // #03
003bdc: 9003 0315 |040c: add-int v3, v3, v21
003be0: 8233 |040e: int-to-float v3, v3
003be2: 0200 1300 |040f: move/from16 v0, v19
003be6: 8204 |0411: int-to-float v4, v0
003be8: 0800 1c00 |0412: move-object/from16 v0, v28
003bec: 5405 1500 |0414: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003bf0: 0800 1d00 |0416: move-object/from16 v0, v29
003bf4: 6e55 2000 2043 |0418: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003bfa: 2202 3000 |041b: new-instance v2, Ljava/lang/StringBuilder; // type@0030
003bfe: 1a03 0300 |041d: const-string v3, ": " // string@0003
003c02: 7020 a600 3200 |041f: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
003c08: 6e20 a700 b200 |0422: invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
003c0e: 0c02 |0425: move-result-object v2
003c10: 1a03 0200 |0426: const-string v3, "+" // string@0002
003c14: 6e20 a900 3200 |0428: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00a9
003c1a: 0c02 |042b: move-result-object v2
003c1c: 6e20 a700 a200 |042c: invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
003c22: 0c02 |042f: move-result-object v2
003c24: 6e10 aa00 0200 |0430: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
003c2a: 0c02 |0433: move-result-object v2
003c2c: da03 1403 |0434: mul-int/lit8 v3, v20, #int 3 // #03
003c30: 9003 0315 |0436: add-int v3, v3, v21
003c34: 8233 |0438: int-to-float v3, v3
003c36: 9004 1314 |0439: add-int v4, v19, v20
003c3a: 8244 |043b: int-to-float v4, v4
003c3c: 0800 1c00 |043c: move-object/from16 v0, v28
003c40: 5405 1500 |043e: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003c44: 0800 1d00 |0440: move-object/from16 v0, v29
003c48: 6e55 2000 2043 |0442: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003c4e: 2202 3000 |0445: new-instance v2, Ljava/lang/StringBuilder; // type@0030
003c52: 1a03 0300 |0447: const-string v3, ": " // string@0003
003c56: 7020 a600 3200 |0449: invoke-direct {v2, v3}, Ljava/lang/StringBuilder;.<init>:(Ljava/lang/String;)V // method@00a6
003c5c: 0800 1c00 |044c: move-object/from16 v0, v28
003c60: 5203 0e00 |044e: iget v3, v0, Lcom/google/android/checkers/CheckersView;.M:I // field@000e
003c64: 6e20 a700 3200 |0450: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00a7
003c6a: 0c02 |0453: move-result-object v2
003c6c: 6e10 aa00 0200 |0454: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00aa
003c72: 0c02 |0457: move-result-object v2
003c74: da03 1403 |0458: mul-int/lit8 v3, v20, #int 3 // #03
003c78: 9003 0315 |045a: add-int v3, v3, v21
003c7c: 8233 |045c: int-to-float v3, v3
003c7e: da04 1402 |045d: mul-int/lit8 v4, v20, #int 2 // #02
003c82: 9004 0413 |045f: add-int v4, v4, v19
003c86: 8244 |0461: int-to-float v4, v4
003c88: 0800 1c00 |0462: move-object/from16 v0, v28
003c8c: 5405 1500 |0464: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003c90: 0800 1d00 |0466: move-object/from16 v0, v29
003c94: 6e55 2000 2043 |0468: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003c9a: 2900 3ffc |046b: goto/16 00aa // -03c1
003c9e: 1a02 0a00 |046d: const-string v2, "BLACK'S MOVE?" // string@000a
003ca2: 0200 1200 |046f: move/from16 v0, v18
003ca6: 8203 |0471: int-to-float v3, v0
003ca8: 9004 1114 |0472: add-int v4, v17, v20
003cac: 8244 |0474: int-to-float v4, v4
003cae: 0800 1c00 |0475: move-object/from16 v0, v28
003cb2: 5405 1500 |0477: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003cb6: 0800 1d00 |0479: move-object/from16 v0, v29
003cba: 6e55 2000 2043 |047b: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003cc0: 2900 4afc |047e: goto/16 00c8 // -03b6
003cc4: 1a02 9a00 |0480: const-string v2, "WHITE'S MOVE?" // string@009a
003cc8: 0200 1200 |0482: move/from16 v0, v18
003ccc: 8203 |0484: int-to-float v3, v0
003cce: 9004 1114 |0485: add-int v4, v17, v20
003cd2: 8244 |0487: int-to-float v4, v4
003cd4: 0800 1c00 |0488: move-object/from16 v0, v28
003cd8: 5405 1500 |048a: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003cdc: 0800 1d00 |048c: move-object/from16 v0, v29
003ce0: 6e55 2000 2043 |048e: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003ce6: 2900 37fc |0491: goto/16 00c8 // -03c9
003cea: 1a02 8100 |0493: const-string v2, "THINKING...." // string@0081
003cee: 0200 1200 |0495: move/from16 v0, v18
003cf2: 8203 |0497: int-to-float v3, v0
003cf4: 9004 1114 |0498: add-int v4, v17, v20
003cf8: 8244 |049a: int-to-float v4, v4
003cfa: 0800 1c00 |049b: move-object/from16 v0, v28
003cfe: 5405 1500 |049d: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003d02: 0800 1d00 |049f: move-object/from16 v0, v29
003d06: 6e55 2000 2043 |04a1: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003d0c: 2900 24fc |04a4: goto/16 00c8 // -03dc
003d10: 1a02 9900 |04a6: const-string v2, "WHITE WINS" // string@0099
003d14: 0200 1200 |04a8: move/from16 v0, v18
003d18: 8203 |04aa: int-to-float v3, v0
003d1a: 9004 1114 |04ab: add-int v4, v17, v20
003d1e: 8244 |04ad: int-to-float v4, v4
003d20: 0800 1c00 |04ae: move-object/from16 v0, v28
003d24: 5405 1500 |04b0: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003d28: 0800 1d00 |04b2: move-object/from16 v0, v29
003d2c: 6e55 2000 2043 |04b4: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003d32: 2900 11fc |04b7: goto/16 00c8 // -03ef
003d36: 1a02 0900 |04b9: const-string v2, "BLACK WINS" // string@0009
003d3a: 0200 1200 |04bb: move/from16 v0, v18
003d3e: 8203 |04bd: int-to-float v3, v0
003d40: 9004 1114 |04be: add-int v4, v17, v20
003d44: 8244 |04c0: int-to-float v4, v4
003d46: 0800 1c00 |04c1: move-object/from16 v0, v28
003d4a: 5405 1500 |04c3: iget-object v5, v0, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003d4e: 0800 1d00 |04c5: move-object/from16 v0, v29
003d52: 6e55 2000 2043 |04c7: invoke-virtual {v0, v2, v3, v4, v5}, Landroid/graphics/Canvas;.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V // method@0020
003d58: 2900 fefb |04ca: goto/16 00c8 // -0402
003d5c: 4404 0a08 |04cc: aget v4, v10, v8
003d60: 4405 0b08 |04ce: aget v5, v11, v8
003d64: 0802 1c00 |04d0: move-object/from16 v2, v28
003d68: 0803 1d00 |04d2: move-object/from16 v3, v29
003d6c: 0206 1600 |04d4: move/from16 v6, v22
003d70: 0207 1800 |04d6: move/from16 v7, v24
003d74: 7606 5f00 0200 |04d8: invoke-direct/range {v2, v3, v4, v5, v6, v7}, Lcom/google/android/checkers/CheckersView;.b:(Landroid/graphics/Canvas;IIII)V // method@005f
003d7a: d802 0801 |04db: add-int/lit8 v2, v8, #int 1 // #01
003d7e: 0128 |04dd: move v8, v2
003d80: 2900 12fc |04de: goto/16 00f0 // -03ee
003d84: 0001 0600 0100 0000 a803 0000 ce03 ... |04e0: packed-switch-data (16 units)
catches : 3
0x0001 - 0x01c6
<any> -> 0x02af
0x01dd - 0x02ae
<any> -> 0x02af
0x02b2 - 0x04db
<any> -> 0x02af
positions :
locals :
#12 : (in Lcom/google/android/checkers/CheckersView;)
name : 'e'
type : '(Z)Z'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 104
code -
registers : 3
ins : 2
outs : 0
insns size : 19 16-bit code units
003dc0: |[003dc0] com.google.android.checkers.CheckersView.e:(Z)Z
003dd0: 1d01 |0000: monitor-enter v1
003dd2: 3802 0900 |0001: if-eqz v2, 000a // +0009
003dd6: 5510 0600 |0003: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
003dda: 3800 0900 |0005: if-eqz v0, 000e // +0009
003dde: 1200 |0007: const/4 v0, #int 0 // #0
003de0: 5c10 0600 |0008: iput-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
003de4: 5510 0600 |000a: iget-boolean v0, v1, Lcom/google/android/checkers/CheckersView;.E:Z // field@0006
003de8: 1e01 |000c: monitor-exit v1
003dea: 0f00 |000d: return v0
003dec: 1210 |000e: const/4 v0, #int 1 // #1
003dee: 28f9 |000f: goto 0008 // -0007
003df0: 0d00 |0010: move-exception v0
003df2: 1e01 |0011: monitor-exit v1
003df4: 2700 |0012: throw v0
catches : 1
0x0003 - 0x000c
<any> -> 0x0010
positions :
locals :
#13 : (in Lcom/google/android/checkers/CheckersView;)
name : 'onSizeChanged'
type : '(IIII)V'
access : 0x20004 (PROTECTED DECLARED_SYNCHRONIZED)
method_idx : 107
code -
registers : 8
ins : 5
outs : 2
insns size : 52 16-bit code units
003e04: |[003e04] com.google.android.checkers.CheckersView.onSizeChanged:(IIII)V
003e14: 1d03 |0000: monitor-enter v3
003e16: 3554 2c00 |0001: if-ge v4, v5, 002d // +002c
003e1a: 0140 |0003: move v0, v4
003e1c: db01 0018 |0004: div-int/lit8 v1, v0, #int 24 // #18
003e20: 8211 |0006: int-to-float v1, v1
003e22: 3754 2b00 |0007: if-le v4, v5, 0032 // +002b
003e26: 9100 0400 |0009: sub-int v0, v4, v0
003e2a: db00 000a |000b: div-int/lit8 v0, v0, #int 10 // #0a
003e2e: 8200 |000d: int-to-float v0, v0
003e30: 2e02 0001 |000e: cmpg-float v2, v0, v1
003e34: 3b02 2200 |0010: if-gez v2, 0032 // +0022
003e38: 5431 1400 |0012: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.b:Landroid/graphics/Paint; // field@0014
003e3c: 6e20 2600 0100 |0014: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
003e42: 5431 1500 |0017: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.c:Landroid/graphics/Paint; // field@0015
003e46: 6e20 2600 0100 |0019: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
003e4c: 5431 1b00 |001c: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.i:Landroid/graphics/Paint; // field@001b
003e50: 6e20 2600 0100 |001e: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
003e56: 5431 1800 |0021: iget-object v1, v3, Lcom/google/android/checkers/CheckersView;.f:Landroid/graphics/Paint; // field@0018
003e5a: 6e20 2600 0100 |0023: invoke-virtual {v1, v0}, Landroid/graphics/Paint;.setTextSize:(F)V // method@0026
003e60: 8700 |0026: float-to-int v0, v0
003e62: d800 0001 |0027: add-int/lit8 v0, v0, #int 1 // #01
003e66: 5930 1d00 |0029: iput v0, v3, Lcom/google/android/checkers/CheckersView;.k:I // field@001d
003e6a: 1e03 |002b: monitor-exit v3
003e6c: 0e00 |002c: return-void
003e6e: 0150 |002d: move v0, v5
003e70: 28d6 |002e: goto 0004 // -002a
003e72: 0d00 |002f: move-exception v0
003e74: 1e03 |0030: monitor-exit v3
003e76: 2700 |0031: throw v0
003e78: 0110 |0032: move v0, v1
003e7a: 28df |0033: goto 0012 // -0021
catches : 1
0x0004 - 0x002b
<any> -> 0x002f
positions :
locals :
#14 : (in Lcom/google/android/checkers/CheckersView;)
name : 'onTouchEvent'
type : '(Landroid/view/MotionEvent;)Z'
access : 0x0001 (PUBLIC)
method_idx : 108
code -
registers : 8
ins : 2
outs : 6
insns size : 41 16-bit code units
003e88: |[003e88] com.google.android.checkers.CheckersView.onTouchEvent:(Landroid/view/MotionEvent;)Z
003e98: 1201 |0000: const/4 v1, #int 0 // #0
003e9a: 6e10 3100 0700 |0001: invoke-virtual {v7}, Landroid/view/MotionEvent;.getAction:()I // method@0031
003ea0: 0a00 |0004: move-result v0
003ea2: 3900 1f00 |0005: if-nez v0, 0024 // +001f
003ea6: 6e10 3200 0700 |0007: invoke-virtual {v7}, Landroid/view/MotionEvent;.getX:()F // method@0032
003eac: 0a00 |000a: move-result v0
003eae: 6e10 3300 0700 |000b: invoke-virtual {v7}, Landroid/view/MotionEvent;.getY:()F // method@0033
003eb4: 0a02 |000e: move-result v2
003eb6: 7030 5c00 0602 |000f: invoke-direct {v6, v0, v2}, Lcom/google/android/checkers/CheckersView;.b:(FF)I // method@005c
003ebc: 0a02 |0012: move-result v2
003ebe: 3802 1100 |0013: if-eqz v2, 0024 // +0011
003ec2: 0760 |0015: move-object v0, v6
003ec4: 0113 |0016: move v3, v1
003ec6: 0114 |0017: move v4, v1
003ec8: 0115 |0018: move v5, v1
003eca: 7606 5b00 0000 |0019: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/CheckersView;.a:(ZIIII)Z // method@005b
003ed0: 0a00 |001c: move-result v0
003ed2: 3800 0500 |001d: if-eqz v0, 0022 // +0005
003ed6: 6e10 6d00 0600 |001f: invoke-virtual {v6}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
003edc: 1210 |0022: const/4 v0, #int 1 // #1
003ede: 0f00 |0023: return v0
003ee0: 6f20 3900 7600 |0024: invoke-super {v6, v7}, Landroid/view/View;.onTouchEvent:(Landroid/view/MotionEvent;)Z // method@0039
003ee6: 0a00 |0027: move-result v0
003ee8: 28fb |0028: goto 0023 // -0005
catches : (none)
positions :
locals :
#15 : (in Lcom/google/android/checkers/CheckersView;)
name : 'setLevel'
type : '(I)V'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 112
code -
registers : 4
ins : 2
outs : 0
insns size : 64 16-bit code units
003eec: |[003eec] com.google.android.checkers.CheckersView.setLevel:(I)V
003efc: 1300 e803 |0000: const/16 v0, #int 1000 // #3e8
003f00: 1d02 |0002: monitor-enter v2
003f02: 2b03 2700 0000 |0003: packed-switch v3, 0000002a // +00000027
003f08: 1233 |0006: const/4 v3, #int 3 // #3
003f0a: 5421 2200 |0007: iget-object v1, v2, Lcom/google/android/checkers/CheckersView;.p:Lcom/google/android/checkers/a; // field@0022
003f0e: 5910 4100 |0009: iput v0, v1, Lcom/google/android/checkers/a;.h:I // field@0041
003f12: 5923 2c00 |000b: iput v3, v2, Lcom/google/android/checkers/CheckersView;.z:I // field@002c
003f16: 1e02 |000d: monitor-exit v2
003f18: 0e00 |000e: return-void
003f1a: 12f0 |000f: const/4 v0, #int -1 // #ff
003f1c: 28f7 |0010: goto 0007 // -0009
003f1e: 1200 |0011: const/4 v0, #int 0 // #0
003f20: 28f5 |0012: goto 0007 // -000b
003f22: 1300 6400 |0013: const/16 v0, #int 100 // #64
003f26: 28f2 |0015: goto 0007 // -000e
003f28: 1300 8813 |0016: const/16 v0, #int 5000 // #1388
003f2c: 28ef |0018: goto 0007 // -0011
003f2e: 1300 1027 |0019: const/16 v0, #int 10000 // #2710
003f32: 28ec |001b: goto 0007 // -0014
003f34: 1300 983a |001c: const/16 v0, #int 15000 // #3a98
003f38: 28e9 |001e: goto 0007 // -0017
003f3a: 1300 3075 |001f: const/16 v0, #int 30000 // #7530
003f3e: 28e6 |0021: goto 0007 // -001a
003f40: 1400 60ea 0000 |0022: const v0, #float 8.40779e-41 // #0000ea60
003f46: 28e2 |0025: goto 0007 // -001e
003f48: 0d00 |0026: move-exception v0
003f4a: 1e02 |0027: monitor-exit v2
003f4c: 2700 |0028: throw v0
003f4e: 0000 |0029: nop // spacer
003f50: 0001 0900 0000 0000 0c00 0000 0e00 ... |002a: packed-switch-data (22 units)
catches : 1
0x0007 - 0x000d
<any> -> 0x0026
positions :
locals :
source_file_idx : -1 (unknown)
Class #2 header:
class_idx : 32
access_flags : 17 (0x0011)
superclass_idx : 50
interfaces_off : 0 (0x000000)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 34848 (0x008820)
static_fields_size : 10
instance_fields_size: 29
direct_methods_size : 23
virtual_methods_size: 6
Class #2 -
Class descriptor : 'Lcom/google/android/checkers/a;'
Access flags : 0x0011 (PUBLIC FINAL)
Superclass : 'Ljava/lang/Thread;'
Interfaces -
Static fields -
#0 : (in Lcom/google/android/checkers/a;)
name : 'D'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#1 : (in Lcom/google/android/checkers/a;)
name : 'E'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#2 : (in Lcom/google/android/checkers/a;)
name : 'F'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#3 : (in Lcom/google/android/checkers/a;)
name : 'G'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#4 : (in Lcom/google/android/checkers/a;)
name : 'H'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#5 : (in Lcom/google/android/checkers/a;)
name : 'I'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#6 : (in Lcom/google/android/checkers/a;)
name : 'J'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#7 : (in Lcom/google/android/checkers/a;)
name : 'K'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#8 : (in Lcom/google/android/checkers/a;)
name : 'L'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
#9 : (in Lcom/google/android/checkers/a;)
name : 'M'
type : '[I'
access : 0x001a (PRIVATE STATIC FINAL)
Instance fields -
#0 : (in Lcom/google/android/checkers/a;)
name : 'A'
type : '[B'
access : 0x0002 (PRIVATE)
#1 : (in Lcom/google/android/checkers/a;)
name : 'B'
type : 'Z'
access : 0x0002 (PRIVATE)
#2 : (in Lcom/google/android/checkers/a;)
name : 'C'
type : 'I'
access : 0x0002 (PRIVATE)
#3 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '[I'
access : 0x0001 (PUBLIC)
#4 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '[I'
access : 0x0001 (PUBLIC)
#5 : (in Lcom/google/android/checkers/a;)
name : 'c'
type : 'I'
access : 0x0001 (PUBLIC)
#6 : (in Lcom/google/android/checkers/a;)
name : 'd'
type : 'I'
access : 0x0001 (PUBLIC)
#7 : (in Lcom/google/android/checkers/a;)
name : 'e'
type : 'I'
access : 0x0001 (PUBLIC)
#8 : (in Lcom/google/android/checkers/a;)
name : 'f'
type : 'I'
access : 0x0001 (PUBLIC)
#9 : (in Lcom/google/android/checkers/a;)
name : 'g'
type : 'I'
access : 0x0001 (PUBLIC)
#10 : (in Lcom/google/android/checkers/a;)
name : 'h'
type : 'I'
access : 0x0041 (PUBLIC VOLATILE)
#11 : (in Lcom/google/android/checkers/a;)
name : 'i'
type : 'Ljava/util/Random;'
access : 0x0002 (PRIVATE)
#12 : (in Lcom/google/android/checkers/a;)
name : 'j'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x0002 (PRIVATE)
#13 : (in Lcom/google/android/checkers/a;)
name : 'k'
type : 'Z'
access : 0x0002 (PRIVATE)
#14 : (in Lcom/google/android/checkers/a;)
name : 'l'
type : 'J'
access : 0x0002 (PRIVATE)
#15 : (in Lcom/google/android/checkers/a;)
name : 'm'
type : 'Z'
access : 0x0002 (PRIVATE)
#16 : (in Lcom/google/android/checkers/a;)
name : 'n'
type : 'I'
access : 0x0002 (PRIVATE)
#17 : (in Lcom/google/android/checkers/a;)
name : 'o'
type : '[I'
access : 0x0002 (PRIVATE)
#18 : (in Lcom/google/android/checkers/a;)
name : 'p'
type : '[I'
access : 0x0002 (PRIVATE)
#19 : (in Lcom/google/android/checkers/a;)
name : 'q'
type : '[I'
access : 0x0002 (PRIVATE)
#20 : (in Lcom/google/android/checkers/a;)
name : 'r'
type : 'I'
access : 0x0002 (PRIVATE)
#21 : (in Lcom/google/android/checkers/a;)
name : 's'
type : 'Z'
access : 0x0002 (PRIVATE)
#22 : (in Lcom/google/android/checkers/a;)
name : 't'
type : 'Z'
access : 0x0002 (PRIVATE)
#23 : (in Lcom/google/android/checkers/a;)
name : 'u'
type : 'Z'
access : 0x0002 (PRIVATE)
#24 : (in Lcom/google/android/checkers/a;)
name : 'v'
type : 'I'
access : 0x0002 (PRIVATE)
#25 : (in Lcom/google/android/checkers/a;)
name : 'w'
type : 'I'
access : 0x0002 (PRIVATE)
#26 : (in Lcom/google/android/checkers/a;)
name : 'x'
type : 'I'
access : 0x0002 (PRIVATE)
#27 : (in Lcom/google/android/checkers/a;)
name : 'y'
type : '[I'
access : 0x0002 (PRIVATE)
#28 : (in Lcom/google/android/checkers/a;)
name : 'z'
type : '[S'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Lcom/google/android/checkers/a;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
method_idx : 113
code -
registers : 8
ins : 0
outs : 0
insns size : 1390 16-bit code units
003f88: |[003f88] com.google.android.checkers.a.<clinit>:()V
003f98: 1227 |0000: const/4 v7, #int 2 // #2
003f9a: 1306 1500 |0001: const/16 v6, #int 21 // #15
003f9e: 1305 1000 |0003: const/16 v5, #int 16 // #10
003fa2: 1304 0a00 |0005: const/16 v4, #int 10 // #a
003fa6: 1303 2000 |0007: const/16 v3, #int 32 // #20
003faa: 2330 3700 |0009: new-array v0, v3, [I // type@0037
003fae: 1251 |000b: const/4 v1, #int 5 // #5
003fb0: 1212 |000c: const/4 v2, #int 1 // #1
003fb2: 4b02 0001 |000d: aput v2, v0, v1
003fb6: 1261 |000f: const/4 v1, #int 6 // #6
003fb8: 4b07 0001 |0010: aput v7, v0, v1
003fbc: 1271 |0012: const/4 v1, #int 7 // #7
003fbe: 1242 |0013: const/4 v2, #int 4 // #4
003fc0: 4b02 0001 |0014: aput v2, v0, v1
003fc4: 1301 0800 |0016: const/16 v1, #int 8 // #8
003fc8: 4b05 0001 |0018: aput v5, v0, v1
003fcc: 1301 0900 |001a: const/16 v1, #int 9 // #9
003fd0: 4b03 0001 |001c: aput v3, v0, v1
003fd4: 1301 4000 |001e: const/16 v1, #int 64 // #40
003fd8: 4b01 0004 |0020: aput v1, v0, v4
003fdc: 1301 0b00 |0022: const/16 v1, #int 11 // #b
003fe0: 1302 8000 |0024: const/16 v2, #int 128 // #80
003fe4: 4b02 0001 |0026: aput v2, v0, v1
003fe8: 1301 0d00 |0028: const/16 v1, #int 13 // #d
003fec: 1302 0001 |002a: const/16 v2, #int 256 // #100
003ff0: 4b02 0001 |002c: aput v2, v0, v1
003ff4: 1301 0e00 |002e: const/16 v1, #int 14 // #e
003ff8: 1302 0002 |0030: const/16 v2, #int 512 // #200
003ffc: 4b02 0001 |0032: aput v2, v0, v1
004000: 1301 0f00 |0034: const/16 v1, #int 15 // #f
004004: 1302 0004 |0036: const/16 v2, #int 1024 // #400
004008: 4b02 0001 |0038: aput v2, v0, v1
00400c: 1301 0010 |003a: const/16 v1, #int 4096 // #1000
004010: 4b01 0005 |003c: aput v1, v0, v5
004014: 1301 1100 |003e: const/16 v1, #int 17 // #11
004018: 1302 0020 |0040: const/16 v2, #int 8192 // #2000
00401c: 4b02 0001 |0042: aput v2, v0, v1
004020: 1301 1200 |0044: const/16 v1, #int 18 // #12
004024: 1302 0040 |0046: const/16 v2, #int 16384 // #4000
004028: 4b02 0001 |0048: aput v2, v0, v1
00402c: 1301 1300 |004a: const/16 v1, #int 19 // #13
004030: 1402 0080 0000 |004c: const v2, #float 4.59177e-41 // #00008000
004036: 4b02 0001 |004f: aput v2, v0, v1
00403a: 1501 0100 |0051: const/high16 v1, #int 65536 // #1
00403e: 4b01 0006 |0053: aput v1, v0, v6
004042: 1301 1600 |0055: const/16 v1, #int 22 // #16
004046: 1502 0200 |0057: const/high16 v2, #int 131072 // #2
00404a: 4b02 0001 |0059: aput v2, v0, v1
00404e: 1301 1700 |005b: const/16 v1, #int 23 // #17
004052: 1502 0400 |005d: const/high16 v2, #int 262144 // #4
004056: 4b02 0001 |005f: aput v2, v0, v1
00405a: 1301 1800 |0061: const/16 v1, #int 24 // #18
00405e: 1502 1000 |0063: const/high16 v2, #int 1048576 // #10
004062: 4b02 0001 |0065: aput v2, v0, v1
004066: 1301 1900 |0067: const/16 v1, #int 25 // #19
00406a: 1502 2000 |0069: const/high16 v2, #int 2097152 // #20
00406e: 4b02 0001 |006b: aput v2, v0, v1
004072: 1301 1a00 |006d: const/16 v1, #int 26 // #1a
004076: 1502 4000 |006f: const/high16 v2, #int 4194304 // #40
00407a: 4b02 0001 |0071: aput v2, v0, v1
00407e: 1301 1b00 |0073: const/16 v1, #int 27 // #1b
004082: 1502 8000 |0075: const/high16 v2, #int 8388608 // #80
004086: 4b02 0001 |0077: aput v2, v0, v1
00408a: 1301 1d00 |0079: const/16 v1, #int 29 // #1d
00408e: 1502 0001 |007b: const/high16 v2, #int 16777216 // #100
004092: 4b02 0001 |007d: aput v2, v0, v1
004096: 1301 1e00 |007f: const/16 v1, #int 30 // #1e
00409a: 1502 0002 |0081: const/high16 v2, #int 33554432 // #200
00409e: 4b02 0001 |0083: aput v2, v0, v1
0040a2: 1301 1f00 |0085: const/16 v1, #int 31 // #1f
0040a6: 1502 0004 |0087: const/high16 v2, #int 67108864 // #400
0040aa: 4b02 0001 |0089: aput v2, v0, v1
0040ae: 6900 3000 |008b: sput-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
0040b2: 2330 3700 |008d: new-array v0, v3, [I // type@0037
0040b6: 1301 0900 |008f: const/16 v1, #int 9 // #9
0040ba: 1212 |0091: const/4 v2, #int 1 // #1
0040bc: 4b02 0001 |0092: aput v2, v0, v1
0040c0: 4b07 0004 |0094: aput v7, v0, v4
0040c4: 1301 0b00 |0096: const/16 v1, #int 11 // #b
0040c8: 1242 |0098: const/4 v2, #int 4 // #4
0040ca: 4b02 0001 |0099: aput v2, v0, v1
0040ce: 1301 0d00 |009b: const/16 v1, #int 13 // #d
0040d2: 4b05 0001 |009d: aput v5, v0, v1
0040d6: 1301 0e00 |009f: const/16 v1, #int 14 // #e
0040da: 4b03 0001 |00a1: aput v3, v0, v1
0040de: 1301 0f00 |00a3: const/16 v1, #int 15 // #f
0040e2: 1302 4000 |00a5: const/16 v2, #int 64 // #40
0040e6: 4b02 0001 |00a7: aput v2, v0, v1
0040ea: 1301 1100 |00a9: const/16 v1, #int 17 // #11
0040ee: 1302 0001 |00ab: const/16 v2, #int 256 // #100
0040f2: 4b02 0001 |00ad: aput v2, v0, v1
0040f6: 1301 1200 |00af: const/16 v1, #int 18 // #12
0040fa: 1302 0002 |00b1: const/16 v2, #int 512 // #200
0040fe: 4b02 0001 |00b3: aput v2, v0, v1
004102: 1301 1300 |00b5: const/16 v1, #int 19 // #13
004106: 1302 0004 |00b7: const/16 v2, #int 1024 // #400
00410a: 4b02 0001 |00b9: aput v2, v0, v1
00410e: 1301 0010 |00bb: const/16 v1, #int 4096 // #1000
004112: 4b01 0006 |00bd: aput v1, v0, v6
004116: 1301 1600 |00bf: const/16 v1, #int 22 // #16
00411a: 1302 0020 |00c1: const/16 v2, #int 8192 // #2000
00411e: 4b02 0001 |00c3: aput v2, v0, v1
004122: 1301 1700 |00c5: const/16 v1, #int 23 // #17
004126: 1302 0040 |00c7: const/16 v2, #int 16384 // #4000
00412a: 4b02 0001 |00c9: aput v2, v0, v1
00412e: 1301 1900 |00cb: const/16 v1, #int 25 // #19
004132: 1502 0100 |00cd: const/high16 v2, #int 65536 // #1
004136: 4b02 0001 |00cf: aput v2, v0, v1
00413a: 1301 1a00 |00d1: const/16 v1, #int 26 // #1a
00413e: 1502 0200 |00d3: const/high16 v2, #int 131072 // #2
004142: 4b02 0001 |00d5: aput v2, v0, v1
004146: 1301 1b00 |00d7: const/16 v1, #int 27 // #1b
00414a: 1502 0400 |00d9: const/high16 v2, #int 262144 // #4
00414e: 4b02 0001 |00db: aput v2, v0, v1
004152: 1301 1d00 |00dd: const/16 v1, #int 29 // #1d
004156: 1502 1000 |00df: const/high16 v2, #int 1048576 // #10
00415a: 4b02 0001 |00e1: aput v2, v0, v1
00415e: 1301 1e00 |00e3: const/16 v1, #int 30 // #1e
004162: 1502 2000 |00e5: const/high16 v2, #int 2097152 // #20
004166: 4b02 0001 |00e7: aput v2, v0, v1
00416a: 1301 1f00 |00e9: const/16 v1, #int 31 // #1f
00416e: 1502 4000 |00eb: const/high16 v2, #int 4194304 // #40
004172: 4b02 0001 |00ed: aput v2, v0, v1
004176: 6900 3100 |00ef: sput-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
00417a: 2330 3700 |00f1: new-array v0, v3, [I // type@0037
00417e: 1241 |00f3: const/4 v1, #int 4 // #4
004180: 1212 |00f4: const/4 v2, #int 1 // #1
004182: 4b02 0001 |00f5: aput v2, v0, v1
004186: 1251 |00f7: const/4 v1, #int 5 // #5
004188: 4b07 0001 |00f8: aput v7, v0, v1
00418c: 1261 |00fa: const/4 v1, #int 6 // #6
00418e: 1242 |00fb: const/4 v2, #int 4 // #4
004190: 4b02 0001 |00fc: aput v2, v0, v1
004194: 1271 |00fe: const/4 v1, #int 7 // #7
004196: 1302 0800 |00ff: const/16 v2, #int 8 // #8
00419a: 4b02 0001 |0101: aput v2, v0, v1
00419e: 1301 0800 |0103: const/16 v1, #int 8 // #8
0041a2: 4b03 0001 |0105: aput v3, v0, v1
0041a6: 1301 0900 |0107: const/16 v1, #int 9 // #9
0041aa: 1302 4000 |0109: const/16 v2, #int 64 // #40
0041ae: 4b02 0001 |010b: aput v2, v0, v1
0041b2: 1301 8000 |010d: const/16 v1, #int 128 // #80
0041b6: 4b01 0004 |010f: aput v1, v0, v4
0041ba: 1301 0c00 |0111: const/16 v1, #int 12 // #c
0041be: 1302 0001 |0113: const/16 v2, #int 256 // #100
0041c2: 4b02 0001 |0115: aput v2, v0, v1
0041c6: 1301 0d00 |0117: const/16 v1, #int 13 // #d
0041ca: 1302 0002 |0119: const/16 v2, #int 512 // #200
0041ce: 4b02 0001 |011b: aput v2, v0, v1
0041d2: 1301 0e00 |011d: const/16 v1, #int 14 // #e
0041d6: 1302 0004 |011f: const/16 v2, #int 1024 // #400
0041da: 4b02 0001 |0121: aput v2, v0, v1
0041de: 1301 0f00 |0123: const/16 v1, #int 15 // #f
0041e2: 1302 0008 |0125: const/16 v2, #int 2048 // #800
0041e6: 4b02 0001 |0127: aput v2, v0, v1
0041ea: 1301 0020 |0129: const/16 v1, #int 8192 // #2000
0041ee: 4b01 0005 |012b: aput v1, v0, v5
0041f2: 1301 1100 |012d: const/16 v1, #int 17 // #11
0041f6: 1302 0040 |012f: const/16 v2, #int 16384 // #4000
0041fa: 4b02 0001 |0131: aput v2, v0, v1
0041fe: 1301 1200 |0133: const/16 v1, #int 18 // #12
004202: 1402 0080 0000 |0135: const v2, #float 4.59177e-41 // #00008000
004208: 4b02 0001 |0138: aput v2, v0, v1
00420c: 1301 1400 |013a: const/16 v1, #int 20 // #14
004210: 1502 0100 |013c: const/high16 v2, #int 65536 // #1
004214: 4b02 0001 |013e: aput v2, v0, v1
004218: 1501 0200 |0140: const/high16 v1, #int 131072 // #2
00421c: 4b01 0006 |0142: aput v1, v0, v6
004220: 1301 1600 |0144: const/16 v1, #int 22 // #16
004224: 1502 0400 |0146: const/high16 v2, #int 262144 // #4
004228: 4b02 0001 |0148: aput v2, v0, v1
00422c: 1301 1700 |014a: const/16 v1, #int 23 // #17
004230: 1502 0800 |014c: const/high16 v2, #int 524288 // #8
004234: 4b02 0001 |014e: aput v2, v0, v1
004238: 1301 1800 |0150: const/16 v1, #int 24 // #18
00423c: 1502 2000 |0152: const/high16 v2, #int 2097152 // #20
004240: 4b02 0001 |0154: aput v2, v0, v1
004244: 1301 1900 |0156: const/16 v1, #int 25 // #19
004248: 1502 4000 |0158: const/high16 v2, #int 4194304 // #40
00424c: 4b02 0001 |015a: aput v2, v0, v1
004250: 1301 1a00 |015c: const/16 v1, #int 26 // #1a
004254: 1502 8000 |015e: const/high16 v2, #int 8388608 // #80
004258: 4b02 0001 |0160: aput v2, v0, v1
00425c: 1301 1c00 |0162: const/16 v1, #int 28 // #1c
004260: 1502 0001 |0164: const/high16 v2, #int 16777216 // #100
004264: 4b02 0001 |0166: aput v2, v0, v1
004268: 1301 1d00 |0168: const/16 v1, #int 29 // #1d
00426c: 1502 0002 |016a: const/high16 v2, #int 33554432 // #200
004270: 4b02 0001 |016c: aput v2, v0, v1
004274: 1301 1e00 |016e: const/16 v1, #int 30 // #1e
004278: 1502 0004 |0170: const/high16 v2, #int 67108864 // #400
00427c: 4b02 0001 |0172: aput v2, v0, v1
004280: 1301 1f00 |0174: const/16 v1, #int 31 // #1f
004284: 1502 0008 |0176: const/high16 v2, #int 134217728 // #800
004288: 4b02 0001 |0178: aput v2, v0, v1
00428c: 6900 3200 |017a: sput-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
004290: 2330 3700 |017c: new-array v0, v3, [I // type@0037
004294: 1301 0800 |017e: const/16 v1, #int 8 // #8
004298: 4b07 0001 |0180: aput v7, v0, v1
00429c: 1301 0900 |0182: const/16 v1, #int 9 // #9
0042a0: 1242 |0184: const/4 v2, #int 4 // #4
0042a2: 4b02 0001 |0185: aput v2, v0, v1
0042a6: 1301 0800 |0187: const/16 v1, #int 8 // #8
0042aa: 4b01 0004 |0189: aput v1, v0, v4
0042ae: 1301 0c00 |018b: const/16 v1, #int 12 // #c
0042b2: 4b03 0001 |018d: aput v3, v0, v1
0042b6: 1301 0d00 |018f: const/16 v1, #int 13 // #d
0042ba: 1302 4000 |0191: const/16 v2, #int 64 // #40
0042be: 4b02 0001 |0193: aput v2, v0, v1
0042c2: 1301 0e00 |0195: const/16 v1, #int 14 // #e
0042c6: 1302 8000 |0197: const/16 v2, #int 128 // #80
0042ca: 4b02 0001 |0199: aput v2, v0, v1
0042ce: 1301 0002 |019b: const/16 v1, #int 512 // #200
0042d2: 4b01 0005 |019d: aput v1, v0, v5
0042d6: 1301 1100 |019f: const/16 v1, #int 17 // #11
0042da: 1302 0004 |01a1: const/16 v2, #int 1024 // #400
0042de: 4b02 0001 |01a3: aput v2, v0, v1
0042e2: 1301 1200 |01a5: const/16 v1, #int 18 // #12
0042e6: 1302 0008 |01a7: const/16 v2, #int 2048 // #800
0042ea: 4b02 0001 |01a9: aput v2, v0, v1
0042ee: 1301 1400 |01ab: const/16 v1, #int 20 // #14
0042f2: 1302 0020 |01ad: const/16 v2, #int 8192 // #2000
0042f6: 4b02 0001 |01af: aput v2, v0, v1
0042fa: 1301 0040 |01b1: const/16 v1, #int 16384 // #4000
0042fe: 4b01 0006 |01b3: aput v1, v0, v6
004302: 1301 1600 |01b5: const/16 v1, #int 22 // #16
004306: 1402 0080 0000 |01b7: const v2, #float 4.59177e-41 // #00008000
00430c: 4b02 0001 |01ba: aput v2, v0, v1
004310: 1301 1800 |01bc: const/16 v1, #int 24 // #18
004314: 1502 0200 |01be: const/high16 v2, #int 131072 // #2
004318: 4b02 0001 |01c0: aput v2, v0, v1
00431c: 1301 1900 |01c2: const/16 v1, #int 25 // #19
004320: 1502 0400 |01c4: const/high16 v2, #int 262144 // #4
004324: 4b02 0001 |01c6: aput v2, v0, v1
004328: 1301 1a00 |01c8: const/16 v1, #int 26 // #1a
00432c: 1502 0800 |01ca: const/high16 v2, #int 524288 // #8
004330: 4b02 0001 |01cc: aput v2, v0, v1
004334: 1301 1c00 |01ce: const/16 v1, #int 28 // #1c
004338: 1502 2000 |01d0: const/high16 v2, #int 2097152 // #20
00433c: 4b02 0001 |01d2: aput v2, v0, v1
004340: 1301 1d00 |01d4: const/16 v1, #int 29 // #1d
004344: 1502 4000 |01d6: const/high16 v2, #int 4194304 // #40
004348: 4b02 0001 |01d8: aput v2, v0, v1
00434c: 1301 1e00 |01da: const/16 v1, #int 30 // #1e
004350: 1502 8000 |01dc: const/high16 v2, #int 8388608 // #80
004354: 4b02 0001 |01de: aput v2, v0, v1
004358: 6900 3300 |01e0: sput-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
00435c: 2330 3700 |01e2: new-array v0, v3, [I // type@0037
004360: 1201 |01e4: const/4 v1, #int 0 // #0
004362: 4b05 0001 |01e5: aput v5, v0, v1
004366: 1211 |01e7: const/4 v1, #int 1 // #1
004368: 4b03 0001 |01e8: aput v3, v0, v1
00436c: 1301 4000 |01ea: const/16 v1, #int 64 // #40
004370: 4b01 0007 |01ec: aput v1, v0, v7
004374: 1231 |01ee: const/4 v1, #int 3 // #3
004376: 1302 8000 |01ef: const/16 v2, #int 128 // #80
00437a: 4b02 0001 |01f1: aput v2, v0, v1
00437e: 1251 |01f3: const/4 v1, #int 5 // #5
004380: 1302 0001 |01f4: const/16 v2, #int 256 // #100
004384: 4b02 0001 |01f6: aput v2, v0, v1
004388: 1261 |01f8: const/4 v1, #int 6 // #6
00438a: 1302 0002 |01f9: const/16 v2, #int 512 // #200
00438e: 4b02 0001 |01fb: aput v2, v0, v1
004392: 1271 |01fd: const/4 v1, #int 7 // #7
004394: 1302 0004 |01fe: const/16 v2, #int 1024 // #400
004398: 4b02 0001 |0200: aput v2, v0, v1
00439c: 1301 0800 |0202: const/16 v1, #int 8 // #8
0043a0: 1302 0010 |0204: const/16 v2, #int 4096 // #1000
0043a4: 4b02 0001 |0206: aput v2, v0, v1
0043a8: 1301 0900 |0208: const/16 v1, #int 9 // #9
0043ac: 1302 0020 |020a: const/16 v2, #int 8192 // #2000
0043b0: 4b02 0001 |020c: aput v2, v0, v1
0043b4: 1301 0040 |020e: const/16 v1, #int 16384 // #4000
0043b8: 4b01 0004 |0210: aput v1, v0, v4
0043bc: 1301 0b00 |0212: const/16 v1, #int 11 // #b
0043c0: 1402 0080 0000 |0214: const v2, #float 4.59177e-41 // #00008000
0043c6: 4b02 0001 |0217: aput v2, v0, v1
0043ca: 1301 0d00 |0219: const/16 v1, #int 13 // #d
0043ce: 1502 0100 |021b: const/high16 v2, #int 65536 // #1
0043d2: 4b02 0001 |021d: aput v2, v0, v1
0043d6: 1301 0e00 |021f: const/16 v1, #int 14 // #e
0043da: 1502 0200 |0221: const/high16 v2, #int 131072 // #2
0043de: 4b02 0001 |0223: aput v2, v0, v1
0043e2: 1301 0f00 |0225: const/16 v1, #int 15 // #f
0043e6: 1502 0400 |0227: const/high16 v2, #int 262144 // #4
0043ea: 4b02 0001 |0229: aput v2, v0, v1
0043ee: 1501 1000 |022b: const/high16 v1, #int 1048576 // #10
0043f2: 4b01 0005 |022d: aput v1, v0, v5
0043f6: 1301 1100 |022f: const/16 v1, #int 17 // #11
0043fa: 1502 2000 |0231: const/high16 v2, #int 2097152 // #20
0043fe: 4b02 0001 |0233: aput v2, v0, v1
004402: 1301 1200 |0235: const/16 v1, #int 18 // #12
004406: 1502 4000 |0237: const/high16 v2, #int 4194304 // #40
00440a: 4b02 0001 |0239: aput v2, v0, v1
00440e: 1301 1300 |023b: const/16 v1, #int 19 // #13
004412: 1502 8000 |023d: const/high16 v2, #int 8388608 // #80
004416: 4b02 0001 |023f: aput v2, v0, v1
00441a: 1501 0001 |0241: const/high16 v1, #int 16777216 // #100
00441e: 4b01 0006 |0243: aput v1, v0, v6
004422: 1301 1600 |0245: const/16 v1, #int 22 // #16
004426: 1502 0002 |0247: const/high16 v2, #int 33554432 // #200
00442a: 4b02 0001 |0249: aput v2, v0, v1
00442e: 1301 1700 |024b: const/16 v1, #int 23 // #17
004432: 1502 0004 |024d: const/high16 v2, #int 67108864 // #400
004436: 4b02 0001 |024f: aput v2, v0, v1
00443a: 1301 1800 |0251: const/16 v1, #int 24 // #18
00443e: 1502 0010 |0253: const/high16 v2, #int 268435456 // #1000
004442: 4b02 0001 |0255: aput v2, v0, v1
004446: 1301 1900 |0257: const/16 v1, #int 25 // #19
00444a: 1502 0020 |0259: const/high16 v2, #int 536870912 // #2000
00444e: 4b02 0001 |025b: aput v2, v0, v1
004452: 1301 1a00 |025d: const/16 v1, #int 26 // #1a
004456: 1502 0040 |025f: const/high16 v2, #int 1073741824 // #4000
00445a: 4b02 0001 |0261: aput v2, v0, v1
00445e: 1301 1b00 |0263: const/16 v1, #int 27 // #1b
004462: 1502 0080 |0265: const/high16 v2, #int -2147483648 // #8000
004466: 4b02 0001 |0267: aput v2, v0, v1
00446a: 6900 3400 |0269: sput-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
00446e: 2330 3700 |026b: new-array v0, v3, [I // type@0037
004472: 1211 |026d: const/4 v1, #int 1 // #1
004474: 1302 0001 |026e: const/16 v2, #int 256 // #100
004478: 4b02 0001 |0270: aput v2, v0, v1
00447c: 1301 0002 |0272: const/16 v1, #int 512 // #200
004480: 4b01 0007 |0274: aput v1, v0, v7
004484: 1231 |0276: const/4 v1, #int 3 // #3
004486: 1302 0004 |0277: const/16 v2, #int 1024 // #400
00448a: 4b02 0001 |0279: aput v2, v0, v1
00448e: 1251 |027b: const/4 v1, #int 5 // #5
004490: 1302 0010 |027c: const/16 v2, #int 4096 // #1000
004494: 4b02 0001 |027e: aput v2, v0, v1
004498: 1261 |0280: const/4 v1, #int 6 // #6
00449a: 1302 0020 |0281: const/16 v2, #int 8192 // #2000
00449e: 4b02 0001 |0283: aput v2, v0, v1
0044a2: 1271 |0285: const/4 v1, #int 7 // #7
0044a4: 1302 0040 |0286: const/16 v2, #int 16384 // #4000
0044a8: 4b02 0001 |0288: aput v2, v0, v1
0044ac: 1301 0900 |028a: const/16 v1, #int 9 // #9
0044b0: 1502 0100 |028c: const/high16 v2, #int 65536 // #1
0044b4: 4b02 0001 |028e: aput v2, v0, v1
0044b8: 1501 0200 |0290: const/high16 v1, #int 131072 // #2
0044bc: 4b01 0004 |0292: aput v1, v0, v4
0044c0: 1301 0b00 |0294: const/16 v1, #int 11 // #b
0044c4: 1502 0400 |0296: const/high16 v2, #int 262144 // #4
0044c8: 4b02 0001 |0298: aput v2, v0, v1
0044cc: 1301 0d00 |029a: const/16 v1, #int 13 // #d
0044d0: 1502 1000 |029c: const/high16 v2, #int 1048576 // #10
0044d4: 4b02 0001 |029e: aput v2, v0, v1
0044d8: 1301 0e00 |02a0: const/16 v1, #int 14 // #e
0044dc: 1502 2000 |02a2: const/high16 v2, #int 2097152 // #20
0044e0: 4b02 0001 |02a4: aput v2, v0, v1
0044e4: 1301 0f00 |02a6: const/16 v1, #int 15 // #f
0044e8: 1502 4000 |02a8: const/high16 v2, #int 4194304 // #40
0044ec: 4b02 0001 |02aa: aput v2, v0, v1
0044f0: 1301 1100 |02ac: const/16 v1, #int 17 // #11
0044f4: 1502 0001 |02ae: const/high16 v2, #int 16777216 // #100
0044f8: 4b02 0001 |02b0: aput v2, v0, v1
0044fc: 1301 1200 |02b2: const/16 v1, #int 18 // #12
004500: 1502 0002 |02b4: const/high16 v2, #int 33554432 // #200
004504: 4b02 0001 |02b6: aput v2, v0, v1
004508: 1301 1300 |02b8: const/16 v1, #int 19 // #13
00450c: 1502 0004 |02ba: const/high16 v2, #int 67108864 // #400
004510: 4b02 0001 |02bc: aput v2, v0, v1
004514: 1501 0010 |02be: const/high16 v1, #int 268435456 // #1000
004518: 4b01 0006 |02c0: aput v1, v0, v6
00451c: 1301 1600 |02c2: const/16 v1, #int 22 // #16
004520: 1502 0020 |02c4: const/high16 v2, #int 536870912 // #2000
004524: 4b02 0001 |02c6: aput v2, v0, v1
004528: 1301 1700 |02c8: const/16 v1, #int 23 // #17
00452c: 1502 0040 |02ca: const/high16 v2, #int 1073741824 // #4000
004530: 4b02 0001 |02cc: aput v2, v0, v1
004534: 6900 3500 |02ce: sput-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
004538: 2330 3700 |02d0: new-array v0, v3, [I // type@0037
00453c: 1201 |02d2: const/4 v1, #int 0 // #0
00453e: 4b03 0001 |02d3: aput v3, v0, v1
004542: 1211 |02d5: const/4 v1, #int 1 // #1
004544: 1302 4000 |02d6: const/16 v2, #int 64 // #40
004548: 4b02 0001 |02d8: aput v2, v0, v1
00454c: 1301 8000 |02da: const/16 v1, #int 128 // #80
004550: 4b01 0007 |02dc: aput v1, v0, v7
004554: 1241 |02de: const/4 v1, #int 4 // #4
004556: 1302 0001 |02df: const/16 v2, #int 256 // #100
00455a: 4b02 0001 |02e1: aput v2, v0, v1
00455e: 1251 |02e3: const/4 v1, #int 5 // #5
004560: 1302 0002 |02e4: const/16 v2, #int 512 // #200
004564: 4b02 0001 |02e6: aput v2, v0, v1
004568: 1261 |02e8: const/4 v1, #int 6 // #6
00456a: 1302 0004 |02e9: const/16 v2, #int 1024 // #400
00456e: 4b02 0001 |02eb: aput v2, v0, v1
004572: 1271 |02ed: const/4 v1, #int 7 // #7
004574: 1302 0008 |02ee: const/16 v2, #int 2048 // #800
004578: 4b02 0001 |02f0: aput v2, v0, v1
00457c: 1301 0800 |02f2: const/16 v1, #int 8 // #8
004580: 1302 0020 |02f4: const/16 v2, #int 8192 // #2000
004584: 4b02 0001 |02f6: aput v2, v0, v1
004588: 1301 0900 |02f8: const/16 v1, #int 9 // #9
00458c: 1302 0040 |02fa: const/16 v2, #int 16384 // #4000
004590: 4b02 0001 |02fc: aput v2, v0, v1
004594: 1401 0080 0000 |02fe: const v1, #float 4.59177e-41 // #00008000
00459a: 4b01 0004 |0301: aput v1, v0, v4
00459e: 1301 0c00 |0303: const/16 v1, #int 12 // #c
0045a2: 1502 0100 |0305: const/high16 v2, #int 65536 // #1
0045a6: 4b02 0001 |0307: aput v2, v0, v1
0045aa: 1301 0d00 |0309: const/16 v1, #int 13 // #d
0045ae: 1502 0200 |030b: const/high16 v2, #int 131072 // #2
0045b2: 4b02 0001 |030d: aput v2, v0, v1
0045b6: 1301 0e00 |030f: const/16 v1, #int 14 // #e
0045ba: 1502 0400 |0311: const/high16 v2, #int 262144 // #4
0045be: 4b02 0001 |0313: aput v2, v0, v1
0045c2: 1301 0f00 |0315: const/16 v1, #int 15 // #f
0045c6: 1502 0800 |0317: const/high16 v2, #int 524288 // #8
0045ca: 4b02 0001 |0319: aput v2, v0, v1
0045ce: 1501 2000 |031b: const/high16 v1, #int 2097152 // #20
0045d2: 4b01 0005 |031d: aput v1, v0, v5
0045d6: 1301 1100 |031f: const/16 v1, #int 17 // #11
0045da: 1502 4000 |0321: const/high16 v2, #int 4194304 // #40
0045de: 4b02 0001 |0323: aput v2, v0, v1
0045e2: 1301 1200 |0325: const/16 v1, #int 18 // #12
0045e6: 1502 8000 |0327: const/high16 v2, #int 8388608 // #80
0045ea: 4b02 0001 |0329: aput v2, v0, v1
0045ee: 1301 1400 |032b: const/16 v1, #int 20 // #14
0045f2: 1502 0001 |032d: const/high16 v2, #int 16777216 // #100
0045f6: 4b02 0001 |032f: aput v2, v0, v1
0045fa: 1501 0002 |0331: const/high16 v1, #int 33554432 // #200
0045fe: 4b01 0006 |0333: aput v1, v0, v6
004602: 1301 1600 |0335: const/16 v1, #int 22 // #16
004606: 1502 0004 |0337: const/high16 v2, #int 67108864 // #400
00460a: 4b02 0001 |0339: aput v2, v0, v1
00460e: 1301 1700 |033b: const/16 v1, #int 23 // #17
004612: 1502 0008 |033d: const/high16 v2, #int 134217728 // #800
004616: 4b02 0001 |033f: aput v2, v0, v1
00461a: 1301 1800 |0341: const/16 v1, #int 24 // #18
00461e: 1502 0020 |0343: const/high16 v2, #int 536870912 // #2000
004622: 4b02 0001 |0345: aput v2, v0, v1
004626: 1301 1900 |0347: const/16 v1, #int 25 // #19
00462a: 1502 0040 |0349: const/high16 v2, #int 1073741824 // #4000
00462e: 4b02 0001 |034b: aput v2, v0, v1
004632: 1301 1a00 |034d: const/16 v1, #int 26 // #1a
004636: 1502 0080 |034f: const/high16 v2, #int -2147483648 // #8000
00463a: 4b02 0001 |0351: aput v2, v0, v1
00463e: 6900 3600 |0353: sput-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
004642: 2330 3700 |0355: new-array v0, v3, [I // type@0037
004646: 1201 |0357: const/4 v1, #int 0 // #0
004648: 1302 0002 |0358: const/16 v2, #int 512 // #200
00464c: 4b02 0001 |035a: aput v2, v0, v1
004650: 1211 |035c: const/4 v1, #int 1 // #1
004652: 1302 0004 |035d: const/16 v2, #int 1024 // #400
004656: 4b02 0001 |035f: aput v2, v0, v1
00465a: 1301 0008 |0361: const/16 v1, #int 2048 // #800
00465e: 4b01 0007 |0363: aput v1, v0, v7
004662: 1241 |0365: const/4 v1, #int 4 // #4
004664: 1302 0020 |0366: const/16 v2, #int 8192 // #2000
004668: 4b02 0001 |0368: aput v2, v0, v1
00466c: 1251 |036a: const/4 v1, #int 5 // #5
00466e: 1302 0040 |036b: const/16 v2, #int 16384 // #4000
004672: 4b02 0001 |036d: aput v2, v0, v1
004676: 1261 |036f: const/4 v1, #int 6 // #6
004678: 1402 0080 0000 |0370: const v2, #float 4.59177e-41 // #00008000
00467e: 4b02 0001 |0373: aput v2, v0, v1
004682: 1301 0800 |0375: const/16 v1, #int 8 // #8
004686: 1502 0200 |0377: const/high16 v2, #int 131072 // #2
00468a: 4b02 0001 |0379: aput v2, v0, v1
00468e: 1301 0900 |037b: const/16 v1, #int 9 // #9
004692: 1502 0400 |037d: const/high16 v2, #int 262144 // #4
004696: 4b02 0001 |037f: aput v2, v0, v1
00469a: 1501 0800 |0381: const/high16 v1, #int 524288 // #8
00469e: 4b01 0004 |0383: aput v1, v0, v4
0046a2: 1301 0c00 |0385: const/16 v1, #int 12 // #c
0046a6: 1502 2000 |0387: const/high16 v2, #int 2097152 // #20
0046aa: 4b02 0001 |0389: aput v2, v0, v1
0046ae: 1301 0d00 |038b: const/16 v1, #int 13 // #d
0046b2: 1502 4000 |038d: const/high16 v2, #int 4194304 // #40
0046b6: 4b02 0001 |038f: aput v2, v0, v1
0046ba: 1301 0e00 |0391: const/16 v1, #int 14 // #e
0046be: 1502 8000 |0393: const/high16 v2, #int 8388608 // #80
0046c2: 4b02 0001 |0395: aput v2, v0, v1
0046c6: 1501 0002 |0397: const/high16 v1, #int 33554432 // #200
0046ca: 4b01 0005 |0399: aput v1, v0, v5
0046ce: 1301 1100 |039b: const/16 v1, #int 17 // #11
0046d2: 1502 0004 |039d: const/high16 v2, #int 67108864 // #400
0046d6: 4b02 0001 |039f: aput v2, v0, v1
0046da: 1301 1200 |03a1: const/16 v1, #int 18 // #12
0046de: 1502 0008 |03a3: const/high16 v2, #int 134217728 // #800
0046e2: 4b02 0001 |03a5: aput v2, v0, v1
0046e6: 1301 1400 |03a7: const/16 v1, #int 20 // #14
0046ea: 1502 0020 |03a9: const/high16 v2, #int 536870912 // #2000
0046ee: 4b02 0001 |03ab: aput v2, v0, v1
0046f2: 1501 0040 |03ad: const/high16 v1, #int 1073741824 // #4000
0046f6: 4b01 0006 |03af: aput v1, v0, v6
0046fa: 1301 1600 |03b1: const/16 v1, #int 22 // #16
0046fe: 1502 0080 |03b3: const/high16 v2, #int -2147483648 // #8000
004702: 4b02 0001 |03b5: aput v2, v0, v1
004706: 6900 3700 |03b7: sput-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
00470a: 2330 3700 |03b9: new-array v0, v3, [I // type@0037
00470e: 1211 |03bb: const/4 v1, #int 1 // #1
004710: 4b01 0007 |03bc: aput v1, v0, v7
004714: 1231 |03be: const/4 v1, #int 3 // #3
004716: 1232 |03bf: const/4 v2, #int 3 // #3
004718: 4b02 0001 |03c0: aput v2, v0, v1
00471c: 1241 |03c2: const/4 v1, #int 4 // #4
00471e: 1262 |03c3: const/4 v2, #int 6 // #6
004720: 4b02 0001 |03c4: aput v2, v0, v1
004724: 1251 |03c6: const/4 v1, #int 5 // #5
004726: 4b04 0001 |03c7: aput v4, v0, v1
00472a: 1261 |03c9: const/4 v1, #int 6 // #6
00472c: 1302 0f00 |03ca: const/16 v2, #int 15 // #f
004730: 4b02 0001 |03cc: aput v2, v0, v1
004734: 1271 |03ce: const/4 v1, #int 7 // #7
004736: 4b06 0001 |03cf: aput v6, v0, v1
00473a: 1301 0800 |03d1: const/16 v1, #int 8 // #8
00473e: 1302 1c00 |03d3: const/16 v2, #int 28 // #1c
004742: 4b02 0001 |03d5: aput v2, v0, v1
004746: 1301 0900 |03d7: const/16 v1, #int 9 // #9
00474a: 1302 2400 |03d9: const/16 v2, #int 36 // #24
00474e: 4b02 0001 |03db: aput v2, v0, v1
004752: 1301 2d00 |03dd: const/16 v1, #int 45 // #2d
004756: 4b01 0004 |03df: aput v1, v0, v4
00475a: 1301 0b00 |03e1: const/16 v1, #int 11 // #b
00475e: 1302 3700 |03e3: const/16 v2, #int 55 // #37
004762: 4b02 0001 |03e5: aput v2, v0, v1
004766: 1301 0c00 |03e7: const/16 v1, #int 12 // #c
00476a: 1302 4200 |03e9: const/16 v2, #int 66 // #42
00476e: 4b02 0001 |03eb: aput v2, v0, v1
004772: 1301 0d00 |03ed: const/16 v1, #int 13 // #d
004776: 1302 4e00 |03ef: const/16 v2, #int 78 // #4e
00477a: 4b02 0001 |03f1: aput v2, v0, v1
00477e: 1301 0e00 |03f3: const/16 v1, #int 14 // #e
004782: 1302 5b00 |03f5: const/16 v2, #int 91 // #5b
004786: 4b02 0001 |03f7: aput v2, v0, v1
00478a: 1301 0f00 |03f9: const/16 v1, #int 15 // #f
00478e: 1302 6900 |03fb: const/16 v2, #int 105 // #69
004792: 4b02 0001 |03fd: aput v2, v0, v1
004796: 1301 7800 |03ff: const/16 v1, #int 120 // #78
00479a: 4b01 0005 |0401: aput v1, v0, v5
00479e: 1301 1100 |0403: const/16 v1, #int 17 // #11
0047a2: 1302 8800 |0405: const/16 v2, #int 136 // #88
0047a6: 4b02 0001 |0407: aput v2, v0, v1
0047aa: 1301 1200 |0409: const/16 v1, #int 18 // #12
0047ae: 1302 9900 |040b: const/16 v2, #int 153 // #99
0047b2: 4b02 0001 |040d: aput v2, v0, v1
0047b6: 1301 1300 |040f: const/16 v1, #int 19 // #13
0047ba: 1302 ab00 |0411: const/16 v2, #int 171 // #ab
0047be: 4b02 0001 |0413: aput v2, v0, v1
0047c2: 1301 1400 |0415: const/16 v1, #int 20 // #14
0047c6: 1302 be00 |0417: const/16 v2, #int 190 // #be
0047ca: 4b02 0001 |0419: aput v2, v0, v1
0047ce: 1301 d200 |041b: const/16 v1, #int 210 // #d2
0047d2: 4b01 0006 |041d: aput v1, v0, v6
0047d6: 1301 1600 |041f: const/16 v1, #int 22 // #16
0047da: 1302 e700 |0421: const/16 v2, #int 231 // #e7
0047de: 4b02 0001 |0423: aput v2, v0, v1
0047e2: 1301 1700 |0425: const/16 v1, #int 23 // #17
0047e6: 1302 fd00 |0427: const/16 v2, #int 253 // #fd
0047ea: 4b02 0001 |0429: aput v2, v0, v1
0047ee: 1301 1800 |042b: const/16 v1, #int 24 // #18
0047f2: 1302 1401 |042d: const/16 v2, #int 276 // #114
0047f6: 4b02 0001 |042f: aput v2, v0, v1
0047fa: 1301 1900 |0431: const/16 v1, #int 25 // #19
0047fe: 1302 2c01 |0433: const/16 v2, #int 300 // #12c
004802: 4b02 0001 |0435: aput v2, v0, v1
004806: 1301 1a00 |0437: const/16 v1, #int 26 // #1a
00480a: 1302 4501 |0439: const/16 v2, #int 325 // #145
00480e: 4b02 0001 |043b: aput v2, v0, v1
004812: 1301 1b00 |043d: const/16 v1, #int 27 // #1b
004816: 1302 5f01 |043f: const/16 v2, #int 351 // #15f
00481a: 4b02 0001 |0441: aput v2, v0, v1
00481e: 1301 1c00 |0443: const/16 v1, #int 28 // #1c
004822: 1302 7a01 |0445: const/16 v2, #int 378 // #17a
004826: 4b02 0001 |0447: aput v2, v0, v1
00482a: 1301 1d00 |0449: const/16 v1, #int 29 // #1d
00482e: 1302 9601 |044b: const/16 v2, #int 406 // #196
004832: 4b02 0001 |044d: aput v2, v0, v1
004836: 1301 1e00 |044f: const/16 v1, #int 30 // #1e
00483a: 1302 b301 |0451: const/16 v2, #int 435 // #1b3
00483e: 4b02 0001 |0453: aput v2, v0, v1
004842: 1301 1f00 |0455: const/16 v1, #int 31 // #1f
004846: 1302 d101 |0457: const/16 v2, #int 465 // #1d1
00484a: 4b02 0001 |0459: aput v2, v0, v1
00484e: 6900 3800 |045b: sput-object v0, Lcom/google/android/checkers/a;.L:[I // field@0038
004852: 1300 8100 |045d: const/16 v0, #int 129 // #81
004856: 2300 3700 |045f: new-array v0, v0, [I // type@0037
00485a: 2600 0700 0000 |0461: fill-array-data v0, 00000468 // +00000007
004860: 6900 3900 |0464: sput-object v0, Lcom/google/android/checkers/a;.M:[I // field@0039
004864: 0e00 |0466: return-void
004866: 0000 |0467: nop // spacer
004868: 0003 0400 8100 0000 6745 68ba ff5c ... |0468: array-data (262 units)
catches : (none)
positions :
locals :
#1 : (in Lcom/google/android/checkers/a;)
name : '<init>'
type : '(Lcom/google/android/checkers/CheckersView;)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
method_idx : 114
code -
registers : 7
ins : 2
outs : 1
insns size : 94 16-bit code units
004a74: |[004a74] com.google.android.checkers.a.<init>:(Lcom/google/android/checkers/CheckersView;)V
004a84: 1304 4000 |0000: const/16 v4, #int 64 // #40
004a88: 1203 |0002: const/4 v3, #int 0 // #0
004a8a: 1302 0010 |0003: const/16 v2, #int 4096 // #1000
004a8e: 1200 |0005: const/4 v0, #int 0 // #0
004a90: 7010 ad00 0500 |0006: invoke-direct {v5}, Ljava/lang/Thread;.<init>:()V // method@00ad
004a96: 1301 e803 |0009: const/16 v1, #int 1000 // #3e8
004a9a: 5951 4100 |000b: iput v1, v5, Lcom/google/android/checkers/a;.h:I // field@0041
004a9e: 2201 3300 |000d: new-instance v1, Ljava/util/Random; // type@0033
004aa2: 7010 af00 0100 |000f: invoke-direct {v1}, Ljava/util/Random;.<init>:()V // method@00af
004aa8: 5b51 4200 |0012: iput-object v1, v5, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042
004aac: 5b56 4300 |0014: iput-object v6, v5, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
004ab0: 5c50 4400 |0016: iput-boolean v0, v5, Lcom/google/android/checkers/a;.k:Z // field@0044
004ab4: 2321 3700 |0018: new-array v1, v2, [I // type@0037
004ab8: 5b51 4800 |001a: iput-object v1, v5, Lcom/google/android/checkers/a;.o:[I // field@0048
004abc: 2321 3700 |001c: new-array v1, v2, [I // type@0037
004ac0: 5b51 3a00 |001e: iput-object v1, v5, Lcom/google/android/checkers/a;.a:[I // field@003a
004ac4: 2321 3700 |0020: new-array v1, v2, [I // type@0037
004ac8: 5b51 4900 |0022: iput-object v1, v5, Lcom/google/android/checkers/a;.p:[I // field@0049
004acc: 2341 3700 |0024: new-array v1, v4, [I // type@0037
004ad0: 5b51 3b00 |0026: iput-object v1, v5, Lcom/google/android/checkers/a;.b:[I // field@003b
004ad4: 2341 3700 |0028: new-array v1, v4, [I // type@0037
004ad8: 5b51 4a00 |002a: iput-object v1, v5, Lcom/google/android/checkers/a;.q:[I // field@004a
004adc: 5c50 4c00 |002c: iput-boolean v0, v5, Lcom/google/android/checkers/a;.s:Z // field@004c
004ae0: 1501 1000 |002e: const/high16 v1, #int 1048576 // #10
004ae4: 2311 3700 |0030: new-array v1, v1, [I // type@0037
004ae8: 5b51 5200 |0032: iput-object v1, v5, Lcom/google/android/checkers/a;.y:[I // field@0052
004aec: 1501 1000 |0034: const/high16 v1, #int 1048576 // #10
004af0: 2311 3900 |0036: new-array v1, v1, [S // type@0039
004af4: 5b51 5300 |0038: iput-object v1, v5, Lcom/google/android/checkers/a;.z:[S // field@0053
004af8: 1501 1000 |003a: const/high16 v1, #int 1048576 // #10
004afc: 2311 3600 |003c: new-array v1, v1, [B // type@0036
004b00: 5b51 2d00 |003e: iput-object v1, v5, Lcom/google/android/checkers/a;.A:[B // field@002d
004b04: 5451 5200 |0040: iget-object v1, v5, Lcom/google/android/checkers/a;.y:[I // field@0052
004b08: 3801 0b00 |0042: if-eqz v1, 004d // +000b
004b0c: 5451 5300 |0044: iget-object v1, v5, Lcom/google/android/checkers/a;.z:[S // field@0053
004b10: 3801 0700 |0046: if-eqz v1, 004d // +0007
004b14: 5451 2d00 |0048: iget-object v1, v5, Lcom/google/android/checkers/a;.A:[B // field@002d
004b18: 3801 0300 |004a: if-eqz v1, 004d // +0003
004b1c: 1210 |004c: const/4 v0, #int 1 // #1
004b1e: 5c50 2e00 |004d: iput-boolean v0, v5, Lcom/google/android/checkers/a;.B:Z // field@002e
004b22: 6e10 7b00 0500 |004f: invoke-virtual {v5}, Lcom/google/android/checkers/a;.a:()V // method@007b
004b28: 6e10 8e00 0500 |0052: invoke-virtual {v5}, Lcom/google/android/checkers/a;.start:()V // method@008e
004b2e: 0e00 |0055: return-void
004b30: 0d01 |0056: move-exception v1
004b32: 5b53 5200 |0057: iput-object v3, v5, Lcom/google/android/checkers/a;.y:[I // field@0052
004b36: 5b53 5300 |0059: iput-object v3, v5, Lcom/google/android/checkers/a;.z:[S // field@0053
004b3a: 5b53 2d00 |005b: iput-object v3, v5, Lcom/google/android/checkers/a;.A:[B // field@002d
004b3e: 28e3 |005d: goto 0040 // -001d
catches : 1
0x0030 - 0x0040
Ljava/lang/Exception; -> 0x0056
positions :
locals :
#2 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(II)I'
access : 0x001a (PRIVATE STATIC FINAL)
method_idx : 115
code -
registers : 3
ins : 2
outs : 0
insns size : 14 16-bit code units
004b4c: |[004b4c] com.google.android.checkers.a.a:(II)I
004b5c: 3d01 0600 |0000: if-lez v1, 0006 // +0006
004b60: d010 757e |0002: add-int/lit16 v0, v1, #int 32373 // #7e75
004b64: b120 |0004: sub-int/2addr v0, v2
004b66: 0f00 |0005: return v0
004b68: 3b01 0600 |0006: if-gez v1, 000c // +0006
004b6c: d010 8b81 |0008: add-int/lit16 v0, v1, #int -32373 // #818b
004b70: b020 |000a: add-int/2addr v0, v2
004b72: 28fa |000b: goto 0005 // -0006
004b74: 1200 |000c: const/4 v0, #int 0 // #0
004b76: 28f8 |000d: goto 0005 // -0008
catches : (none)
positions :
locals :
#3 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IIIIIZ)I'
access : 0x0012 (PRIVATE FINAL)
method_idx : 116
code -
registers : 31
ins : 7
outs : 7
insns size : 1296 16-bit code units
004b78: |[004b78] com.google.android.checkers.a.a:(IIIIIZ)I
004b88: 0800 1800 |0000: move-object/from16 v0, v24
004b8c: 5203 2f00 |0002: iget v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f
004b90: d803 0301 |0004: add-int/lit8 v3, v3, #int 1 // #01
004b94: 0800 1800 |0006: move-object/from16 v0, v24
004b98: 5903 2f00 |0008: iput v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f
004b9c: 0800 1800 |000a: move-object/from16 v0, v24
004ba0: 5203 4f00 |000c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
004ba4: 3803 0800 |000e: if-eqz v3, 0016 // +0008
004ba8: 0800 1800 |0010: move-object/from16 v0, v24
004bac: 5203 5000 |0012: iget v3, v0, Lcom/google/android/checkers/a;.w:I // field@0050
004bb0: 3903 0700 |0014: if-nez v3, 001b // +0007
004bb4: 0200 1b00 |0016: move/from16 v0, v27
004bb8: d004 0c81 |0018: add-int/lit16 v4, v0, #int -32500 // #810c
004bbc: 0f04 |001a: return v4
004bbe: 0800 1800 |001b: move-object/from16 v0, v24
004bc2: 5503 4e00 |001d: iget-boolean v3, v0, Lcom/google/android/checkers/a;.u:Z // field@004e
004bc6: 3803 0e00 |001f: if-eqz v3, 002d // +000e
004bca: 0800 1800 |0021: move-object/from16 v0, v24
004bce: 5203 4f00 |0023: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
004bd2: 0800 1800 |0025: move-object/from16 v0, v24
004bd6: 5204 5000 |0027: iget v4, v0, Lcom/google/android/checkers/a;.w:I // field@0050
004bda: b043 |0029: add-int/2addr v3, v4
004bdc: 2b03 c004 0000 |002a: packed-switch v3, 000004ea // +000004c0
004be2: 1303 4000 |002d: const/16 v3, #int 64 // #40
004be6: 0200 1c00 |002f: move/from16 v0, v28
004bea: 3530 b404 |0031: if-ge v0, v3, 04e5 // +04b4
004bee: 1303 6400 |0033: const/16 v3, #int 100 // #64
004bf2: 0200 1d00 |0035: move/from16 v0, v29
004bf6: 3430 ae04 |0037: if-lt v0, v3, 04e5 // +04ae
004bfa: d81d 1d9c |0039: add-int/lit8 v29, v29, #int -100 // #9c
004bfe: d81c 1c01 |003b: add-int/lit8 v28, v28, #int 1 // #01
004c02: 0207 1c00 |003d: move/from16 v7, v28
004c06: 0200 1b00 |003f: move/from16 v0, v27
004c0a: 3570 8103 |0041: if-ge v0, v7, 03c2 // +0381
004c0e: 0800 1800 |0043: move-object/from16 v0, v24
004c12: 5503 2e00 |0045: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e
004c16: 3803 3400 |0047: if-eqz v3, 007b // +0034
004c1a: 0800 1800 |0049: move-object/from16 v0, v24
004c1e: 5203 5100 |004b: iget v3, v0, Lcom/google/android/checkers/a;.x:I // field@0051
004c22: 1404 ffff 0f00 |004d: const v4, #float 1.46937e-39 // #000fffff
004c28: b534 |0050: and-int/2addr v4, v3
004c2a: 0800 1800 |0051: move-object/from16 v0, v24
004c2e: 5405 5200 |0053: iget-object v5, v0, Lcom/google/android/checkers/a;.y:[I // field@0052
004c32: 4405 0504 |0055: aget v5, v5, v4
004c36: 3335 d702 |0057: if-ne v5, v3, 032e // +02d7
004c3a: 0800 1800 |0059: move-object/from16 v0, v24
004c3e: 5403 2d00 |005b: iget-object v3, v0, Lcom/google/android/checkers/a;.A:[B // field@002d
004c42: 4803 0304 |005d: aget-byte v3, v3, v4
004c46: dd03 033f |005f: and-int/lit8 v3, v3, #int 63 // #3f
004c4a: 9105 071b |0061: sub-int v5, v7, v27
004c4e: 3453 cb02 |0063: if-lt v3, v5, 032e // +02cb
004c52: 0800 1800 |0065: move-object/from16 v0, v24
004c56: 5403 2d00 |0067: iget-object v3, v0, Lcom/google/android/checkers/a;.A:[B // field@002d
004c5a: 4803 0304 |0069: aget-byte v3, v3, v4
004c5e: d533 c000 |006b: and-int/lit16 v3, v3, #int 192 // #00c0
004c62: 0800 1800 |006d: move-object/from16 v0, v24
004c66: 5405 5300 |006f: iget-object v5, v0, Lcom/google/android/checkers/a;.z:[S // field@0053
004c6a: 4a04 0504 |0071: aget-short v4, v5, v4
004c6e: 2c03 8104 0000 |0073: sparse-switch v3, 000004f4 // +00000481
004c74: 1403 3f42 0f00 |0076: const v3, #float 1.4013e-39 // #000f423f
004c7a: 3334 a1ff |0079: if-ne v4, v3, 001a // -005f
004c7e: 0800 1800 |007b: move-object/from16 v0, v24
004c82: 0201 1b00 |007d: move/from16 v1, v27
004c86: 0202 1e00 |007f: move/from16 v2, v30
004c8a: 7030 7500 1002 |0081: invoke-direct {v0, v1, v2}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075
004c90: 0a03 |0084: move-result v3
004c92: 2b03 7904 0000 |0085: packed-switch v3, 000004fe // +00000479
004c98: 0800 1800 |0088: move-object/from16 v0, v24
004c9c: 520d 3c00 |008a: iget v13, v0, Lcom/google/android/checkers/a;.c:I // field@003c
004ca0: 0800 1800 |008c: move-object/from16 v0, v24
004ca4: 520e 4b00 |008e: iget v14, v0, Lcom/google/android/checkers/a;.r:I // field@004b
004ca8: 0800 1800 |0090: move-object/from16 v0, v24
004cac: 520f 3d00 |0092: iget v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004cb0: 0800 1800 |0094: move-object/from16 v0, v24
004cb4: 5200 3e00 |0096: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004cb8: 0210 0000 |0098: move/from16 v16, v0
004cbc: 0800 1800 |009a: move-object/from16 v0, v24
004cc0: 5200 3f00 |009c: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004cc4: 0211 0000 |009e: move/from16 v17, v0
004cc8: 0800 1800 |00a0: move-object/from16 v0, v24
004ccc: 5200 4000 |00a2: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004cd0: 0212 0000 |00a4: move/from16 v18, v0
004cd4: 0800 1800 |00a6: move-object/from16 v0, v24
004cd8: 5200 4f00 |00a8: iget v0, v0, Lcom/google/android/checkers/a;.v:I // field@004f
004cdc: 0213 0000 |00aa: move/from16 v19, v0
004ce0: 0800 1800 |00ac: move-object/from16 v0, v24
004ce4: 5200 5000 |00ae: iget v0, v0, Lcom/google/android/checkers/a;.w:I // field@0050
004ce8: 0214 0000 |00b0: move/from16 v20, v0
004cec: 0800 1800 |00b2: move-object/from16 v0, v24
004cf0: 5200 5100 |00b4: iget v0, v0, Lcom/google/android/checkers/a;.x:I // field@0051
004cf4: 0215 0000 |00b6: move/from16 v21, v0
004cf8: 2b0d 4e04 0000 |00b8: packed-switch v13, 00000506 // +0000044e
004cfe: 1208 |00bb: const/4 v8, #int 0 // #0
004d00: 130a 4000 |00bc: const/16 v10, #int 64 // #40
004d04: 1203 |00be: const/4 v3, #int 0 // #0
004d06: 013c |00bf: move v12, v3
004d08: 020b 1900 |00c0: move/from16 v11, v25
004d0c: 34dc 9602 |00c2: if-lt v12, v13, 0358 // +0296
004d10: 0800 1800 |00c4: move-object/from16 v0, v24
004d14: 5503 2e00 |00c6: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e
004d18: 3803 0900 |00c8: if-eqz v3, 00d1 // +0009
004d1c: 0800 1800 |00ca: move-object/from16 v0, v24
004d20: 0201 1b00 |00cc: move/from16 v1, v27
004d24: 705b 7d00 10a7 |00ce: invoke-direct {v0, v1, v7, v10, v11}, Lcom/google/android/checkers/a;.a:(IIII)V // method@007d
004d2a: 01b4 |00d1: move v4, v11
004d2c: 2900 48ff |00d2: goto/16 001a // -00b8
004d30: 0800 1800 |00d4: move-object/from16 v0, v24
004d34: 5203 3d00 |00d6: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004d38: 3803 3800 |00d8: if-eqz v3, 0110 // +0038
004d3c: 0800 1800 |00da: move-object/from16 v0, v24
004d40: 5203 3f00 |00dc: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004d44: 3803 3200 |00de: if-eqz v3, 0110 // +0032
004d48: 0800 1800 |00e0: move-object/from16 v0, v24
004d4c: 5203 3d00 |00e2: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004d50: 0800 1800 |00e4: move-object/from16 v0, v24
004d54: 5205 3f00 |00e6: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004d58: 381e 1b00 |00e8: if-eqz v30, 0103 // +001b
004d5c: 7110 9f00 0300 |00ea: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004d62: 0a04 |00ed: move-result v4
004d64: 7110 9f00 0500 |00ee: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004d6a: 0a03 |00f1: move-result v3
004d6c: d803 03fc |00f2: add-int/lit8 v3, v3, #int -4 // #fc
004d70: 6205 5c00 |00f4: sget-object v5, Lcom/google/android/checkers/g;.d:[B // field@005c
004d74: da03 031c |00f6: mul-int/lit8 v3, v3, #int 28 // #1c
004d78: b043 |00f8: add-int/2addr v3, v4
004d7a: 4803 0503 |00f9: aget-byte v3, v5, v3
004d7e: 0200 1b00 |00fb: move/from16 v0, v27
004d82: 7120 7300 0300 |00fd: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073
004d88: 0a04 |0100: move-result v4
004d8a: 2900 19ff |0101: goto/16 001a // -00e7
004d8e: 7110 9f00 0500 |0103: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004d94: 0a04 |0106: move-result v4
004d96: d904 041f |0107: rsub-int/lit8 v4, v4, #int 31 // #1f
004d9a: 7110 9f00 0300 |0109: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004da0: 0a03 |010c: move-result v3
004da2: d903 031f |010d: rsub-int/lit8 v3, v3, #int 31 // #1f
004da6: 28e3 |010f: goto 00f2 // -001d
004da8: 0800 1800 |0110: move-object/from16 v0, v24
004dac: 5203 3f00 |0112: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004db0: 3803 1200 |0114: if-eqz v3, 0126 // +0012
004db4: 0800 1800 |0116: move-object/from16 v0, v24
004db8: 5203 3e00 |0118: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004dbc: 0800 1800 |011a: move-object/from16 v0, v24
004dc0: 5204 3f00 |011c: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004dc4: 1205 |011e: const/4 v5, #int 0 // #0
004dc6: 0200 1e00 |011f: move/from16 v0, v30
004dca: 7140 7900 3054 |0121: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(ZIIZ)I // method@0079
004dd0: 0a03 |0124: move-result v3
004dd2: 28d6 |0125: goto 00fb // -002a
004dd4: 0800 1800 |0126: move-object/from16 v0, v24
004dd8: 5203 3d00 |0128: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004ddc: 3803 1500 |012a: if-eqz v3, 013f // +0015
004de0: 381e 1100 |012c: if-eqz v30, 013d // +0011
004de4: 1203 |012e: const/4 v3, #int 0 // #0
004de6: 0800 1800 |012f: move-object/from16 v0, v24
004dea: 5204 4000 |0131: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004dee: 0800 1800 |0133: move-object/from16 v0, v24
004df2: 5205 3d00 |0135: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004df6: 1216 |0137: const/4 v6, #int 1 // #1
004df8: 7140 7900 4365 |0138: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.a:(ZIIZ)I // method@0079
004dfe: 0a03 |013b: move-result v3
004e00: 28bf |013c: goto 00fb // -0041
004e02: 1213 |013d: const/4 v3, #int 1 // #1
004e04: 28f1 |013e: goto 012f // -000f
004e06: 0800 1800 |013f: move-object/from16 v0, v24
004e0a: 5203 3e00 |0141: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004e0e: 0800 1800 |0143: move-object/from16 v0, v24
004e12: 5205 4000 |0145: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004e16: 381e 1a00 |0147: if-eqz v30, 0161 // +001a
004e1a: 7110 9f00 0300 |0149: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004e20: 0a04 |014c: move-result v4
004e22: 7110 9f00 0500 |014d: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004e28: 0a03 |0150: move-result v3
004e2a: 1305 1000 |0151: const/16 v5, #int 16 // #10
004e2e: 3454 0600 |0153: if-lt v4, v5, 0159 // +0006
004e32: d904 041f |0155: rsub-int/lit8 v4, v4, #int 31 // #1f
004e36: d903 031f |0157: rsub-int/lit8 v3, v3, #int 31 // #1f
004e3a: 6205 5900 |0159: sget-object v5, Lcom/google/android/checkers/g;.a:[B // field@0059
004e3e: da03 0310 |015b: mul-int/lit8 v3, v3, #int 16 // #10
004e42: b043 |015d: add-int/2addr v3, v4
004e44: 4803 0503 |015e: aget-byte v3, v5, v3
004e48: 289b |0160: goto 00fb // -0065
004e4a: 7110 9f00 0500 |0161: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004e50: 0a04 |0164: move-result v4
004e52: 7110 9f00 0300 |0165: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
004e58: 0a03 |0168: move-result v3
004e5a: 28e8 |0169: goto 0151 // -0018
004e5c: 0800 1800 |016a: move-object/from16 v0, v24
004e60: 5203 4f00 |016c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
004e64: 1214 |016e: const/4 v4, #int 1 // #1
004e66: 3343 a000 |016f: if-ne v3, v4, 020f // +00a0
004e6a: 0800 1800 |0171: move-object/from16 v0, v24
004e6e: 5203 3d00 |0173: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004e72: 3803 5200 |0175: if-eqz v3, 01c7 // +0052
004e76: 0800 1800 |0177: move-object/from16 v0, v24
004e7a: 5203 4000 |0179: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004e7e: 3903 1c00 |017b: if-nez v3, 0197 // +001c
004e82: 381e 1800 |017d: if-eqz v30, 0195 // +0018
004e86: 1203 |017f: const/4 v3, #int 0 // #0
004e88: 0800 1800 |0180: move-object/from16 v0, v24
004e8c: 5204 3f00 |0182: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004e90: 0800 1800 |0184: move-object/from16 v0, v24
004e94: 5205 3d00 |0186: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004e98: 1216 |0188: const/4 v6, #int 1 // #1
004e9a: 7140 8c00 4365 |0189: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.d:(ZIIZ)I // method@008c
004ea0: 0a03 |018c: move-result v3
004ea2: 0200 1b00 |018d: move/from16 v0, v27
004ea6: 7120 7300 0300 |018f: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073
004eac: 0a04 |0192: move-result v4
004eae: 2900 87fe |0193: goto/16 001a // -0179
004eb2: 1213 |0195: const/4 v3, #int 1 // #1
004eb4: 28ea |0196: goto 0180 // -0016
004eb6: 0800 1800 |0197: move-object/from16 v0, v24
004eba: 5203 3f00 |0199: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004ebe: 3803 1900 |019b: if-eqz v3, 01b4 // +0019
004ec2: 381e 1500 |019d: if-eqz v30, 01b2 // +0015
004ec6: 1203 |019f: const/4 v3, #int 0 // #0
004ec8: 0800 1800 |01a0: move-object/from16 v0, v24
004ecc: 5204 3f00 |01a2: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004ed0: 0800 1800 |01a4: move-object/from16 v0, v24
004ed4: 5205 4000 |01a6: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004ed8: 0800 1800 |01a8: move-object/from16 v0, v24
004edc: 5206 3d00 |01aa: iget v6, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004ee0: 1217 |01ac: const/4 v7, #int 1 // #1
004ee2: 7157 8200 4365 |01ad: invoke-static {v3, v4, v5, v6, v7}, Lcom/google/android/checkers/a;.b:(ZIIIZ)I // method@0082
004ee8: 0a03 |01b0: move-result v3
004eea: 28dc |01b1: goto 018d // -0024
004eec: 1213 |01b2: const/4 v3, #int 1 // #1
004eee: 28ed |01b3: goto 01a0 // -0013
004ef0: 381e 1100 |01b4: if-eqz v30, 01c5 // +0011
004ef4: 1203 |01b6: const/4 v3, #int 0 // #0
004ef6: 0800 1800 |01b7: move-object/from16 v0, v24
004efa: 5204 4000 |01b9: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004efe: 0800 1800 |01bb: move-object/from16 v0, v24
004f02: 5205 3d00 |01bd: iget v5, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004f06: 1216 |01bf: const/4 v6, #int 1 // #1
004f08: 7140 8300 4365 |01c0: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.b:(ZIIZ)I // method@0083
004f0e: 0a03 |01c3: move-result v3
004f10: 28c9 |01c4: goto 018d // -0037
004f12: 1213 |01c5: const/4 v3, #int 1 // #1
004f14: 28f1 |01c6: goto 01b7 // -000f
004f16: 0800 1800 |01c7: move-object/from16 v0, v24
004f1a: 5203 4000 |01c9: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004f1e: 3903 1500 |01cb: if-nez v3, 01e0 // +0015
004f22: 381e 1100 |01cd: if-eqz v30, 01de // +0011
004f26: 1203 |01cf: const/4 v3, #int 0 // #0
004f28: 0800 1800 |01d0: move-object/from16 v0, v24
004f2c: 5204 3f00 |01d2: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004f30: 0800 1800 |01d4: move-object/from16 v0, v24
004f34: 5205 3e00 |01d6: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004f38: 1216 |01d8: const/4 v6, #int 1 // #1
004f3a: 7140 8900 4365 |01d9: invoke-static {v3, v4, v5, v6}, Lcom/google/android/checkers/a;.c:(ZIIZ)I // method@0089
004f40: 0a03 |01dc: move-result v3
004f42: 28b0 |01dd: goto 018d // -0050
004f44: 1213 |01de: const/4 v3, #int 1 // #1
004f46: 28f1 |01df: goto 01d0 // -000f
004f48: 0800 1800 |01e0: move-object/from16 v0, v24
004f4c: 5203 3f00 |01e2: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004f50: 3803 1900 |01e4: if-eqz v3, 01fd // +0019
004f54: 381e 1500 |01e6: if-eqz v30, 01fb // +0015
004f58: 1203 |01e8: const/4 v3, #int 0 // #0
004f5a: 0800 1800 |01e9: move-object/from16 v0, v24
004f5e: 5204 3f00 |01eb: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004f62: 0800 1800 |01ed: move-object/from16 v0, v24
004f66: 5205 4000 |01ef: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004f6a: 0800 1800 |01f1: move-object/from16 v0, v24
004f6e: 5206 3e00 |01f3: iget v6, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004f72: 1217 |01f5: const/4 v7, #int 1 // #1
004f74: 7157 7800 4365 |01f6: invoke-static {v3, v4, v5, v6, v7}, Lcom/google/android/checkers/a;.a:(ZIIIZ)I // method@0078
004f7a: 0a03 |01f9: move-result v3
004f7c: 2893 |01fa: goto 018d // -006d
004f7e: 1213 |01fb: const/4 v3, #int 1 // #1
004f80: 28ed |01fc: goto 01e9 // -0013
004f82: 381e 1000 |01fd: if-eqz v30, 020d // +0010
004f86: 1203 |01ff: const/4 v3, #int 0 // #0
004f88: 0800 1800 |0200: move-object/from16 v0, v24
004f8c: 5204 4000 |0202: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
004f90: 0800 1800 |0204: move-object/from16 v0, v24
004f94: 5205 3e00 |0206: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004f98: 7130 7700 4305 |0208: invoke-static {v3, v4, v5}, Lcom/google/android/checkers/a;.a:(ZII)I // method@0077
004f9e: 0a03 |020b: move-result v3
004fa0: 2881 |020c: goto 018d // -007f
004fa2: 1213 |020d: const/4 v3, #int 1 // #1
004fa4: 28f2 |020e: goto 0200 // -000e
004fa6: 0800 1800 |020f: move-object/from16 v0, v24
004faa: 5203 3f00 |0211: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004fae: 3803 4500 |0213: if-eqz v3, 0258 // +0045
004fb2: 0800 1800 |0215: move-object/from16 v0, v24
004fb6: 5203 3e00 |0217: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004fba: 3903 1300 |0219: if-nez v3, 022c // +0013
004fbe: 0800 1800 |021b: move-object/from16 v0, v24
004fc2: 5203 3d00 |021d: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004fc6: 0800 1800 |021f: move-object/from16 v0, v24
004fca: 5204 3f00 |0221: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
004fce: 1205 |0223: const/4 v5, #int 0 // #0
004fd0: 0200 1e00 |0224: move/from16 v0, v30
004fd4: 7140 8c00 3054 |0226: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.d:(ZIIZ)I // method@008c
004fda: 0a03 |0229: move-result v3
004fdc: 2900 63ff |022a: goto/16 018d // -009d
004fe0: 0800 1800 |022c: move-object/from16 v0, v24
004fe4: 5203 3d00 |022e: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004fe8: 3803 1700 |0230: if-eqz v3, 0247 // +0017
004fec: 0800 1800 |0232: move-object/from16 v0, v24
004ff0: 5203 3d00 |0234: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
004ff4: 0800 1800 |0236: move-object/from16 v0, v24
004ff8: 5204 3e00 |0238: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
004ffc: 0800 1800 |023a: move-object/from16 v0, v24
005000: 5205 3f00 |023c: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
005004: 1206 |023e: const/4 v6, #int 0 // #0
005006: 0200 1e00 |023f: move/from16 v0, v30
00500a: 7156 8200 3054 |0241: invoke-static {v0, v3, v4, v5, v6}, Lcom/google/android/checkers/a;.b:(ZIIIZ)I // method@0082
005010: 0a03 |0244: move-result v3
005012: 2900 48ff |0245: goto/16 018d // -00b8
005016: 0800 1800 |0247: move-object/from16 v0, v24
00501a: 5203 3e00 |0249: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
00501e: 0800 1800 |024b: move-object/from16 v0, v24
005022: 5204 3f00 |024d: iget v4, v0, Lcom/google/android/checkers/a;.f:I // field@003f
005026: 1205 |024f: const/4 v5, #int 0 // #0
005028: 0200 1e00 |0250: move/from16 v0, v30
00502c: 7140 8300 3054 |0252: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.b:(ZIIZ)I // method@0083
005032: 0a03 |0255: move-result v3
005034: 2900 37ff |0256: goto/16 018d // -00c9
005038: 0800 1800 |0258: move-object/from16 v0, v24
00503c: 5203 3e00 |025a: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005040: 3903 1300 |025c: if-nez v3, 026f // +0013
005044: 0800 1800 |025e: move-object/from16 v0, v24
005048: 5203 3d00 |0260: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
00504c: 0800 1800 |0262: move-object/from16 v0, v24
005050: 5204 4000 |0264: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005054: 1205 |0266: const/4 v5, #int 0 // #0
005056: 0200 1e00 |0267: move/from16 v0, v30
00505a: 7140 8900 3054 |0269: invoke-static {v0, v3, v4, v5}, Lcom/google/android/checkers/a;.c:(ZIIZ)I // method@0089
005060: 0a03 |026c: move-result v3
005062: 2900 20ff |026d: goto/16 018d // -00e0
005066: 0800 1800 |026f: move-object/from16 v0, v24
00506a: 5203 3d00 |0271: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
00506e: 3803 1700 |0273: if-eqz v3, 028a // +0017
005072: 0800 1800 |0275: move-object/from16 v0, v24
005076: 5203 3d00 |0277: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
00507a: 0800 1800 |0279: move-object/from16 v0, v24
00507e: 5204 3e00 |027b: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005082: 0800 1800 |027d: move-object/from16 v0, v24
005086: 5205 4000 |027f: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
00508a: 1206 |0281: const/4 v6, #int 0 // #0
00508c: 0200 1e00 |0282: move/from16 v0, v30
005090: 7156 7800 3054 |0284: invoke-static {v0, v3, v4, v5, v6}, Lcom/google/android/checkers/a;.a:(ZIIIZ)I // method@0078
005096: 0a03 |0287: move-result v3
005098: 2900 05ff |0288: goto/16 018d // -00fb
00509c: 0800 1800 |028a: move-object/from16 v0, v24
0050a0: 5203 3e00 |028c: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
0050a4: 0800 1800 |028e: move-object/from16 v0, v24
0050a8: 5204 4000 |0290: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
0050ac: 0200 1e00 |0292: move/from16 v0, v30
0050b0: 7130 7700 3004 |0294: invoke-static {v0, v3, v4}, Lcom/google/android/checkers/a;.a:(ZII)I // method@0077
0050b6: 0a03 |0297: move-result v3
0050b8: 2900 f5fe |0298: goto/16 018d // -010b
0050bc: 0800 1800 |029a: move-object/from16 v0, v24
0050c0: 5203 4f00 |029c: iget v3, v0, Lcom/google/android/checkers/a;.v:I // field@004f
0050c4: 1224 |029e: const/4 v4, #int 2 // #2
0050c6: 3343 8efd |029f: if-ne v3, v4, 002d // -0272
0050ca: 0800 1800 |02a1: move-object/from16 v0, v24
0050ce: 5203 5000 |02a3: iget v3, v0, Lcom/google/android/checkers/a;.w:I // field@0050
0050d2: 1224 |02a5: const/4 v4, #int 2 // #2
0050d4: 3343 87fd |02a6: if-ne v3, v4, 002d // -0279
0050d8: 0800 1800 |02a8: move-object/from16 v0, v24
0050dc: 5203 3d00 |02aa: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
0050e0: 3903 81fd |02ac: if-nez v3, 002d // -027f
0050e4: 0800 1800 |02ae: move-object/from16 v0, v24
0050e8: 5203 3f00 |02b0: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
0050ec: 3903 7bfd |02b2: if-nez v3, 002d // -0285
0050f0: 0800 1800 |02b4: move-object/from16 v0, v24
0050f4: 5203 3e00 |02b6: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
0050f8: 0800 1800 |02b8: move-object/from16 v0, v24
0050fc: 5207 4000 |02ba: iget v7, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005100: 381e 4000 |02bc: if-eqz v30, 02fc // +0040
005104: 7110 9f00 0300 |02be: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
00510a: 0a06 |02c1: move-result v6
00510c: d804 03ff |02c2: add-int/lit8 v4, v3, #int -1 // #ff
005110: b543 |02c4: and-int/2addr v3, v4
005112: 7110 9f00 0300 |02c5: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005118: 0a05 |02c8: move-result v5
00511a: 7110 9f00 0700 |02c9: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005120: 0a04 |02cc: move-result v4
005122: d803 07ff |02cd: add-int/lit8 v3, v7, #int -1 // #ff
005126: b573 |02cf: and-int/2addr v3, v7
005128: 7110 9f00 0300 |02d0: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
00512e: 0a03 |02d3: move-result v3
005130: 0216 0300 |02d4: move/from16 v22, v3
005134: 0153 |02d6: move v3, v5
005136: 0205 1600 |02d7: move/from16 v5, v22
00513a: 0217 0400 |02d9: move/from16 v23, v4
00513e: 0164 |02db: move v4, v6
005140: 0206 1700 |02dc: move/from16 v6, v23
005144: 3534 3f00 |02de: if-ge v4, v3, 031d // +003f
005148: 6207 3800 |02e0: sget-object v7, Lcom/google/android/checkers/a;.L:[I // field@0038
00514c: 4403 0703 |02e2: aget v3, v7, v3
005150: b043 |02e4: add-int/2addr v3, v4
005152: 0134 |02e5: move v4, v3
005154: 3556 3e00 |02e6: if-ge v6, v5, 0324 // +003e
005158: 6203 3800 |02e8: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
00515c: 4403 0305 |02ea: aget v3, v3, v5
005160: b063 |02ec: add-int/2addr v3, v6
005162: 6205 6900 |02ed: sget-object v5, Lcom/google/android/checkers/g;.q:[B // field@0069
005166: d244 f001 |02ef: mul-int/lit16 v4, v4, #int 496 // #01f0
00516a: b043 |02f1: add-int/2addr v3, v4
00516c: 4803 0503 |02f2: aget-byte v3, v5, v3
005170: 0200 1b00 |02f4: move/from16 v0, v27
005174: 7120 7300 0300 |02f6: invoke-static {v3, v0}, Lcom/google/android/checkers/a;.a:(II)I // method@0073
00517a: 0a04 |02f9: move-result v4
00517c: 2900 20fd |02fa: goto/16 001a // -02e0
005180: 7110 9f00 0700 |02fc: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005186: 0a06 |02ff: move-result v6
005188: d804 07ff |0300: add-int/lit8 v4, v7, #int -1 // #ff
00518c: b574 |0302: and-int/2addr v4, v7
00518e: 7110 9f00 0400 |0303: invoke-static {v4}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005194: 0a05 |0306: move-result v5
005196: 7110 9f00 0300 |0307: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
00519c: 0a04 |030a: move-result v4
00519e: d807 03ff |030b: add-int/lit8 v7, v3, #int -1 // #ff
0051a2: b573 |030d: and-int/2addr v3, v7
0051a4: 7110 9f00 0300 |030e: invoke-static {v3}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0051aa: 0a03 |0311: move-result v3
0051ac: 0216 0300 |0312: move/from16 v22, v3
0051b0: 0153 |0314: move v3, v5
0051b2: 0205 1600 |0315: move/from16 v5, v22
0051b6: 0217 0400 |0317: move/from16 v23, v4
0051ba: 0164 |0319: move v4, v6
0051bc: 0206 1700 |031a: move/from16 v6, v23
0051c0: 28c2 |031c: goto 02de // -003e
0051c2: 6207 3800 |031d: sget-object v7, Lcom/google/android/checkers/a;.L:[I // field@0038
0051c6: 4404 0704 |031f: aget v4, v7, v4
0051ca: b043 |0321: add-int/2addr v3, v4
0051cc: 0134 |0322: move v4, v3
0051ce: 28c3 |0323: goto 02e6 // -003d
0051d0: 6203 3800 |0324: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
0051d4: 4403 0306 |0326: aget v3, v3, v6
0051d8: b053 |0328: add-int/2addr v3, v5
0051da: 28c4 |0329: goto 02ed // -003c
0051dc: 0200 1900 |032a: move/from16 v0, v25
0051e0: 3704 4afd |032c: if-le v4, v0, 0076 // -02b6
0051e4: 1404 3f42 0f00 |032e: const v4, #float 1.4013e-39 // #000f423f
0051ea: 2900 45fd |0331: goto/16 0076 // -02bb
0051ee: 0200 1a00 |0333: move/from16 v0, v26
0051f2: 3404 f9ff |0335: if-lt v4, v0, 032e // -0007
0051f6: 2900 3ffd |0337: goto/16 0076 // -02c1
0051fa: 0200 1b00 |0339: move/from16 v0, v27
0051fe: d004 0c81 |033b: add-int/lit16 v4, v0, #int -32500 // #810c
005202: 2900 ddfc |033d: goto/16 001a // -0323
005206: 9103 071b |033f: sub-int v3, v7, v27
00520a: 1214 |0341: const/4 v4, #int 1 // #1
00520c: 3643 46fd |0342: if-gt v3, v4, 0088 // -02ba
005210: 1303 4000 |0344: const/16 v3, #int 64 // #40
005214: 3537 42fd |0346: if-ge v7, v3, 0088 // -02be
005218: d807 0701 |0348: add-int/lit8 v7, v7, #int 1 // #01
00521c: 2900 3efd |034a: goto/16 0088 // -02c2
005220: d808 1d1e |034c: add-int/lit8 v8, v29, #int 30 // #1e
005224: 2900 6efd |034e: goto/16 00bc // -0292
005228: d808 1d0a |0350: add-int/lit8 v8, v29, #int 10 // #0a
00522c: 2900 6afd |0352: goto/16 00bc // -0296
005230: d808 1d05 |0354: add-int/lit8 v8, v29, #int 5 // #05
005234: 2900 66fd |0356: goto/16 00bc // -029a
005238: 9003 0e0c |0358: add-int v3, v14, v12
00523c: 0800 1800 |035a: move-object/from16 v0, v24
005240: 7020 8500 3000 |035c: invoke-direct {v0, v3}, Lcom/google/android/checkers/a;.b:(I)V // method@0085
005246: 0200 1a00 |035f: move/from16 v0, v26
00524a: 7b04 |0361: neg-int v4, v0
00524c: 7bb5 |0362: neg-int v5, v11
00524e: d806 1b01 |0363: add-int/lit8 v6, v27, #int 1 // #01
005252: 381e 3b00 |0365: if-eqz v30, 03a0 // +003b
005256: 1209 |0367: const/4 v9, #int 0 // #0
005258: 0803 1800 |0368: move-object/from16 v3, v24
00525c: 7607 7400 0300 |036a: invoke-direct/range {v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIZ)I // method@0074
005262: 0a03 |036d: move-result v3
005264: 7b34 |036e: neg-int v4, v3
005266: 0800 1800 |036f: move-object/from16 v0, v24
00526a: 590f 3d00 |0371: iput v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
00526e: 0200 1000 |0373: move/from16 v0, v16
005272: 0801 1800 |0375: move-object/from16 v1, v24
005276: 5910 3e00 |0377: iput v0, v1, Lcom/google/android/checkers/a;.e:I // field@003e
00527a: 0200 1100 |0379: move/from16 v0, v17
00527e: 0801 1800 |037b: move-object/from16 v1, v24
005282: 5910 3f00 |037d: iput v0, v1, Lcom/google/android/checkers/a;.f:I // field@003f
005286: 0200 1200 |037f: move/from16 v0, v18
00528a: 0801 1800 |0381: move-object/from16 v1, v24
00528e: 5910 4000 |0383: iput v0, v1, Lcom/google/android/checkers/a;.g:I // field@0040
005292: 0200 1300 |0385: move/from16 v0, v19
005296: 0801 1800 |0387: move-object/from16 v1, v24
00529a: 5910 4f00 |0389: iput v0, v1, Lcom/google/android/checkers/a;.v:I // field@004f
00529e: 0200 1400 |038b: move/from16 v0, v20
0052a2: 0801 1800 |038d: move-object/from16 v1, v24
0052a6: 5910 5000 |038f: iput v0, v1, Lcom/google/android/checkers/a;.w:I // field@0050
0052aa: 0200 1500 |0391: move/from16 v0, v21
0052ae: 0801 1800 |0393: move-object/from16 v1, v24
0052b2: 5910 5100 |0395: iput v0, v1, Lcom/google/android/checkers/a;.x:I // field@0051
0052b6: 0800 1800 |0397: move-object/from16 v0, v24
0052ba: 5503 4600 |0399: iget-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
0052be: 3803 0700 |039b: if-eqz v3, 03a2 // +0007
0052c2: 1204 |039d: const/4 v4, #int 0 // #0
0052c4: 2900 7cfc |039e: goto/16 001a // -0384
0052c8: 1219 |03a0: const/4 v9, #int 1 // #1
0052ca: 28c7 |03a1: goto 0368 // -0039
0052cc: 37b4 3f01 |03a2: if-le v4, v11, 04e1 // +013f
0052d0: 0200 1a00 |03a4: move/from16 v0, v26
0052d4: 3404 1300 |03a6: if-lt v4, v0, 03b9 // +0013
0052d8: 0800 1800 |03a8: move-object/from16 v0, v24
0052dc: 5503 2e00 |03aa: iget-boolean v3, v0, Lcom/google/android/checkers/a;.B:Z // field@002e
0052e0: 3803 6efc |03ac: if-eqz v3, 001a // -0392
0052e4: 1303 8000 |03ae: const/16 v3, #int 128 // #80
0052e8: 0800 1800 |03b0: move-object/from16 v0, v24
0052ec: 0201 1b00 |03b2: move/from16 v1, v27
0052f0: 7054 7d00 1037 |03b4: invoke-direct {v0, v1, v7, v3, v4}, Lcom/google/android/checkers/a;.a:(IIII)V // method@007d
0052f6: 2900 63fc |03b7: goto/16 001a // -039d
0052fa: 1303 c000 |03b9: const/16 v3, #int 192 // #c0
0052fe: d805 0c01 |03bb: add-int/lit8 v5, v12, #int 1 // #01
005302: 015c |03bd: move v12, v5
005304: 013a |03be: move v10, v3
005306: 014b |03bf: move v11, v4
005308: 2900 02fd |03c0: goto/16 00c2 // -02fe
00530c: 0800 1800 |03c2: move-object/from16 v0, v24
005310: 5203 4700 |03c4: iget v3, v0, Lcom/google/android/checkers/a;.n:I // field@0047
005314: d804 0301 |03c6: add-int/lit8 v4, v3, #int 1 // #01
005318: 0800 1800 |03c8: move-object/from16 v0, v24
00531c: 5904 4700 |03ca: iput v4, v0, Lcom/google/android/checkers/a;.n:I // field@0047
005320: 1304 8813 |03cc: const/16 v4, #int 5000 // #1388
005324: 3743 2100 |03ce: if-le v3, v4, 03ef // +0021
005328: 1203 |03d0: const/4 v3, #int 0 // #0
00532a: 0800 1800 |03d1: move-object/from16 v0, v24
00532e: 5903 4700 |03d3: iput v3, v0, Lcom/google/android/checkers/a;.n:I // field@0047
005332: 7100 ab00 0000 |03d5: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@00ab
005338: 0b03 |03d8: move-result-wide v3
00533a: 0800 1800 |03d9: move-object/from16 v0, v24
00533e: 5305 4500 |03db: iget-wide v5, v0, Lcom/google/android/checkers/a;.l:J // field@0045
005342: 0800 1800 |03dd: move-object/from16 v0, v24
005346: 5207 4100 |03df: iget v7, v0, Lcom/google/android/checkers/a;.h:I // field@0041
00534a: 8177 |03e1: int-to-long v7, v7
00534c: bb75 |03e2: add-long/2addr v5, v7
00534e: 3103 0305 |03e3: cmp-long v3, v3, v5
005352: 3d03 0a00 |03e5: if-lez v3, 03ef // +000a
005356: 1213 |03e7: const/4 v3, #int 1 // #1
005358: 0800 1800 |03e8: move-object/from16 v0, v24
00535c: 5c03 4600 |03ea: iput-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
005360: 1204 |03ec: const/4 v4, #int 0 // #0
005362: 2900 2dfc |03ed: goto/16 001a // -03d3
005366: 1204 |03ef: const/4 v4, #int 0 // #0
005368: 0800 1800 |03f0: move-object/from16 v0, v24
00536c: 5203 3d00 |03f2: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
005370: 3903 ad00 |03f4: if-nez v3, 04a1 // +00ad
005374: 0800 1800 |03f6: move-object/from16 v0, v24
005378: 5203 3e00 |03f8: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
00537c: 0145 |03fa: move v5, v4
00537e: 3903 ad00 |03fb: if-nez v3, 04a8 // +00ad
005382: 1204 |03fd: const/4 v4, #int 0 // #0
005384: 0800 1800 |03fe: move-object/from16 v0, v24
005388: 5203 3f00 |0400: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
00538c: 3903 ae00 |0402: if-nez v3, 04b0 // +00ae
005390: 0800 1800 |0404: move-object/from16 v0, v24
005394: 5203 4000 |0406: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005398: 3903 af00 |0408: if-nez v3, 04b7 // +00af
00539c: 3345 b400 |040a: if-ne v5, v4, 04be // +00b4
0053a0: 1203 |040c: const/4 v3, #int 0 // #0
0053a2: 3545 bd00 |040d: if-ge v5, v4, 04ca // +00bd
0053a6: 0800 1800 |040f: move-object/from16 v0, v24
0053aa: 5204 3e00 |0411: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
0053ae: 1405 1100 0088 |0413: const v5, #float -3.85187e-34 // #88000011
0053b4: b554 |0416: and-int/2addr v4, v5
0053b6: 3804 0900 |0417: if-eqz v4, 0420 // +0009
0053ba: 7110 9e00 0400 |0419: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
0053c0: 0a04 |041c: move-result v4
0053c2: e004 0403 |041d: shl-int/lit8 v4, v4, #int 3 // #03
0053c6: b043 |041f: add-int/2addr v3, v4
0053c8: 0800 1800 |0420: move-object/from16 v0, v24
0053cc: 5204 3d00 |0422: iget v4, v0, Lcom/google/android/checkers/a;.d:I // field@003d
0053d0: 0800 1800 |0424: move-object/from16 v0, v24
0053d4: 5205 3e00 |0426: iget v5, v0, Lcom/google/android/checkers/a;.e:I // field@003e
0053d8: b654 |0428: or-int/2addr v4, v5
0053da: 0800 1800 |0429: move-object/from16 v0, v24
0053de: 5205 3f00 |042b: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
0053e2: 0800 1800 |042d: move-object/from16 v0, v24
0053e6: 5206 4000 |042f: iget v6, v0, Lcom/google/android/checkers/a;.g:I // field@0040
0053ea: b665 |0431: or-int/2addr v5, v6
0053ec: 0800 1800 |0432: move-object/from16 v0, v24
0053f0: 5206 3f00 |0434: iget v6, v0, Lcom/google/android/checkers/a;.f:I // field@003f
0053f4: 3806 0900 |0436: if-eqz v6, 043f // +0009
0053f8: dd06 0405 |0438: and-int/lit8 v6, v4, #int 5 // #05
0053fc: 1257 |043a: const/4 v7, #int 5 // #5
0053fe: 3376 0400 |043b: if-ne v6, v7, 043f // +0004
005402: d803 030c |043d: add-int/lit8 v3, v3, #int 12 // #0c
005406: 0800 1800 |043f: move-object/from16 v0, v24
00540a: 5206 3d00 |0441: iget v6, v0, Lcom/google/android/checkers/a;.d:I // field@003d
00540e: 3806 0b00 |0443: if-eqz v6, 044e // +000b
005412: 1506 00a0 |0445: const/high16 v6, #int -1610612736 // #a000
005416: b556 |0447: and-int/2addr v6, v5
005418: 1507 00a0 |0448: const/high16 v7, #int -1610612736 // #a000
00541c: 3376 0400 |044a: if-ne v6, v7, 044e // +0004
005420: d803 03f4 |044c: add-int/lit8 v3, v3, #int -12 // #f4
005424: 1406 0066 6600 |044e: const v6, #float 9.40381e-39 // #00666600
00542a: b564 |0451: and-int/2addr v4, v6
00542c: 7110 9e00 0400 |0452: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
005432: 0a04 |0455: move-result v4
005434: 1406 0066 6600 |0456: const v6, #float 9.40381e-39 // #00666600
00543a: b565 |0459: and-int/2addr v5, v6
00543c: 7110 9e00 0500 |045a: invoke-static {v5}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
005442: 0a05 |045d: move-result v5
005444: b154 |045e: sub-int/2addr v4, v5
005446: b043 |045f: add-int/2addr v3, v4
005448: 0800 1800 |0460: move-object/from16 v0, v24
00544c: 5204 3d00 |0462: iget v4, v0, Lcom/google/android/checkers/a;.d:I // field@003d
005450: 1405 1818 1818 |0464: const v5, #float 1.96577e-24 // #18181818
005456: b554 |0467: and-int/2addr v4, v5
005458: 7110 9e00 0400 |0468: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
00545e: 0a04 |046b: move-result v4
005460: 0800 1800 |046c: move-object/from16 v0, v24
005464: 5205 3f00 |046e: iget v5, v0, Lcom/google/android/checkers/a;.f:I // field@003f
005468: 1406 1818 1818 |0470: const v6, #float 1.96577e-24 // #18181818
00546e: b565 |0473: and-int/2addr v5, v6
005470: 7110 9e00 0500 |0474: invoke-static {v5}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
005476: 0a05 |0477: move-result v5
005478: b154 |0478: sub-int/2addr v4, v5
00547a: b143 |0479: sub-int/2addr v3, v4
00547c: 0800 1800 |047a: move-object/from16 v0, v24
005480: 5204 3e00 |047c: iget v4, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005484: 1405 0800 0010 |047e: const v5, #float 2.52436e-29 // #10000008
00548a: b554 |0481: and-int/2addr v4, v5
00548c: 3804 0900 |0482: if-eqz v4, 048b // +0009
005490: 7110 9e00 0400 |0484: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
005496: 0a04 |0487: move-result v4
005498: e004 0405 |0488: shl-int/lit8 v4, v4, #int 5 // #05
00549c: b143 |048a: sub-int/2addr v3, v4
00549e: 0800 1800 |048b: move-object/from16 v0, v24
0054a2: 5204 4000 |048d: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
0054a6: 1405 0800 0010 |048f: const v5, #float 2.52436e-29 // #10000008
0054ac: b554 |0492: and-int/2addr v4, v5
0054ae: 3804 4c00 |0493: if-eqz v4, 04df // +004c
0054b2: 7110 9e00 0400 |0495: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
0054b8: 0a04 |0498: move-result v4
0054ba: e004 0405 |0499: shl-int/lit8 v4, v4, #int 5 // #05
0054be: b034 |049b: add-int/2addr v4, v3
0054c0: 391e 7efb |049c: if-nez v30, 001a // -0482
0054c4: 7b44 |049e: neg-int v4, v4
0054c6: 2900 7bfb |049f: goto/16 001a // -0485
0054ca: d804 0464 |04a1: add-int/lit8 v4, v4, #int 100 // #64
0054ce: d805 03ff |04a3: add-int/lit8 v5, v3, #int -1 // #ff
0054d2: b553 |04a5: and-int/2addr v3, v5
0054d4: 2900 4eff |04a6: goto/16 03f4 // -00b2
0054d8: d054 8600 |04a8: add-int/lit16 v4, v5, #int 134 // #0086
0054dc: d805 03ff |04aa: add-int/lit8 v5, v3, #int -1 // #ff
0054e0: b553 |04ac: and-int/2addr v3, v5
0054e2: 0145 |04ad: move v5, v4
0054e4: 2900 4dff |04ae: goto/16 03fb // -00b3
0054e8: d804 0464 |04b0: add-int/lit8 v4, v4, #int 100 // #64
0054ec: d806 03ff |04b2: add-int/lit8 v6, v3, #int -1 // #ff
0054f0: b563 |04b4: and-int/2addr v3, v6
0054f2: 2900 4dff |04b5: goto/16 0402 // -00b3
0054f6: d044 8600 |04b7: add-int/lit16 v4, v4, #int 134 // #0086
0054fa: d806 03ff |04b9: add-int/lit8 v6, v3, #int -1 // #ff
0054fe: b563 |04bb: and-int/2addr v3, v6
005500: 2900 4cff |04bc: goto/16 0408 // -00b4
005504: 9103 0504 |04be: sub-int v3, v5, v4
005508: 9106 0504 |04c0: sub-int v6, v5, v4
00550c: e006 0608 |04c2: shl-int/lit8 v6, v6, #int 8 // #08
005510: 9007 0504 |04c4: add-int v7, v5, v4
005514: b376 |04c6: div-int/2addr v6, v7
005516: b063 |04c7: add-int/2addr v3, v6
005518: 2900 45ff |04c8: goto/16 040d // -00bb
00551c: 3745 56ff |04ca: if-le v5, v4, 0420 // -00aa
005520: 0800 1800 |04cc: move-object/from16 v0, v24
005524: 5204 4000 |04ce: iget v4, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005528: 1405 1100 0088 |04d0: const v5, #float -3.85187e-34 // #88000011
00552e: b554 |04d3: and-int/2addr v4, v5
005530: 3804 4cff |04d4: if-eqz v4, 0420 // -00b4
005534: 7110 9e00 0400 |04d6: invoke-static {v4}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
00553a: 0a04 |04d9: move-result v4
00553c: e004 0403 |04da: shl-int/lit8 v4, v4, #int 3 // #03
005540: b143 |04dc: sub-int/2addr v3, v4
005542: 2900 43ff |04dd: goto/16 0420 // -00bd
005546: 0134 |04df: move v4, v3
005548: 28bc |04e0: goto 049c // -0044
00554a: 01a3 |04e1: move v3, v10
00554c: 01b4 |04e2: move v4, v11
00554e: 2900 d8fe |04e3: goto/16 03bb // -0128
005552: 0207 1c00 |04e5: move/from16 v7, v28
005556: 2900 58fb |04e7: goto/16 003f // -04a8
00555a: 0000 |04e9: nop // spacer
00555c: 0001 0300 0200 0000 aa00 0000 4001 ... |04ea: packed-switch-data (10 units)
005570: 0002 0200 4000 0000 8000 0000 b702 ... |04f4: sparse-switch-data (10 units)
005584: 0001 0200 0000 0000 b402 0000 ba02 ... |04fe: packed-switch-data (8 units)
005594: 0001 0300 0100 0000 9402 0000 9802 ... |0506: packed-switch-data (10 units)
catches : (none)
positions :
locals :
#4 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IZ)I'
access : 0x0012 (PRIVATE FINAL)
method_idx : 117
code -
registers : 7
ins : 3
outs : 4
insns size : 55 16-bit code units
0055a8: |[0055a8] com.google.android.checkers.a.a:(IZ)I
0055b8: 1221 |0000: const/4 v1, #int 2 // #2
0055ba: 1200 |0001: const/4 v0, #int 0 // #0
0055bc: 5940 3c00 |0002: iput v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c
0055c0: da02 0540 |0004: mul-int/lit8 v2, v5, #int 64 // #40
0055c4: 5942 4b00 |0006: iput v2, v4, Lcom/google/android/checkers/a;.r:I // field@004b
0055c8: 5242 3d00 |0008: iget v2, v4, Lcom/google/android/checkers/a;.d:I // field@003d
0055cc: 5243 3e00 |000a: iget v3, v4, Lcom/google/android/checkers/a;.e:I // field@003e
0055d0: b632 |000c: or-int/2addr v2, v3
0055d2: 5243 3f00 |000d: iget v3, v4, Lcom/google/android/checkers/a;.f:I // field@003f
0055d6: b632 |000f: or-int/2addr v2, v3
0055d8: 5243 4000 |0010: iget v3, v4, Lcom/google/android/checkers/a;.g:I // field@0040
0055dc: b632 |0012: or-int/2addr v2, v3
0055de: df02 02ff |0013: xor-int/lit8 v2, v2, #int -1 // #ff
0055e2: 5543 4c00 |0015: iget-boolean v3, v4, Lcom/google/android/checkers/a;.s:Z // field@004c
0055e6: 3803 1000 |0017: if-eqz v3, 0027 // +0010
0055ea: 7040 8100 5426 |0019: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.a:(IZI)Z // method@0081
0055f0: 0a03 |001c: move-result v3
0055f2: 7040 8800 5426 |001d: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.b:(IZI)Z // method@0088
0055f8: 0a02 |0020: move-result v2
0055fa: 3903 0400 |0021: if-nez v3, 0025 // +0004
0055fe: 3802 0300 |0023: if-eqz v2, 0026 // +0003
005602: 0110 |0025: move v0, v1
005604: 0f00 |0026: return v0
005606: 7040 8100 5426 |0027: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.a:(IZI)Z // method@0081
00560c: 0a03 |002a: move-result v3
00560e: 3803 0400 |002b: if-eqz v3, 002f // +0004
005612: 1210 |002d: const/4 v0, #int 1 // #1
005614: 28f8 |002e: goto 0026 // -0008
005616: 7040 8800 5426 |002f: invoke-direct {v4, v5, v6, v2}, Lcom/google/android/checkers/a;.b:(IZI)Z // method@0088
00561c: 0a02 |0032: move-result v2
00561e: 3802 f3ff |0033: if-eqz v2, 0026 // -000d
005622: 0110 |0035: move v0, v1
005624: 28f0 |0036: goto 0026 // -0010
catches : (none)
positions :
locals :
#5 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(Z)I'
access : 0x0012 (PRIVATE FINAL)
method_idx : 118
code -
registers : 7
ins : 2
outs : 1
insns size : 98 16-bit code units
005628: |[005628] com.google.android.checkers.a.a:(Z)I
005638: 3806 1700 |0000: if-eqz v6, 0017 // +0017
00563c: 1200 |0002: const/4 v0, #int 0 // #0
00563e: 5251 3d00 |0003: iget v1, v5, Lcom/google/android/checkers/a;.d:I // field@003d
005642: 0114 |0005: move v4, v1
005644: 0101 |0006: move v1, v0
005646: 0140 |0007: move v0, v4
005648: 3900 1600 |0008: if-nez v0, 001e // +0016
00564c: 5250 3e00 |000a: iget v0, v5, Lcom/google/android/checkers/a;.e:I // field@003e
005650: 3900 2300 |000c: if-nez v0, 002f // +0023
005654: 5250 3f00 |000e: iget v0, v5, Lcom/google/android/checkers/a;.f:I // field@003f
005658: 3900 3000 |0010: if-nez v0, 0040 // +0030
00565c: 5250 4000 |0012: iget v0, v5, Lcom/google/android/checkers/a;.g:I // field@0040
005660: 3900 3d00 |0014: if-nez v0, 0051 // +003d
005664: 0f01 |0016: return v1
005666: 6200 3900 |0017: sget-object v0, Lcom/google/android/checkers/a;.M:[I // field@0039
00566a: 1301 8000 |0019: const/16 v1, #int 128 // #80
00566e: 4400 0001 |001b: aget v0, v0, v1
005672: 28e6 |001d: goto 0003 // -001a
005674: 6202 3900 |001e: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
005678: 7110 9f00 0000 |0020: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
00567e: 0a03 |0023: move-result v3
005680: da03 0304 |0024: mul-int/lit8 v3, v3, #int 4 // #04
005684: d803 0300 |0026: add-int/lit8 v3, v3, #int 0 // #00
005688: 4402 0203 |0028: aget v2, v2, v3
00568c: b721 |002a: xor-int/2addr v1, v2
00568e: d802 00ff |002b: add-int/lit8 v2, v0, #int -1 // #ff
005692: b520 |002d: and-int/2addr v0, v2
005694: 28da |002e: goto 0008 // -0026
005696: 6202 3900 |002f: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
00569a: 7110 9f00 0000 |0031: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0056a0: 0a03 |0034: move-result v3
0056a2: da03 0304 |0035: mul-int/lit8 v3, v3, #int 4 // #04
0056a6: d803 0301 |0037: add-int/lit8 v3, v3, #int 1 // #01
0056aa: 4402 0203 |0039: aget v2, v2, v3
0056ae: b721 |003b: xor-int/2addr v1, v2
0056b0: d802 00ff |003c: add-int/lit8 v2, v0, #int -1 // #ff
0056b4: b520 |003e: and-int/2addr v0, v2
0056b6: 28cd |003f: goto 000c // -0033
0056b8: 6202 3900 |0040: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
0056bc: 7110 9f00 0000 |0042: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0056c2: 0a03 |0045: move-result v3
0056c4: da03 0304 |0046: mul-int/lit8 v3, v3, #int 4 // #04
0056c8: d803 0302 |0048: add-int/lit8 v3, v3, #int 2 // #02
0056cc: 4402 0203 |004a: aget v2, v2, v3
0056d0: b721 |004c: xor-int/2addr v1, v2
0056d2: d802 00ff |004d: add-int/lit8 v2, v0, #int -1 // #ff
0056d6: b520 |004f: and-int/2addr v0, v2
0056d8: 28c0 |0050: goto 0010 // -0040
0056da: 6202 3900 |0051: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
0056de: 7110 9f00 0000 |0053: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0056e4: 0a03 |0056: move-result v3
0056e6: da03 0304 |0057: mul-int/lit8 v3, v3, #int 4 // #04
0056ea: d803 0303 |0059: add-int/lit8 v3, v3, #int 3 // #03
0056ee: 4402 0203 |005b: aget v2, v2, v3
0056f2: b721 |005d: xor-int/2addr v1, v2
0056f4: d802 00ff |005e: add-int/lit8 v2, v0, #int -1 // #ff
0056f8: b520 |0060: and-int/2addr v0, v2
0056fa: 28b3 |0061: goto 0014 // -004d
catches : (none)
positions :
locals :
#6 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(ZII)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 119
code -
registers : 7
ins : 3
outs : 1
insns size : 56 16-bit code units
0056fc: |[0056fc] com.google.android.checkers.a.a:(ZII)I
00570c: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005712: 0a00 |0003: move-result v0
005714: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff
005718: b551 |0006: and-int/2addr v1, v5
00571a: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005720: 0a02 |000a: move-result v2
005722: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005728: 0a01 |000e: move-result v1
00572a: 1303 1000 |000f: const/16 v3, #int 16 // #10
00572e: 3431 0800 |0011: if-lt v1, v3, 0019 // +0008
005732: d900 001f |0013: rsub-int/lit8 v0, v0, #int 31 // #1f
005736: d902 021f |0015: rsub-int/lit8 v2, v2, #int 31 // #1f
00573a: d901 011f |0017: rsub-int/lit8 v1, v1, #int 31 // #1f
00573e: 3520 1100 |0019: if-ge v0, v2, 002a // +0011
005742: 6203 3800 |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
005746: 4402 0302 |001d: aget v2, v3, v2
00574a: b020 |001f: add-int/2addr v0, v2
00574c: 3804 1000 |0020: if-eqz v4, 0030 // +0010
005750: 6202 5d00 |0022: sget-object v2, Lcom/google/android/checkers/g;.e:[B // field@005d
005754: da00 0010 |0024: mul-int/lit8 v0, v0, #int 16 // #10
005758: b010 |0026: add-int/2addr v0, v1
00575a: 4800 0200 |0027: aget-byte v0, v2, v0
00575e: 0f00 |0029: return v0
005760: 6203 3800 |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
005764: 4400 0300 |002c: aget v0, v3, v0
005768: b020 |002e: add-int/2addr v0, v2
00576a: 28f1 |002f: goto 0020 // -000f
00576c: 6202 5e00 |0030: sget-object v2, Lcom/google/android/checkers/g;.f:[B // field@005e
005770: da00 0010 |0032: mul-int/lit8 v0, v0, #int 16 // #10
005774: b010 |0034: add-int/2addr v0, v1
005776: 4800 0200 |0035: aget-byte v0, v2, v0
00577a: 28f2 |0037: goto 0029 // -000e
catches : (none)
positions :
locals :
#7 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(ZIIIZ)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 120
code -
registers : 9
ins : 5
outs : 1
insns size : 44 16-bit code units
00577c: |[00577c] com.google.android.checkers.a.a:(ZIIIZ)I
00578c: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005792: 0a02 |0003: move-result v2
005794: 7110 9f00 0600 |0004: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
00579a: 0a01 |0007: move-result v1
00579c: 7110 9f00 0700 |0008: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0057a2: 0a00 |000b: move-result v0
0057a4: 3808 0800 |000c: if-eqz v8, 0014 // +0008
0057a8: d902 021f |000e: rsub-int/lit8 v2, v2, #int 31 // #1f
0057ac: d901 011f |0010: rsub-int/lit8 v1, v1, #int 31 // #1f
0057b0: d900 001f |0012: rsub-int/lit8 v0, v0, #int 31 // #1f
0057b4: 3804 0d00 |0014: if-eqz v4, 0021 // +000d
0057b8: 6203 6100 |0016: sget-object v3, Lcom/google/android/checkers/g;.i:[B // field@0061
0057bc: d222 0004 |0018: mul-int/lit16 v2, v2, #int 1024 // #0400
0057c0: da01 0120 |001a: mul-int/lit8 v1, v1, #int 32 // #20
0057c4: b021 |001c: add-int/2addr v1, v2
0057c6: b010 |001d: add-int/2addr v0, v1
0057c8: 4800 0300 |001e: aget-byte v0, v3, v0
0057cc: 0f00 |0020: return v0
0057ce: 6203 6200 |0021: sget-object v3, Lcom/google/android/checkers/g;.j:[B // field@0062
0057d2: d222 0004 |0023: mul-int/lit16 v2, v2, #int 1024 // #0400
0057d6: da01 0120 |0025: mul-int/lit8 v1, v1, #int 32 // #20
0057da: b021 |0027: add-int/2addr v1, v2
0057dc: b010 |0028: add-int/2addr v0, v1
0057de: 4800 0300 |0029: aget-byte v0, v3, v0
0057e2: 28f5 |002b: goto 0020 // -000b
catches : (none)
positions :
locals :
#8 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(ZIIZ)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 121
code -
registers : 7
ins : 4
outs : 1
insns size : 34 16-bit code units
0057e4: |[0057e4] com.google.android.checkers.a.a:(ZIIZ)I
0057f4: 7110 9f00 0400 |0000: invoke-static {v4}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0057fa: 0a01 |0003: move-result v1
0057fc: 7110 9f00 0500 |0004: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005802: 0a00 |0007: move-result v0
005804: 3806 0600 |0008: if-eqz v6, 000e // +0006
005808: d901 011f |000a: rsub-int/lit8 v1, v1, #int 31 // #1f
00580c: d900 001f |000c: rsub-int/lit8 v0, v0, #int 31 // #1f
005810: d800 00fc |000e: add-int/lit8 v0, v0, #int -4 // #fc
005814: 3803 0a00 |0010: if-eqz v3, 001a // +000a
005818: 6202 5a00 |0012: sget-object v2, Lcom/google/android/checkers/g;.b:[B // field@005a
00581c: da00 0020 |0014: mul-int/lit8 v0, v0, #int 32 // #20
005820: b010 |0016: add-int/2addr v0, v1
005822: 4800 0200 |0017: aget-byte v0, v2, v0
005826: 0f00 |0019: return v0
005828: 6202 5b00 |001a: sget-object v2, Lcom/google/android/checkers/g;.c:[B // field@005b
00582c: da00 0020 |001c: mul-int/lit8 v0, v0, #int 32 // #20
005830: b010 |001e: add-int/2addr v0, v1
005832: 4800 0200 |001f: aget-byte v0, v2, v0
005836: 28f8 |0021: goto 0019 // -0008
catches : (none)
positions :
locals :
#9 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 125
code -
registers : 9
ins : 5
outs : 0
insns size : 76 16-bit code units
005838: |[005838] com.google.android.checkers.a.a:(IIII)V
005848: 1301 007d |0000: const/16 v1, #int 32000 // #7d00
00584c: 1302 3f00 |0002: const/16 v2, #int 63 // #3f
005850: 1203 |0004: const/4 v3, #int 0 // #0
005852: 1300 0083 |0005: const/16 v0, #int -32000 // #8300
005856: 3608 2300 |0007: if-gt v8, v0, 002a // +0023
00585a: 2c07 2f00 0000 |0009: sparse-switch v7, 00000038 // +0000002f
005860: 0e00 |000c: return-void
005862: 1307 4000 |000d: const/16 v7, #int 64 // #40
005866: 0108 |000f: move v8, v0
005868: 0126 |0010: move v6, v2
00586a: 0135 |0011: move v5, v3
00586c: 5240 5100 |0012: iget v0, v4, Lcom/google/android/checkers/a;.x:I // field@0051
005870: 1401 ffff 0f00 |0014: const v1, #float 1.46937e-39 // #000fffff
005876: b501 |0017: and-int/2addr v1, v0
005878: 5442 5200 |0018: iget-object v2, v4, Lcom/google/android/checkers/a;.y:[I // field@0052
00587c: 4b00 0201 |001a: aput v0, v2, v1
005880: 5440 5300 |001c: iget-object v0, v4, Lcom/google/android/checkers/a;.z:[S // field@0053
005884: 8f82 |001e: int-to-short v2, v8
005886: 5102 0001 |001f: aput-short v2, v0, v1
00588a: 5440 2d00 |0021: iget-object v0, v4, Lcom/google/android/checkers/a;.A:[B // field@002d
00588e: 9102 0605 |0023: sub-int v2, v6, v5
005892: b672 |0025: or-int/2addr v2, v7
005894: 8d22 |0026: int-to-byte v2, v2
005896: 4f02 0001 |0027: aput-byte v2, v0, v1
00589a: 28e3 |0029: goto 000c // -001d
00589c: 3418 e8ff |002a: if-lt v8, v1, 0012 // -0018
0058a0: 2c07 1600 0000 |002c: sparse-switch v7, 00000042 // +00000016
0058a6: 28dd |002f: goto 000c // -0023
0058a8: 0118 |0030: move v8, v1
0058aa: 0126 |0031: move v6, v2
0058ac: 0135 |0032: move v5, v3
0058ae: 28df |0033: goto 0012 // -0021
0058b0: 1307 8000 |0034: const/16 v7, #int 128 // #80
0058b4: 28fa |0036: goto 0030 // -0006
0058b6: 0000 |0037: nop // spacer
0058b8: 0002 0200 4000 0000 c000 0000 0600 ... |0038: sparse-switch-data (10 units)
0058cc: 0002 0200 8000 0000 c000 0000 0400 ... |0042: sparse-switch-data (10 units)
catches : (none)
positions :
locals :
#10 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IIIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 126
code -
registers : 10
ins : 6
outs : 0
insns size : 39 16-bit code units
0058e0: |[0058e0] com.google.android.checkers.a.a:(IIIII)V
0058f0: 5240 3c00 |0000: iget v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c
0058f4: 1301 4000 |0002: const/16 v1, #int 64 // #40
0058f8: 3410 0300 |0004: if-lt v0, v1, 0007 // +0003
0058fc: 0e00 |0006: return-void
0058fe: 5240 3c00 |0007: iget v0, v4, Lcom/google/android/checkers/a;.c:I // field@003c
005902: d801 0001 |0009: add-int/lit8 v1, v0, #int 1 // #01
005906: 5941 3c00 |000b: iput v1, v4, Lcom/google/android/checkers/a;.c:I // field@003c
00590a: 5241 4b00 |000d: iget v1, v4, Lcom/google/android/checkers/a;.r:I // field@004b
00590e: 5442 4800 |000f: iget-object v2, v4, Lcom/google/android/checkers/a;.o:[I // field@0048
005912: 9003 0100 |0011: add-int v3, v1, v0
005916: 4b06 0203 |0013: aput v6, v2, v3
00591a: 5442 3a00 |0015: iget-object v2, v4, Lcom/google/android/checkers/a;.a:[I // field@003a
00591e: 9003 0100 |0017: add-int v3, v1, v0
005922: 4b07 0203 |0019: aput v7, v2, v3
005926: 5442 4900 |001b: iget-object v2, v4, Lcom/google/android/checkers/a;.p:[I // field@0049
00592a: b001 |001d: add-int/2addr v1, v0
00592c: 4b08 0201 |001e: aput v8, v2, v1
005930: 3905 e6ff |0020: if-nez v5, 0006 // -001a
005934: 5441 3b00 |0022: iget-object v1, v4, Lcom/google/android/checkers/a;.b:[I // field@003b
005938: 4b09 0100 |0024: aput v9, v1, v0
00593c: 28e0 |0026: goto 0006 // -0020
catches : (none)
positions :
locals :
#11 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IIIIIIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 127
code -
registers : 18
ins : 9
outs : 9
insns size : 99 16-bit code units
005940: |[005940] com.google.android.checkers.a.a:(IIIIIIII)V
005950: 1210 |0000: const/4 v0, #int 1 // #1
005952: 6201 3000 |0001: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005956: 4401 010d |0003: aget v1, v1, v13
00595a: b5c1 |0005: and-int/2addr v1, v12
00595c: 3801 2500 |0006: if-eqz v1, 002b // +0025
005960: 6201 3100 |0008: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005964: 4401 010d |000a: aget v1, v1, v13
005968: b5b1 |000c: and-int/2addr v1, v11
00596a: 3801 1e00 |000d: if-eqz v1, 002b // +001e
00596e: d804 0df7 |000f: add-int/lit8 v4, v13, #int -9 // #f7
005972: 6200 3100 |0011: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
005976: 4405 000d |0013: aget v5, v0, v13
00597a: 6200 3000 |0015: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
00597e: 4400 000d |0017: aget v0, v0, v13
005982: 9606 0f00 |0019: or-int v6, v15, v0
005986: d807 1001 |001b: add-int/lit8 v7, v16, #int 1 // #01
00598a: 6200 3100 |001d: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
00598e: 4400 000d |001f: aget v0, v0, v13
005992: 9608 1100 |0021: or-int v8, v17, v0
005996: 0790 |0023: move-object v0, v9
005998: 01a1 |0024: move v1, v10
00599a: 01b2 |0025: move v2, v11
00599c: 01c3 |0026: move v3, v12
00599e: 7609 7f00 0000 |0027: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
0059a4: 1200 |002a: const/4 v0, #int 0 // #0
0059a6: 6201 3200 |002b: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
0059aa: 4401 010d |002d: aget v1, v1, v13
0059ae: b5c1 |002f: and-int/2addr v1, v12
0059b0: 3801 2500 |0030: if-eqz v1, 0055 // +0025
0059b4: 6201 3300 |0032: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
0059b8: 4401 010d |0034: aget v1, v1, v13
0059bc: b5b1 |0036: and-int/2addr v1, v11
0059be: 3801 1e00 |0037: if-eqz v1, 0055 // +001e
0059c2: d804 0df9 |0039: add-int/lit8 v4, v13, #int -7 // #f9
0059c6: 6200 3300 |003b: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
0059ca: 4405 000d |003d: aget v5, v0, v13
0059ce: 6200 3200 |003f: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
0059d2: 4400 000d |0041: aget v0, v0, v13
0059d6: 9606 0f00 |0043: or-int v6, v15, v0
0059da: d807 1001 |0045: add-int/lit8 v7, v16, #int 1 // #01
0059de: 6200 3300 |0047: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
0059e2: 4400 000d |0049: aget v0, v0, v13
0059e6: 9608 1100 |004b: or-int v8, v17, v0
0059ea: 0790 |004d: move-object v0, v9
0059ec: 01a1 |004e: move v1, v10
0059ee: 01b2 |004f: move v2, v11
0059f0: 01c3 |0050: move v3, v12
0059f2: 7609 7f00 0000 |0051: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
0059f8: 1200 |0054: const/4 v0, #int 0 // #0
0059fa: 3800 0d00 |0055: if-eqz v0, 0062 // +000d
0059fe: 0790 |0057: move-object v0, v9
005a00: 01a1 |0058: move v1, v10
005a02: 01e2 |0059: move v2, v14
005a04: 01f3 |005a: move v3, v15
005a06: 0204 1000 |005b: move/from16 v4, v16
005a0a: 0205 1100 |005d: move/from16 v5, v17
005a0e: 7606 7e00 0000 |005f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
005a14: 0e00 |0062: return-void
catches : (none)
positions :
locals :
#12 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IZI)Z'
access : 0x0012 (PRIVATE FINAL)
method_idx : 129
code -
registers : 21
ins : 4
outs : 9
insns size : 875 16-bit code units
005a18: |[005a18] com.google.android.checkers.a.a:(IZI)Z
005a28: 3813 b901 |0000: if-eqz v19, 01b9 // +01b9
005a2c: 0800 1100 |0002: move-object/from16 v0, v17
005a30: 5201 3e00 |0004: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005a34: 0800 1100 |0006: move-object/from16 v0, v17
005a38: 5202 3d00 |0008: iget v2, v0, Lcom/google/android/checkers/a;.d:I // field@003d
005a3c: b612 |000a: or-int/2addr v2, v1
005a3e: 0800 1100 |000b: move-object/from16 v0, v17
005a42: 5201 4000 |000d: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005a46: 0800 1100 |000f: move-object/from16 v0, v17
005a4a: 5203 3f00 |0011: iget v3, v0, Lcom/google/android/checkers/a;.f:I // field@003f
005a4e: 9604 0103 |0013: or-int v4, v1, v3
005a52: 1201 |0015: const/4 v1, #int 0 // #0
005a54: e203 1404 |0016: ushr-int/lit8 v3, v20, #int 4 // #04
005a58: b543 |0018: and-int/2addr v3, v4
005a5a: 3803 1200 |0019: if-eqz v3, 002b // +0012
005a5e: 1401 e0e0 e0e0 |001b: const v1, #float -1.29634e+20 // #e0e0e0e0
005a64: b531 |001e: and-int/2addr v1, v3
005a66: e201 0105 |001f: ushr-int/lit8 v1, v1, #int 5 // #05
005a6a: 1405 0007 0707 |0021: const v5, #float 1.01583e-34 // #07070700
005a70: b553 |0024: and-int/2addr v3, v5
005a72: e203 0303 |0025: ushr-int/lit8 v3, v3, #int 3 // #03
005a76: b631 |0027: or-int/2addr v1, v3
005a78: b521 |0028: and-int/2addr v1, v2
005a7a: de01 0100 |0029: or-int/lit8 v1, v1, #int 0 // #00
005a7e: 1403 e0e0 e0e0 |002b: const v3, #float -1.29634e+20 // #e0e0e0e0
005a84: 9503 0314 |002e: and-int v3, v3, v20
005a88: e203 0305 |0030: ushr-int/lit8 v3, v3, #int 5 // #05
005a8c: 1405 0007 0707 |0032: const v5, #float 1.01583e-34 // #07070700
005a92: 9505 0514 |0035: and-int v5, v5, v20
005a96: e205 0503 |0037: ushr-int/lit8 v5, v5, #int 3 // #03
005a9a: b653 |0039: or-int/2addr v3, v5
005a9c: b543 |003a: and-int/2addr v3, v4
005a9e: 3803 0600 |003b: if-eqz v3, 0041 // +0006
005aa2: e203 0304 |003d: ushr-int/lit8 v3, v3, #int 4 // #04
005aa6: b532 |003f: and-int/2addr v2, v3
005aa8: b621 |0040: or-int/2addr v1, v2
005aaa: 0800 1100 |0041: move-object/from16 v0, v17
005aae: 5202 3e00 |0043: iget v2, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005ab2: 3802 3400 |0045: if-eqz v2, 0079 // +0034
005ab6: e002 1404 |0047: shl-int/lit8 v2, v20, #int 4 // #04
005aba: b542 |0049: and-int/2addr v2, v4
005abc: 3802 1500 |004a: if-eqz v2, 005f // +0015
005ac0: 0800 1100 |004c: move-object/from16 v0, v17
005ac4: 5203 3e00 |004e: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005ac8: 1405 0707 0707 |0050: const v5, #float 1.01583e-34 // #07070707
005ace: b525 |0053: and-int/2addr v5, v2
005ad0: e005 0505 |0054: shl-int/lit8 v5, v5, #int 5 // #05
005ad4: 1406 e0e0 e000 |0056: const v6, #float 2.06518e-38 // #00e0e0e0
005ada: b562 |0059: and-int/2addr v2, v6
005adc: e002 0203 |005a: shl-int/lit8 v2, v2, #int 3 // #03
005ae0: b652 |005c: or-int/2addr v2, v5
005ae2: b532 |005d: and-int/2addr v2, v3
005ae4: b621 |005e: or-int/2addr v1, v2
005ae6: 1402 0707 0707 |005f: const v2, #float 1.01583e-34 // #07070707
005aec: 9502 0214 |0062: and-int v2, v2, v20
005af0: e002 0205 |0064: shl-int/lit8 v2, v2, #int 5 // #05
005af4: 1403 e0e0 e000 |0066: const v3, #float 2.06518e-38 // #00e0e0e0
005afa: 9503 0314 |0069: and-int v3, v3, v20
005afe: e003 0303 |006b: shl-int/lit8 v3, v3, #int 3 // #03
005b02: b632 |006d: or-int/2addr v2, v3
005b04: b542 |006e: and-int/2addr v2, v4
005b06: 3802 0a00 |006f: if-eqz v2, 0079 // +000a
005b0a: 0800 1100 |0071: move-object/from16 v0, v17
005b0e: 5203 3e00 |0073: iget v3, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005b12: e002 0204 |0075: shl-int/lit8 v2, v2, #int 4 // #04
005b16: b532 |0077: and-int/2addr v2, v3
005b18: b621 |0078: or-int/2addr v1, v2
005b1a: 3901 0a00 |0079: if-nez v1, 0083 // +000a
005b1e: 0800 1100 |007b: move-object/from16 v0, v17
005b22: 5201 3c00 |007d: iget v1, v0, Lcom/google/android/checkers/a;.c:I // field@003c
005b26: 3801 e902 |007f: if-eqz v1, 0368 // +02e9
005b2a: 1211 |0081: const/4 v1, #int 1 // #1
005b2c: 0f01 |0082: return v1
005b2e: 7110 9f00 0100 |0083: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005b34: 0a0f |0086: move-result v15
005b36: 1212 |0087: const/4 v2, #int 1 // #1
005b38: 9810 020f |0088: shl-int v16, v2, v15
005b3c: 970e 0110 |008a: xor-int v14, v1, v16
005b40: 0800 1100 |008c: move-object/from16 v0, v17
005b44: 5201 3e00 |008e: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005b48: 9501 0110 |0090: and-int v1, v1, v16
005b4c: 3901 5c00 |0092: if-nez v1, 00ee // +005c
005b50: 6201 3400 |0094: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
005b54: 4401 010f |0096: aget v1, v1, v15
005b58: b541 |0098: and-int/2addr v1, v4
005b5a: 3801 2700 |0099: if-eqz v1, 00c0 // +0027
005b5e: 6201 3500 |009b: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
005b62: 4401 010f |009d: aget v1, v1, v15
005b66: 9501 0114 |009f: and-int v1, v1, v20
005b6a: 3801 1f00 |00a1: if-eqz v1, 00c0 // +001f
005b6e: d805 0f07 |00a3: add-int/lit8 v5, v15, #int 7 // #07
005b72: 6201 3500 |00a5: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
005b76: 4406 010f |00a7: aget v6, v1, v15
005b7a: 6201 3400 |00a9: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
005b7e: 4401 010f |00ab: aget v1, v1, v15
005b82: 9607 1001 |00ad: or-int v7, v16, v1
005b86: 1308 0101 |00af: const/16 v8, #int 257 // #101
005b8a: 6201 3500 |00b1: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
005b8e: 4401 010f |00b3: aget v1, v1, v15
005b92: 9609 1001 |00b5: or-int v9, v16, v1
005b96: 0801 1100 |00b7: move-object/from16 v1, v17
005b9a: 0202 1200 |00b9: move/from16 v2, v18
005b9e: 0203 1400 |00bb: move/from16 v3, v20
005ba2: 7609 8600 0100 |00bd: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
005ba8: 6201 3600 |00c0: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
005bac: 4401 010f |00c2: aget v1, v1, v15
005bb0: b541 |00c4: and-int/2addr v1, v4
005bb2: 3801 f100 |00c5: if-eqz v1, 01b6 // +00f1
005bb6: 6201 3700 |00c7: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
005bba: 4401 010f |00c9: aget v1, v1, v15
005bbe: 9501 0114 |00cb: and-int v1, v1, v20
005bc2: 3801 e900 |00cd: if-eqz v1, 01b6 // +00e9
005bc6: d805 0f09 |00cf: add-int/lit8 v5, v15, #int 9 // #09
005bca: 6201 3700 |00d1: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
005bce: 4406 010f |00d3: aget v6, v1, v15
005bd2: 6201 3600 |00d5: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
005bd6: 4401 010f |00d7: aget v1, v1, v15
005bda: 9607 1001 |00d9: or-int v7, v16, v1
005bde: 1308 0101 |00db: const/16 v8, #int 257 // #101
005be2: 6201 3700 |00dd: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
005be6: 4401 010f |00df: aget v1, v1, v15
005bea: 9609 1001 |00e1: or-int v9, v16, v1
005bee: 0801 1100 |00e3: move-object/from16 v1, v17
005bf2: 0202 1200 |00e5: move/from16 v2, v18
005bf6: 0203 1400 |00e7: move/from16 v3, v20
005bfa: 7609 8600 0100 |00e9: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
005c00: 01e1 |00ec: move v1, v14
005c02: 288c |00ed: goto 0079 // -0074
005c04: 6201 3000 |00ee: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005c08: 4401 010f |00f0: aget v1, v1, v15
005c0c: b541 |00f2: and-int/2addr v1, v4
005c0e: 3801 2d00 |00f3: if-eqz v1, 0120 // +002d
005c12: 6201 3100 |00f5: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005c16: 4401 010f |00f7: aget v1, v1, v15
005c1a: 9501 0114 |00f9: and-int v1, v1, v20
005c1e: 3801 2500 |00fb: if-eqz v1, 0120 // +0025
005c22: 9607 1410 |00fd: or-int v7, v20, v16
005c26: 6201 3000 |00ff: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005c2a: 4401 010f |0101: aget v1, v1, v15
005c2e: 9708 0401 |0103: xor-int v8, v4, v1
005c32: d809 0ff7 |0105: add-int/lit8 v9, v15, #int -9 // #f7
005c36: 6201 3100 |0107: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005c3a: 440a 010f |0109: aget v10, v1, v15
005c3e: 6201 3000 |010b: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005c42: 4401 010f |010d: aget v1, v1, v15
005c46: 960b 1001 |010f: or-int v11, v16, v1
005c4a: 130c 0102 |0111: const/16 v12, #int 513 // #201
005c4e: 6201 3100 |0113: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005c52: 4401 010f |0115: aget v1, v1, v15
005c56: 960d 1001 |0117: or-int v13, v16, v1
005c5a: 0805 1100 |0119: move-object/from16 v5, v17
005c5e: 0206 1200 |011b: move/from16 v6, v18
005c62: 7609 8b00 0500 |011d: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
005c68: 6201 3200 |0120: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005c6c: 4401 010f |0122: aget v1, v1, v15
005c70: b541 |0124: and-int/2addr v1, v4
005c72: 3801 2d00 |0125: if-eqz v1, 0152 // +002d
005c76: 6201 3300 |0127: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005c7a: 4401 010f |0129: aget v1, v1, v15
005c7e: 9501 0114 |012b: and-int v1, v1, v20
005c82: 3801 2500 |012d: if-eqz v1, 0152 // +0025
005c86: 9607 1410 |012f: or-int v7, v20, v16
005c8a: 6201 3200 |0131: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005c8e: 4401 010f |0133: aget v1, v1, v15
005c92: 9708 0401 |0135: xor-int v8, v4, v1
005c96: d809 0ff9 |0137: add-int/lit8 v9, v15, #int -7 // #f9
005c9a: 6201 3300 |0139: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005c9e: 440a 010f |013b: aget v10, v1, v15
005ca2: 6201 3200 |013d: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005ca6: 4401 010f |013f: aget v1, v1, v15
005caa: 960b 1001 |0141: or-int v11, v16, v1
005cae: 130c 0102 |0143: const/16 v12, #int 513 // #201
005cb2: 6201 3300 |0145: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005cb6: 4401 010f |0147: aget v1, v1, v15
005cba: 960d 1001 |0149: or-int v13, v16, v1
005cbe: 0805 1100 |014b: move-object/from16 v5, v17
005cc2: 0206 1200 |014d: move/from16 v6, v18
005cc6: 7609 8b00 0500 |014f: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
005ccc: 6201 3400 |0152: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
005cd0: 4401 010f |0154: aget v1, v1, v15
005cd4: b541 |0156: and-int/2addr v1, v4
005cd6: 3801 2d00 |0157: if-eqz v1, 0184 // +002d
005cda: 6201 3500 |0159: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
005cde: 4401 010f |015b: aget v1, v1, v15
005ce2: 9501 0114 |015d: and-int v1, v1, v20
005ce6: 3801 2500 |015f: if-eqz v1, 0184 // +0025
005cea: 9607 1410 |0161: or-int v7, v20, v16
005cee: 6201 3400 |0163: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
005cf2: 4401 010f |0165: aget v1, v1, v15
005cf6: 9708 0401 |0167: xor-int v8, v4, v1
005cfa: d809 0f07 |0169: add-int/lit8 v9, v15, #int 7 // #07
005cfe: 6201 3500 |016b: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
005d02: 440a 010f |016d: aget v10, v1, v15
005d06: 6201 3400 |016f: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
005d0a: 4401 010f |0171: aget v1, v1, v15
005d0e: 960b 1001 |0173: or-int v11, v16, v1
005d12: 130c 0102 |0175: const/16 v12, #int 513 // #201
005d16: 6201 3500 |0177: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
005d1a: 4401 010f |0179: aget v1, v1, v15
005d1e: 960d 1001 |017b: or-int v13, v16, v1
005d22: 0805 1100 |017d: move-object/from16 v5, v17
005d26: 0206 1200 |017f: move/from16 v6, v18
005d2a: 7609 8b00 0500 |0181: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
005d30: 6201 3600 |0184: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
005d34: 4401 010f |0186: aget v1, v1, v15
005d38: b541 |0188: and-int/2addr v1, v4
005d3a: 3801 2d00 |0189: if-eqz v1, 01b6 // +002d
005d3e: 6201 3700 |018b: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
005d42: 4401 010f |018d: aget v1, v1, v15
005d46: 9501 0114 |018f: and-int v1, v1, v20
005d4a: 3801 2500 |0191: if-eqz v1, 01b6 // +0025
005d4e: 9607 1410 |0193: or-int v7, v20, v16
005d52: 6201 3600 |0195: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
005d56: 4401 010f |0197: aget v1, v1, v15
005d5a: 9708 0401 |0199: xor-int v8, v4, v1
005d5e: d809 0f09 |019b: add-int/lit8 v9, v15, #int 9 // #09
005d62: 6201 3700 |019d: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
005d66: 440a 010f |019f: aget v10, v1, v15
005d6a: 6201 3600 |01a1: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
005d6e: 4401 010f |01a3: aget v1, v1, v15
005d72: 960b 1001 |01a5: or-int v11, v16, v1
005d76: 130c 0102 |01a7: const/16 v12, #int 513 // #201
005d7a: 6201 3700 |01a9: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
005d7e: 4401 010f |01ab: aget v1, v1, v15
005d82: 960d 1001 |01ad: or-int v13, v16, v1
005d86: 0805 1100 |01af: move-object/from16 v5, v17
005d8a: 0206 1200 |01b1: move/from16 v6, v18
005d8e: 7609 8b00 0500 |01b3: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
005d94: 01e1 |01b6: move v1, v14
005d96: 2900 c2fe |01b7: goto/16 0079 // -013e
005d9a: 0800 1100 |01b9: move-object/from16 v0, v17
005d9e: 5201 4000 |01bb: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005da2: 0800 1100 |01bd: move-object/from16 v0, v17
005da6: 5202 3f00 |01bf: iget v2, v0, Lcom/google/android/checkers/a;.f:I // field@003f
005daa: b612 |01c1: or-int/2addr v2, v1
005dac: 0800 1100 |01c2: move-object/from16 v0, v17
005db0: 5201 3e00 |01c4: iget v1, v0, Lcom/google/android/checkers/a;.e:I // field@003e
005db4: 0800 1100 |01c6: move-object/from16 v0, v17
005db8: 5203 3d00 |01c8: iget v3, v0, Lcom/google/android/checkers/a;.d:I // field@003d
005dbc: 9604 0103 |01ca: or-int v4, v1, v3
005dc0: 1201 |01cc: const/4 v1, #int 0 // #0
005dc2: 0800 1100 |01cd: move-object/from16 v0, v17
005dc6: 5203 4000 |01cf: iget v3, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005dca: 3803 3500 |01d1: if-eqz v3, 0206 // +0035
005dce: e203 1404 |01d3: ushr-int/lit8 v3, v20, #int 4 // #04
005dd2: b543 |01d5: and-int/2addr v3, v4
005dd4: 3803 1600 |01d6: if-eqz v3, 01ec // +0016
005dd8: 0800 1100 |01d8: move-object/from16 v0, v17
005ddc: 5201 4000 |01da: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005de0: 1405 e0e0 e0e0 |01dc: const v5, #float -1.29634e+20 // #e0e0e0e0
005de6: b535 |01df: and-int/2addr v5, v3
005de8: e205 0505 |01e0: ushr-int/lit8 v5, v5, #int 5 // #05
005dec: 1406 0007 0707 |01e2: const v6, #float 1.01583e-34 // #07070700
005df2: b563 |01e5: and-int/2addr v3, v6
005df4: e203 0303 |01e6: ushr-int/lit8 v3, v3, #int 3 // #03
005df8: b653 |01e8: or-int/2addr v3, v5
005dfa: b531 |01e9: and-int/2addr v1, v3
005dfc: de01 0100 |01ea: or-int/lit8 v1, v1, #int 0 // #00
005e00: 1403 e0e0 e0e0 |01ec: const v3, #float -1.29634e+20 // #e0e0e0e0
005e06: 9503 0314 |01ef: and-int v3, v3, v20
005e0a: e203 0305 |01f1: ushr-int/lit8 v3, v3, #int 5 // #05
005e0e: 1405 0007 0707 |01f3: const v5, #float 1.01583e-34 // #07070700
005e14: 9505 0514 |01f6: and-int v5, v5, v20
005e18: e205 0503 |01f8: ushr-int/lit8 v5, v5, #int 3 // #03
005e1c: b653 |01fa: or-int/2addr v3, v5
005e1e: b543 |01fb: and-int/2addr v3, v4
005e20: 3803 0a00 |01fc: if-eqz v3, 0206 // +000a
005e24: 0800 1100 |01fe: move-object/from16 v0, v17
005e28: 5205 4000 |0200: iget v5, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005e2c: e203 0304 |0202: ushr-int/lit8 v3, v3, #int 4 // #04
005e30: b553 |0204: and-int/2addr v3, v5
005e32: b631 |0205: or-int/2addr v1, v3
005e34: e003 1404 |0206: shl-int/lit8 v3, v20, #int 4 // #04
005e38: b543 |0208: and-int/2addr v3, v4
005e3a: 3803 1100 |0209: if-eqz v3, 021a // +0011
005e3e: 1405 0707 0707 |020b: const v5, #float 1.01583e-34 // #07070707
005e44: b535 |020e: and-int/2addr v5, v3
005e46: e005 0505 |020f: shl-int/lit8 v5, v5, #int 5 // #05
005e4a: 1406 e0e0 e000 |0211: const v6, #float 2.06518e-38 // #00e0e0e0
005e50: b563 |0214: and-int/2addr v3, v6
005e52: e003 0303 |0215: shl-int/lit8 v3, v3, #int 3 // #03
005e56: b653 |0217: or-int/2addr v3, v5
005e58: b523 |0218: and-int/2addr v3, v2
005e5a: b631 |0219: or-int/2addr v1, v3
005e5c: 1403 0707 0707 |021a: const v3, #float 1.01583e-34 // #07070707
005e62: 9503 0314 |021d: and-int v3, v3, v20
005e66: e003 0305 |021f: shl-int/lit8 v3, v3, #int 5 // #05
005e6a: 1405 e0e0 e000 |0221: const v5, #float 2.06518e-38 // #00e0e0e0
005e70: 9505 0514 |0224: and-int v5, v5, v20
005e74: e005 0503 |0226: shl-int/lit8 v5, v5, #int 3 // #03
005e78: b653 |0228: or-int/2addr v3, v5
005e7a: b543 |0229: and-int/2addr v3, v4
005e7c: 3803 0600 |022a: if-eqz v3, 0230 // +0006
005e80: e003 0304 |022c: shl-int/lit8 v3, v3, #int 4 // #04
005e84: b532 |022e: and-int/2addr v2, v3
005e86: b621 |022f: or-int/2addr v1, v2
005e88: 3801 4bfe |0230: if-eqz v1, 007b // -01b5
005e8c: 7110 9f00 0100 |0232: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
005e92: 0a0f |0235: move-result v15
005e94: 1212 |0236: const/4 v2, #int 1 // #1
005e96: 9810 020f |0237: shl-int v16, v2, v15
005e9a: 970e 0110 |0239: xor-int v14, v1, v16
005e9e: 0800 1100 |023b: move-object/from16 v0, v17
005ea2: 5201 4000 |023d: iget v1, v0, Lcom/google/android/checkers/a;.g:I // field@0040
005ea6: 9501 0110 |023f: and-int v1, v1, v16
005eaa: 3901 5c00 |0241: if-nez v1, 029d // +005c
005eae: 6201 3000 |0243: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005eb2: 4401 010f |0245: aget v1, v1, v15
005eb6: b541 |0247: and-int/2addr v1, v4
005eb8: 3801 2700 |0248: if-eqz v1, 026f // +0027
005ebc: 6201 3100 |024a: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005ec0: 4401 010f |024c: aget v1, v1, v15
005ec4: 9501 0114 |024e: and-int v1, v1, v20
005ec8: 3801 1f00 |0250: if-eqz v1, 026f // +001f
005ecc: d805 0ff7 |0252: add-int/lit8 v5, v15, #int -9 // #f7
005ed0: 6201 3100 |0254: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005ed4: 4406 010f |0256: aget v6, v1, v15
005ed8: 6201 3000 |0258: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005edc: 4401 010f |025a: aget v1, v1, v15
005ee0: 9607 1001 |025c: or-int v7, v16, v1
005ee4: 1308 0104 |025e: const/16 v8, #int 1025 // #401
005ee8: 6201 3100 |0260: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005eec: 4401 010f |0262: aget v1, v1, v15
005ef0: 9609 1001 |0264: or-int v9, v16, v1
005ef4: 0801 1100 |0266: move-object/from16 v1, v17
005ef8: 0202 1200 |0268: move/from16 v2, v18
005efc: 0203 1400 |026a: move/from16 v3, v20
005f00: 7609 7f00 0100 |026c: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
005f06: 6201 3200 |026f: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005f0a: 4401 010f |0271: aget v1, v1, v15
005f0e: b541 |0273: and-int/2addr v1, v4
005f10: 3801 f100 |0274: if-eqz v1, 0365 // +00f1
005f14: 6201 3300 |0276: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005f18: 4401 010f |0278: aget v1, v1, v15
005f1c: 9501 0114 |027a: and-int v1, v1, v20
005f20: 3801 e900 |027c: if-eqz v1, 0365 // +00e9
005f24: d805 0ff9 |027e: add-int/lit8 v5, v15, #int -7 // #f9
005f28: 6201 3300 |0280: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005f2c: 4406 010f |0282: aget v6, v1, v15
005f30: 6201 3200 |0284: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005f34: 4401 010f |0286: aget v1, v1, v15
005f38: 9607 1001 |0288: or-int v7, v16, v1
005f3c: 1308 0104 |028a: const/16 v8, #int 1025 // #401
005f40: 6201 3300 |028c: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005f44: 4401 010f |028e: aget v1, v1, v15
005f48: 9609 1001 |0290: or-int v9, v16, v1
005f4c: 0801 1100 |0292: move-object/from16 v1, v17
005f50: 0202 1200 |0294: move/from16 v2, v18
005f54: 0203 1400 |0296: move/from16 v3, v20
005f58: 7609 7f00 0100 |0298: invoke-direct/range {v1, v2, v3, v4, v5, v6, v7, v8, v9}, Lcom/google/android/checkers/a;.a:(IIIIIIII)V // method@007f
005f5e: 01e1 |029b: move v1, v14
005f60: 2894 |029c: goto 0230 // -006c
005f62: 6201 3000 |029d: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005f66: 4401 010f |029f: aget v1, v1, v15
005f6a: b541 |02a1: and-int/2addr v1, v4
005f6c: 3801 2d00 |02a2: if-eqz v1, 02cf // +002d
005f70: 6201 3100 |02a4: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005f74: 4401 010f |02a6: aget v1, v1, v15
005f78: 9501 0114 |02a8: and-int v1, v1, v20
005f7c: 3801 2500 |02aa: if-eqz v1, 02cf // +0025
005f80: 9607 1410 |02ac: or-int v7, v20, v16
005f84: 6201 3000 |02ae: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005f88: 4401 010f |02b0: aget v1, v1, v15
005f8c: 9708 0401 |02b2: xor-int v8, v4, v1
005f90: d809 0ff7 |02b4: add-int/lit8 v9, v15, #int -9 // #f7
005f94: 6201 3100 |02b6: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005f98: 440a 010f |02b8: aget v10, v1, v15
005f9c: 6201 3000 |02ba: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
005fa0: 4401 010f |02bc: aget v1, v1, v15
005fa4: 960b 1001 |02be: or-int v11, v16, v1
005fa8: 130c 0108 |02c0: const/16 v12, #int 2049 // #801
005fac: 6201 3100 |02c2: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
005fb0: 4401 010f |02c4: aget v1, v1, v15
005fb4: 960d 1001 |02c6: or-int v13, v16, v1
005fb8: 0805 1100 |02c8: move-object/from16 v5, v17
005fbc: 0206 1200 |02ca: move/from16 v6, v18
005fc0: 7609 8b00 0500 |02cc: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
005fc6: 6201 3200 |02cf: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005fca: 4401 010f |02d1: aget v1, v1, v15
005fce: b541 |02d3: and-int/2addr v1, v4
005fd0: 3801 2d00 |02d4: if-eqz v1, 0301 // +002d
005fd4: 6201 3300 |02d6: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005fd8: 4401 010f |02d8: aget v1, v1, v15
005fdc: 9501 0114 |02da: and-int v1, v1, v20
005fe0: 3801 2500 |02dc: if-eqz v1, 0301 // +0025
005fe4: 9607 1410 |02de: or-int v7, v20, v16
005fe8: 6201 3200 |02e0: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
005fec: 4401 010f |02e2: aget v1, v1, v15
005ff0: 9708 0401 |02e4: xor-int v8, v4, v1
005ff4: d809 0ff9 |02e6: add-int/lit8 v9, v15, #int -7 // #f9
005ff8: 6201 3300 |02e8: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
005ffc: 440a 010f |02ea: aget v10, v1, v15
006000: 6201 3200 |02ec: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
006004: 4401 010f |02ee: aget v1, v1, v15
006008: 960b 1001 |02f0: or-int v11, v16, v1
00600c: 130c 0108 |02f2: const/16 v12, #int 2049 // #801
006010: 6201 3300 |02f4: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
006014: 4401 010f |02f6: aget v1, v1, v15
006018: 960d 1001 |02f8: or-int v13, v16, v1
00601c: 0805 1100 |02fa: move-object/from16 v5, v17
006020: 0206 1200 |02fc: move/from16 v6, v18
006024: 7609 8b00 0500 |02fe: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
00602a: 6201 3400 |0301: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
00602e: 4401 010f |0303: aget v1, v1, v15
006032: b541 |0305: and-int/2addr v1, v4
006034: 3801 2d00 |0306: if-eqz v1, 0333 // +002d
006038: 6201 3500 |0308: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
00603c: 4401 010f |030a: aget v1, v1, v15
006040: 9501 0114 |030c: and-int v1, v1, v20
006044: 3801 2500 |030e: if-eqz v1, 0333 // +0025
006048: 9607 1410 |0310: or-int v7, v20, v16
00604c: 6201 3400 |0312: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
006050: 4401 010f |0314: aget v1, v1, v15
006054: 9708 0401 |0316: xor-int v8, v4, v1
006058: d809 0f07 |0318: add-int/lit8 v9, v15, #int 7 // #07
00605c: 6201 3500 |031a: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
006060: 440a 010f |031c: aget v10, v1, v15
006064: 6201 3400 |031e: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
006068: 4401 010f |0320: aget v1, v1, v15
00606c: 960b 1001 |0322: or-int v11, v16, v1
006070: 130c 0108 |0324: const/16 v12, #int 2049 // #801
006074: 6201 3500 |0326: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
006078: 4401 010f |0328: aget v1, v1, v15
00607c: 960d 1001 |032a: or-int v13, v16, v1
006080: 0805 1100 |032c: move-object/from16 v5, v17
006084: 0206 1200 |032e: move/from16 v6, v18
006088: 7609 8b00 0500 |0330: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
00608e: 6201 3600 |0333: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
006092: 4401 010f |0335: aget v1, v1, v15
006096: b541 |0337: and-int/2addr v1, v4
006098: 3801 2d00 |0338: if-eqz v1, 0365 // +002d
00609c: 6201 3700 |033a: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
0060a0: 4401 010f |033c: aget v1, v1, v15
0060a4: 9501 0114 |033e: and-int v1, v1, v20
0060a8: 3801 2500 |0340: if-eqz v1, 0365 // +0025
0060ac: 9607 1410 |0342: or-int v7, v20, v16
0060b0: 6201 3600 |0344: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
0060b4: 4401 010f |0346: aget v1, v1, v15
0060b8: 9708 0401 |0348: xor-int v8, v4, v1
0060bc: d809 0f09 |034a: add-int/lit8 v9, v15, #int 9 // #09
0060c0: 6201 3700 |034c: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
0060c4: 440a 010f |034e: aget v10, v1, v15
0060c8: 6201 3600 |0350: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
0060cc: 4401 010f |0352: aget v1, v1, v15
0060d0: 960b 1001 |0354: or-int v11, v16, v1
0060d4: 130c 0108 |0356: const/16 v12, #int 2049 // #801
0060d8: 6201 3700 |0358: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
0060dc: 4401 010f |035a: aget v1, v1, v15
0060e0: 960d 1001 |035c: or-int v13, v16, v1
0060e4: 0805 1100 |035e: move-object/from16 v5, v17
0060e8: 0206 1200 |0360: move/from16 v6, v18
0060ec: 7609 8b00 0500 |0362: invoke-direct/range {v5, v6, v7, v8, v9, v10, v11, v12, v13}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
0060f2: 01e1 |0365: move v1, v14
0060f4: 2900 cafe |0366: goto/16 0230 // -0136
0060f8: 1201 |0368: const/4 v1, #int 0 // #0
0060fa: 2900 19fd |0369: goto/16 0082 // -02e7
catches : (none)
positions :
locals :
#13 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '(ZIIIZ)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 130
code -
registers : 9
ins : 5
outs : 1
insns size : 46 16-bit code units
006100: |[006100] com.google.android.checkers.a.b:(ZIIIZ)I
006110: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006116: 0a02 |0003: move-result v2
006118: 7110 9f00 0600 |0004: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
00611e: 0a01 |0007: move-result v1
006120: 7110 9f00 0700 |0008: invoke-static {v7}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006126: 0a00 |000b: move-result v0
006128: 3808 0800 |000c: if-eqz v8, 0014 // +0008
00612c: d902 021f |000e: rsub-int/lit8 v2, v2, #int 31 // #1f
006130: d901 011f |0010: rsub-int/lit8 v1, v1, #int 31 // #1f
006134: d900 001f |0012: rsub-int/lit8 v0, v0, #int 31 // #1f
006138: d800 00fc |0014: add-int/lit8 v0, v0, #int -4 // #fc
00613c: 3804 0d00 |0016: if-eqz v4, 0023 // +000d
006140: 6203 6300 |0018: sget-object v3, Lcom/google/android/checkers/g;.k:[B // field@0063
006144: d200 8003 |001a: mul-int/lit16 v0, v0, #int 896 // #0380
006148: da02 0220 |001c: mul-int/lit8 v2, v2, #int 32 // #20
00614c: b020 |001e: add-int/2addr v0, v2
00614e: b010 |001f: add-int/2addr v0, v1
006150: 4800 0300 |0020: aget-byte v0, v3, v0
006154: 0f00 |0022: return v0
006156: 6203 6400 |0023: sget-object v3, Lcom/google/android/checkers/g;.l:[B // field@0064
00615a: d200 8003 |0025: mul-int/lit16 v0, v0, #int 896 // #0380
00615e: da02 0220 |0027: mul-int/lit8 v2, v2, #int 32 // #20
006162: b020 |0029: add-int/2addr v0, v2
006164: b010 |002a: add-int/2addr v0, v1
006166: 4800 0300 |002b: aget-byte v0, v3, v0
00616a: 28f5 |002d: goto 0022 // -000b
catches : (none)
positions :
locals :
#14 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '(ZIIZ)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 131
code -
registers : 8
ins : 4
outs : 1
insns size : 56 16-bit code units
00616c: |[00616c] com.google.android.checkers.a.b:(ZIIZ)I
00617c: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006182: 0a00 |0003: move-result v0
006184: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff
006188: b551 |0006: and-int/2addr v1, v5
00618a: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006190: 0a02 |000a: move-result v2
006192: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006198: 0a01 |000e: move-result v1
00619a: 3807 0800 |000f: if-eqz v7, 0017 // +0008
00619e: d900 001f |0011: rsub-int/lit8 v0, v0, #int 31 // #1f
0061a2: d902 021f |0013: rsub-int/lit8 v2, v2, #int 31 // #1f
0061a6: d901 011f |0015: rsub-int/lit8 v1, v1, #int 31 // #1f
0061aa: d801 01fc |0017: add-int/lit8 v1, v1, #int -4 // #fc
0061ae: 3520 1100 |0019: if-ge v0, v2, 002a // +0011
0061b2: 6203 3800 |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
0061b6: 4402 0302 |001d: aget v2, v3, v2
0061ba: b020 |001f: add-int/2addr v0, v2
0061bc: 3804 1000 |0020: if-eqz v4, 0030 // +0010
0061c0: 6202 5f00 |0022: sget-object v2, Lcom/google/android/checkers/g;.g:[B // field@005f
0061c4: d211 f001 |0024: mul-int/lit16 v1, v1, #int 496 // #01f0
0061c8: b010 |0026: add-int/2addr v0, v1
0061ca: 4800 0200 |0027: aget-byte v0, v2, v0
0061ce: 0f00 |0029: return v0
0061d0: 6203 3800 |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
0061d4: 4400 0300 |002c: aget v0, v3, v0
0061d8: b020 |002e: add-int/2addr v0, v2
0061da: 28f1 |002f: goto 0020 // -000f
0061dc: 6202 6000 |0030: sget-object v2, Lcom/google/android/checkers/g;.h:[B // field@0060
0061e0: d211 f001 |0032: mul-int/lit16 v1, v1, #int 496 // #01f0
0061e4: b010 |0034: add-int/2addr v0, v1
0061e6: 4800 0200 |0035: aget-byte v0, v2, v0
0061ea: 28f2 |0037: goto 0029 // -000e
catches : (none)
positions :
locals :
#15 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '()V'
access : 0x20012 (PRIVATE FINAL DECLARED_SYNCHRONIZED)
method_idx : 132
code -
registers : 2
ins : 1
outs : 1
insns size : 19 16-bit code units
0061ec: |[0061ec] com.google.android.checkers.a.b:()V
0061fc: 1d01 |0000: monitor-enter v1
0061fe: 5510 4400 |0001: iget-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044
006202: 3800 0700 |0003: if-eqz v0, 000a // +0007
006206: 1200 |0005: const/4 v0, #int 0 // #0
006208: 5c10 4400 |0006: iput-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044
00620c: 1e01 |0008: monitor-exit v1
00620e: 0e00 |0009: return-void
006210: 6e10 a200 0100 |000a: invoke-virtual {v1}, Ljava/lang/Object;.wait:()V // method@00a2
006216: 28f4 |000d: goto 0001 // -000c
006218: 0d00 |000e: move-exception v0
00621a: 28f2 |000f: goto 0001 // -000e
00621c: 0d00 |0010: move-exception v0
00621e: 1e01 |0011: monitor-exit v1
006220: 2700 |0012: throw v0
catches : 2
0x0001 - 0x0008
<any> -> 0x0010
0x000a - 0x000d
Ljava/lang/InterruptedException; -> 0x000e
<any> -> 0x0010
positions :
locals :
#16 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '(I)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 133
code -
registers : 10
ins : 2
outs : 1
insns size : 368 16-bit code units
00623c: |[00623c] com.google.android.checkers.a.b:(I)V
00624c: 5280 3d00 |0000: iget v0, v8, Lcom/google/android/checkers/a;.d:I // field@003d
006250: 5282 3e00 |0002: iget v2, v8, Lcom/google/android/checkers/a;.e:I // field@003e
006254: 5283 3f00 |0004: iget v3, v8, Lcom/google/android/checkers/a;.f:I // field@003f
006258: 5284 4000 |0006: iget v4, v8, Lcom/google/android/checkers/a;.g:I // field@0040
00625c: 5481 4900 |0008: iget-object v1, v8, Lcom/google/android/checkers/a;.p:[I // field@0049
006260: 4401 0109 |000a: aget v1, v1, v9
006264: d511 ff00 |000c: and-int/lit16 v1, v1, #int 255 // #00ff
006268: 5485 4900 |000e: iget-object v5, v8, Lcom/google/android/checkers/a;.p:[I // field@0049
00626c: 4405 0509 |0010: aget v5, v5, v9
006270: d555 000f |0012: and-int/lit16 v5, v5, #int 3840 // #0f00
006274: 5486 4800 |0014: iget-object v6, v8, Lcom/google/android/checkers/a;.o:[I // field@0048
006278: 4406 0609 |0016: aget v6, v6, v9
00627c: 2c05 4601 0000 |0018: sparse-switch v5, 0000015e // +00000146
006282: 5281 5100 |001b: iget v1, v8, Lcom/google/android/checkers/a;.x:I // field@0051
006286: 6205 3900 |001d: sget-object v5, Lcom/google/android/checkers/a;.M:[I // field@0039
00628a: 1306 8000 |001f: const/16 v6, #int 128 // #80
00628e: 4405 0506 |0021: aget v5, v5, v6
006292: b751 |0023: xor-int/2addr v1, v5
006294: 5285 3d00 |0024: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
006298: b750 |0026: xor-int/2addr v0, v5
00629a: 3900 ee00 |0027: if-nez v0, 0115 // +00ee
00629e: 5280 3e00 |0029: iget v0, v8, Lcom/google/android/checkers/a;.e:I // field@003e
0062a2: b720 |002b: xor-int/2addr v0, v2
0062a4: 3900 fb00 |002c: if-nez v0, 0127 // +00fb
0062a8: 5280 3f00 |002e: iget v0, v8, Lcom/google/android/checkers/a;.f:I // field@003f
0062ac: b730 |0030: xor-int/2addr v0, v3
0062ae: 3900 0801 |0031: if-nez v0, 0139 // +0108
0062b2: 5280 4000 |0033: iget v0, v8, Lcom/google/android/checkers/a;.g:I // field@0040
0062b6: b740 |0035: xor-int/2addr v0, v4
0062b8: 3900 1501 |0036: if-nez v0, 014b // +0115
0062bc: 5981 5100 |0038: iput v1, v8, Lcom/google/android/checkers/a;.x:I // field@0051
0062c0: 0e00 |003a: return-void
0062c2: 1505 00f0 |003b: const/high16 v5, #int -268435456 // #f000
0062c6: b565 |003d: and-int/2addr v5, v6
0062c8: 3805 3100 |003e: if-eqz v5, 006f // +0031
0062cc: 5285 3d00 |0040: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
0062d0: 5487 3a00 |0042: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
0062d4: 4407 0709 |0044: aget v7, v7, v9
0062d8: df07 07ff |0046: xor-int/lit8 v7, v7, #int -1 // #ff
0062dc: b575 |0048: and-int/2addr v5, v7
0062de: 5985 3d00 |0049: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
0062e2: 5285 3e00 |004b: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
0062e6: b665 |004d: or-int/2addr v5, v6
0062e8: 5985 3e00 |004e: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
0062ec: 3801 cbff |0050: if-eqz v1, 001b // -0035
0062f0: 5285 3f00 |0052: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
0062f4: 5486 3a00 |0054: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
0062f8: 4406 0609 |0056: aget v6, v6, v9
0062fc: df06 06ff |0058: xor-int/lit8 v6, v6, #int -1 // #ff
006300: b565 |005a: and-int/2addr v5, v6
006302: 5985 3f00 |005b: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
006306: 5285 4000 |005d: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
00630a: 5486 3a00 |005f: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
00630e: 4406 0609 |0061: aget v6, v6, v9
006312: df06 06ff |0063: xor-int/lit8 v6, v6, #int -1 // #ff
006316: b565 |0065: and-int/2addr v5, v6
006318: 5985 4000 |0066: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
00631c: 5285 5000 |0068: iget v5, v8, Lcom/google/android/checkers/a;.w:I // field@0050
006320: 9101 0501 |006a: sub-int v1, v5, v1
006324: 5981 5000 |006c: iput v1, v8, Lcom/google/android/checkers/a;.w:I // field@0050
006328: 28ad |006e: goto 001b // -0053
00632a: 5285 3d00 |006f: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
00632e: 5487 3a00 |0071: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
006332: 4407 0709 |0073: aget v7, v7, v9
006336: df07 07ff |0075: xor-int/lit8 v7, v7, #int -1 // #ff
00633a: b575 |0077: and-int/2addr v5, v7
00633c: b665 |0078: or-int/2addr v5, v6
00633e: 5985 3d00 |0079: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
006342: 28d5 |007b: goto 0050 // -002b
006344: 5285 3e00 |007c: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
006348: 5487 3a00 |007e: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
00634c: 4407 0709 |0080: aget v7, v7, v9
006350: df07 07ff |0082: xor-int/lit8 v7, v7, #int -1 // #ff
006354: b575 |0084: and-int/2addr v5, v7
006356: b665 |0085: or-int/2addr v5, v6
006358: 5985 3e00 |0086: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
00635c: 3801 93ff |0088: if-eqz v1, 001b // -006d
006360: 5285 3f00 |008a: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
006364: 5486 3a00 |008c: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
006368: 4406 0609 |008e: aget v6, v6, v9
00636c: df06 06ff |0090: xor-int/lit8 v6, v6, #int -1 // #ff
006370: b565 |0092: and-int/2addr v5, v6
006372: 5985 3f00 |0093: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
006376: 5285 4000 |0095: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
00637a: 5486 3a00 |0097: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
00637e: 4406 0609 |0099: aget v6, v6, v9
006382: df06 06ff |009b: xor-int/lit8 v6, v6, #int -1 // #ff
006386: b565 |009d: and-int/2addr v5, v6
006388: 5985 4000 |009e: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
00638c: 5285 5000 |00a0: iget v5, v8, Lcom/google/android/checkers/a;.w:I // field@0050
006390: 9101 0501 |00a2: sub-int v1, v5, v1
006394: 5981 5000 |00a4: iput v1, v8, Lcom/google/android/checkers/a;.w:I // field@0050
006398: 2900 75ff |00a6: goto/16 001b // -008b
00639c: dd05 060f |00a8: and-int/lit8 v5, v6, #int 15 // #0f
0063a0: 3805 3200 |00aa: if-eqz v5, 00dc // +0032
0063a4: 5285 3f00 |00ac: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
0063a8: 5487 3a00 |00ae: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
0063ac: 4407 0709 |00b0: aget v7, v7, v9
0063b0: df07 07ff |00b2: xor-int/lit8 v7, v7, #int -1 // #ff
0063b4: b575 |00b4: and-int/2addr v5, v7
0063b6: 5985 3f00 |00b5: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
0063ba: 5285 4000 |00b7: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
0063be: b665 |00b9: or-int/2addr v5, v6
0063c0: 5985 4000 |00ba: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
0063c4: 3801 5fff |00bc: if-eqz v1, 001b // -00a1
0063c8: 5285 3d00 |00be: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
0063cc: 5486 3a00 |00c0: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
0063d0: 4406 0609 |00c2: aget v6, v6, v9
0063d4: df06 06ff |00c4: xor-int/lit8 v6, v6, #int -1 // #ff
0063d8: b565 |00c6: and-int/2addr v5, v6
0063da: 5985 3d00 |00c7: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
0063de: 5285 3e00 |00c9: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
0063e2: 5486 3a00 |00cb: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
0063e6: 4406 0609 |00cd: aget v6, v6, v9
0063ea: df06 06ff |00cf: xor-int/lit8 v6, v6, #int -1 // #ff
0063ee: b565 |00d1: and-int/2addr v5, v6
0063f0: 5985 3e00 |00d2: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
0063f4: 5285 4f00 |00d4: iget v5, v8, Lcom/google/android/checkers/a;.v:I // field@004f
0063f8: 9101 0501 |00d6: sub-int v1, v5, v1
0063fc: 5981 4f00 |00d8: iput v1, v8, Lcom/google/android/checkers/a;.v:I // field@004f
006400: 2900 41ff |00da: goto/16 001b // -00bf
006404: 5285 3f00 |00dc: iget v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
006408: 5487 3a00 |00de: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
00640c: 4407 0709 |00e0: aget v7, v7, v9
006410: df07 07ff |00e2: xor-int/lit8 v7, v7, #int -1 // #ff
006414: b575 |00e4: and-int/2addr v5, v7
006416: b665 |00e5: or-int/2addr v5, v6
006418: 5985 3f00 |00e6: iput v5, v8, Lcom/google/android/checkers/a;.f:I // field@003f
00641c: 28d4 |00e8: goto 00bc // -002c
00641e: 5285 4000 |00e9: iget v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
006422: 5487 3a00 |00eb: iget-object v7, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
006426: 4407 0709 |00ed: aget v7, v7, v9
00642a: df07 07ff |00ef: xor-int/lit8 v7, v7, #int -1 // #ff
00642e: b575 |00f1: and-int/2addr v5, v7
006430: b665 |00f2: or-int/2addr v5, v6
006432: 5985 4000 |00f3: iput v5, v8, Lcom/google/android/checkers/a;.g:I // field@0040
006436: 3801 26ff |00f5: if-eqz v1, 001b // -00da
00643a: 5285 3d00 |00f7: iget v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
00643e: 5486 3a00 |00f9: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
006442: 4406 0609 |00fb: aget v6, v6, v9
006446: df06 06ff |00fd: xor-int/lit8 v6, v6, #int -1 // #ff
00644a: b565 |00ff: and-int/2addr v5, v6
00644c: 5985 3d00 |0100: iput v5, v8, Lcom/google/android/checkers/a;.d:I // field@003d
006450: 5285 3e00 |0102: iget v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
006454: 5486 3a00 |0104: iget-object v6, v8, Lcom/google/android/checkers/a;.a:[I // field@003a
006458: 4406 0609 |0106: aget v6, v6, v9
00645c: df06 06ff |0108: xor-int/lit8 v6, v6, #int -1 // #ff
006460: b565 |010a: and-int/2addr v5, v6
006462: 5985 3e00 |010b: iput v5, v8, Lcom/google/android/checkers/a;.e:I // field@003e
006466: 5285 4f00 |010d: iget v5, v8, Lcom/google/android/checkers/a;.v:I // field@004f
00646a: 9101 0501 |010f: sub-int v1, v5, v1
00646e: 5981 4f00 |0111: iput v1, v8, Lcom/google/android/checkers/a;.v:I // field@004f
006472: 2900 08ff |0113: goto/16 001b // -00f8
006476: 6205 3900 |0115: sget-object v5, Lcom/google/android/checkers/a;.M:[I // field@0039
00647a: 7110 9f00 0000 |0117: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006480: 0a06 |011a: move-result v6
006482: da06 0604 |011b: mul-int/lit8 v6, v6, #int 4 // #04
006486: d806 0600 |011d: add-int/lit8 v6, v6, #int 0 // #00
00648a: 4405 0506 |011f: aget v5, v5, v6
00648e: b751 |0121: xor-int/2addr v1, v5
006490: d805 00ff |0122: add-int/lit8 v5, v0, #int -1 // #ff
006494: b550 |0124: and-int/2addr v0, v5
006496: 2900 02ff |0125: goto/16 0027 // -00fe
00649a: 6202 3900 |0127: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
00649e: 7110 9f00 0000 |0129: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0064a4: 0a05 |012c: move-result v5
0064a6: da05 0504 |012d: mul-int/lit8 v5, v5, #int 4 // #04
0064aa: d805 0501 |012f: add-int/lit8 v5, v5, #int 1 // #01
0064ae: 4402 0205 |0131: aget v2, v2, v5
0064b2: b721 |0133: xor-int/2addr v1, v2
0064b4: d802 00ff |0134: add-int/lit8 v2, v0, #int -1 // #ff
0064b8: b520 |0136: and-int/2addr v0, v2
0064ba: 2900 f5fe |0137: goto/16 002c // -010b
0064be: 6202 3900 |0139: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
0064c2: 7110 9f00 0000 |013b: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0064c8: 0a03 |013e: move-result v3
0064ca: da03 0304 |013f: mul-int/lit8 v3, v3, #int 4 // #04
0064ce: d803 0302 |0141: add-int/lit8 v3, v3, #int 2 // #02
0064d2: 4402 0203 |0143: aget v2, v2, v3
0064d6: b721 |0145: xor-int/2addr v1, v2
0064d8: d802 00ff |0146: add-int/lit8 v2, v0, #int -1 // #ff
0064dc: b520 |0148: and-int/2addr v0, v2
0064de: 2900 e8fe |0149: goto/16 0031 // -0118
0064e2: 6202 3900 |014b: sget-object v2, Lcom/google/android/checkers/a;.M:[I // field@0039
0064e6: 7110 9f00 0000 |014d: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0064ec: 0a03 |0150: move-result v3
0064ee: da03 0304 |0151: mul-int/lit8 v3, v3, #int 4 // #04
0064f2: d803 0303 |0153: add-int/lit8 v3, v3, #int 3 // #03
0064f6: 4402 0203 |0155: aget v2, v2, v3
0064fa: b721 |0157: xor-int/2addr v1, v2
0064fc: d802 00ff |0158: add-int/lit8 v2, v0, #int -1 // #ff
006500: b520 |015a: and-int/2addr v0, v2
006502: 2900 dbfe |015b: goto/16 0036 // -0125
006506: 0000 |015d: nop // spacer
006508: 0002 0400 0001 0000 0002 0000 0004 ... |015e: sparse-switch-data (18 units)
catches : (none)
positions :
locals :
#17 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '(IIIIIIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 134
code -
registers : 18
ins : 9
outs : 9
insns size : 99 16-bit code units
00652c: |[00652c] com.google.android.checkers.a.b:(IIIIIIII)V
00653c: 1210 |0000: const/4 v0, #int 1 // #1
00653e: 6201 3400 |0001: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
006542: 4401 010d |0003: aget v1, v1, v13
006546: b5c1 |0005: and-int/2addr v1, v12
006548: 3801 2500 |0006: if-eqz v1, 002b // +0025
00654c: 6201 3500 |0008: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
006550: 4401 010d |000a: aget v1, v1, v13
006554: b5b1 |000c: and-int/2addr v1, v11
006556: 3801 1e00 |000d: if-eqz v1, 002b // +001e
00655a: d804 0d07 |000f: add-int/lit8 v4, v13, #int 7 // #07
00655e: 6200 3500 |0011: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
006562: 4405 000d |0013: aget v5, v0, v13
006566: 6200 3400 |0015: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
00656a: 4400 000d |0017: aget v0, v0, v13
00656e: 9606 0f00 |0019: or-int v6, v15, v0
006572: d807 1001 |001b: add-int/lit8 v7, v16, #int 1 // #01
006576: 6200 3500 |001d: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
00657a: 4400 000d |001f: aget v0, v0, v13
00657e: 9608 1100 |0021: or-int v8, v17, v0
006582: 0790 |0023: move-object v0, v9
006584: 01a1 |0024: move v1, v10
006586: 01b2 |0025: move v2, v11
006588: 01c3 |0026: move v3, v12
00658a: 7609 8600 0000 |0027: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
006590: 1200 |002a: const/4 v0, #int 0 // #0
006592: 6201 3600 |002b: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
006596: 4401 010d |002d: aget v1, v1, v13
00659a: b5c1 |002f: and-int/2addr v1, v12
00659c: 3801 2500 |0030: if-eqz v1, 0055 // +0025
0065a0: 6201 3700 |0032: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
0065a4: 4401 010d |0034: aget v1, v1, v13
0065a8: b5b1 |0036: and-int/2addr v1, v11
0065aa: 3801 1e00 |0037: if-eqz v1, 0055 // +001e
0065ae: d804 0d09 |0039: add-int/lit8 v4, v13, #int 9 // #09
0065b2: 6200 3700 |003b: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
0065b6: 4405 000d |003d: aget v5, v0, v13
0065ba: 6200 3600 |003f: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
0065be: 4400 000d |0041: aget v0, v0, v13
0065c2: 9606 0f00 |0043: or-int v6, v15, v0
0065c6: d807 1001 |0045: add-int/lit8 v7, v16, #int 1 // #01
0065ca: 6200 3700 |0047: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
0065ce: 4400 000d |0049: aget v0, v0, v13
0065d2: 9608 1100 |004b: or-int v8, v17, v0
0065d6: 0790 |004d: move-object v0, v9
0065d8: 01a1 |004e: move v1, v10
0065da: 01b2 |004f: move v2, v11
0065dc: 01c3 |0050: move v3, v12
0065de: 7609 8600 0000 |0051: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.b:(IIIIIIII)V // method@0086
0065e4: 1200 |0054: const/4 v0, #int 0 // #0
0065e6: 3800 0d00 |0055: if-eqz v0, 0062 // +000d
0065ea: 0790 |0057: move-object v0, v9
0065ec: 01a1 |0058: move v1, v10
0065ee: 01e2 |0059: move v2, v14
0065f0: 01f3 |005a: move v3, v15
0065f2: 0204 1000 |005b: move/from16 v4, v16
0065f6: 0205 1100 |005d: move/from16 v5, v17
0065fa: 7606 7e00 0000 |005f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006600: 0e00 |0062: return-void
catches : (none)
positions :
locals :
#18 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '(IZI)Z'
access : 0x0012 (PRIVATE FINAL)
method_idx : 136
code -
registers : 15
ins : 4
outs : 6
insns size : 461 16-bit code units
006604: |[006604] com.google.android.checkers.a.b:(IZI)Z
006614: 1404 e0e0 e000 |0000: const v4, #float 2.06518e-38 // #00e0e0e0
00661a: 1216 |0003: const/4 v6, #int 1 // #1
00661c: 1403 e0e0 e0e0 |0004: const v3, #float -1.29634e+20 // #e0e0e0e0
006622: 130a 0008 |0007: const/16 v10, #int 2048 // #800
006626: 1309 0002 |0009: const/16 v9, #int 512 // #200
00662a: 380d e400 |000b: if-eqz v13, 00ef // +00e4
00662e: 52b0 3e00 |000d: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e
006632: 3900 1b00 |000f: if-nez v0, 002a // +001b
006636: 52b0 3d00 |0011: iget v0, v11, Lcom/google/android/checkers/a;.d:I // field@003d
00663a: e201 0e04 |0013: ushr-int/lit8 v1, v14, #int 4 // #04
00663e: 9502 0e03 |0015: and-int v2, v14, v3
006642: e202 0205 |0017: ushr-int/lit8 v2, v2, #int 5 // #05
006646: b621 |0019: or-int/2addr v1, v2
006648: 1402 0007 0707 |001a: const v2, #float 1.01583e-34 // #07070700
00664e: b5e2 |001d: and-int/2addr v2, v14
006650: e202 0203 |001e: ushr-int/lit8 v2, v2, #int 3 // #03
006654: b621 |0020: or-int/2addr v1, v2
006656: b510 |0021: and-int/2addr v0, v1
006658: 3900 2f00 |0022: if-nez v0, 0051 // +002f
00665c: 52b0 3c00 |0024: iget v0, v11, Lcom/google/android/checkers/a;.c:I // field@003c
006660: 3800 a401 |0026: if-eqz v0, 01ca // +01a4
006664: 0160 |0028: move v0, v6
006666: 0f00 |0029: return v0
006668: 52b0 3e00 |002a: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e
00666c: 52b1 3d00 |002c: iget v1, v11, Lcom/google/android/checkers/a;.d:I // field@003d
006670: b610 |002e: or-int/2addr v0, v1
006672: e201 0e04 |002f: ushr-int/lit8 v1, v14, #int 4 // #04
006676: 9502 0e03 |0031: and-int v2, v14, v3
00667a: e202 0205 |0033: ushr-int/lit8 v2, v2, #int 5 // #05
00667e: b621 |0035: or-int/2addr v1, v2
006680: 1402 0007 0707 |0036: const v2, #float 1.01583e-34 // #07070700
006686: b5e2 |0039: and-int/2addr v2, v14
006688: e202 0203 |003a: ushr-int/lit8 v2, v2, #int 3 // #03
00668c: b621 |003c: or-int/2addr v1, v2
00668e: b510 |003d: and-int/2addr v0, v1
006690: 52b1 3e00 |003e: iget v1, v11, Lcom/google/android/checkers/a;.e:I // field@003e
006694: e002 0e04 |0040: shl-int/lit8 v2, v14, #int 4 // #04
006698: 1403 0707 0707 |0042: const v3, #float 1.01583e-34 // #07070707
00669e: b5e3 |0045: and-int/2addr v3, v14
0066a0: e003 0305 |0046: shl-int/lit8 v3, v3, #int 5 // #05
0066a4: b632 |0048: or-int/2addr v2, v3
0066a6: 9503 0e04 |0049: and-int v3, v14, v4
0066aa: e003 0303 |004b: shl-int/lit8 v3, v3, #int 3 // #03
0066ae: b632 |004d: or-int/2addr v2, v3
0066b0: b521 |004e: and-int/2addr v1, v2
0066b2: b610 |004f: or-int/2addr v0, v1
0066b4: 28d2 |0050: goto 0022 // -002e
0066b6: 7110 9f00 0000 |0051: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0066bc: 0a08 |0054: move-result v8
0066be: 9803 0608 |0055: shl-int v3, v6, v8
0066c2: 9707 0003 |0057: xor-int v7, v0, v3
0066c6: 52b0 3e00 |0059: iget v0, v11, Lcom/google/android/checkers/a;.e:I // field@003e
0066ca: b530 |005b: and-int/2addr v0, v3
0066cc: 3900 3400 |005c: if-nez v0, 0090 // +0034
0066d0: 6200 3400 |005e: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
0066d4: 4400 0008 |0060: aget v0, v0, v8
0066d8: b5e0 |0062: and-int/2addr v0, v14
0066da: 3800 1300 |0063: if-eqz v0, 0076 // +0013
0066de: 6200 3400 |0065: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
0066e2: 4402 0008 |0067: aget v2, v0, v8
0066e6: 1304 0001 |0069: const/16 v4, #int 256 // #100
0066ea: 6200 3400 |006b: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
0066ee: 4400 0008 |006d: aget v0, v0, v8
0066f2: 9605 0300 |006f: or-int v5, v3, v0
0066f6: 07b0 |0071: move-object v0, v11
0066f8: 01c1 |0072: move v1, v12
0066fa: 7606 7e00 0000 |0073: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006700: 6200 3600 |0076: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
006704: 4400 0008 |0078: aget v0, v0, v8
006708: b5e0 |007a: and-int/2addr v0, v14
00670a: 3800 7100 |007b: if-eqz v0, 00ec // +0071
00670e: 6200 3600 |007d: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
006712: 4402 0008 |007f: aget v2, v0, v8
006716: 1304 0001 |0081: const/16 v4, #int 256 // #100
00671a: 6200 3600 |0083: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
00671e: 4400 0008 |0085: aget v0, v0, v8
006722: 9605 0300 |0087: or-int v5, v3, v0
006726: 07b0 |0089: move-object v0, v11
006728: 01c1 |008a: move v1, v12
00672a: 7606 7e00 0000 |008b: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006730: 0170 |008e: move v0, v7
006732: 2893 |008f: goto 0022 // -006d
006734: 6200 3000 |0090: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
006738: 4400 0008 |0092: aget v0, v0, v8
00673c: b5e0 |0094: and-int/2addr v0, v14
00673e: 3800 1200 |0095: if-eqz v0, 00a7 // +0012
006742: 6200 3000 |0097: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
006746: 4402 0008 |0099: aget v2, v0, v8
00674a: 6200 3000 |009b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
00674e: 4400 0008 |009d: aget v0, v0, v8
006752: 9605 0300 |009f: or-int v5, v3, v0
006756: 07b0 |00a1: move-object v0, v11
006758: 01c1 |00a2: move v1, v12
00675a: 0194 |00a3: move v4, v9
00675c: 7606 7e00 0000 |00a4: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006762: 6200 3200 |00a7: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
006766: 4400 0008 |00a9: aget v0, v0, v8
00676a: b5e0 |00ab: and-int/2addr v0, v14
00676c: 3800 1200 |00ac: if-eqz v0, 00be // +0012
006770: 6200 3200 |00ae: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
006774: 4402 0008 |00b0: aget v2, v0, v8
006778: 6200 3200 |00b2: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
00677c: 4400 0008 |00b4: aget v0, v0, v8
006780: 9605 0300 |00b6: or-int v5, v3, v0
006784: 07b0 |00b8: move-object v0, v11
006786: 01c1 |00b9: move v1, v12
006788: 0194 |00ba: move v4, v9
00678a: 7606 7e00 0000 |00bb: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006790: 6200 3400 |00be: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
006794: 4400 0008 |00c0: aget v0, v0, v8
006798: b5e0 |00c2: and-int/2addr v0, v14
00679a: 3800 1200 |00c3: if-eqz v0, 00d5 // +0012
00679e: 6200 3400 |00c5: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
0067a2: 4402 0008 |00c7: aget v2, v0, v8
0067a6: 6200 3400 |00c9: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
0067aa: 4400 0008 |00cb: aget v0, v0, v8
0067ae: 9605 0300 |00cd: or-int v5, v3, v0
0067b2: 07b0 |00cf: move-object v0, v11
0067b4: 01c1 |00d0: move v1, v12
0067b6: 0194 |00d1: move v4, v9
0067b8: 7606 7e00 0000 |00d2: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
0067be: 6200 3600 |00d5: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
0067c2: 4400 0008 |00d7: aget v0, v0, v8
0067c6: b5e0 |00d9: and-int/2addr v0, v14
0067c8: 3800 1200 |00da: if-eqz v0, 00ec // +0012
0067cc: 6200 3600 |00dc: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
0067d0: 4402 0008 |00de: aget v2, v0, v8
0067d4: 6200 3600 |00e0: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
0067d8: 4400 0008 |00e2: aget v0, v0, v8
0067dc: 9605 0300 |00e4: or-int v5, v3, v0
0067e0: 07b0 |00e6: move-object v0, v11
0067e2: 01c1 |00e7: move v1, v12
0067e4: 0194 |00e8: move v4, v9
0067e6: 7606 7e00 0000 |00e9: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
0067ec: 0170 |00ec: move v0, v7
0067ee: 2900 35ff |00ed: goto/16 0022 // -00cb
0067f2: 52b0 4000 |00ef: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040
0067f6: 3900 5400 |00f1: if-nez v0, 0145 // +0054
0067fa: 52b0 3f00 |00f3: iget v0, v11, Lcom/google/android/checkers/a;.f:I // field@003f
0067fe: e001 0e04 |00f5: shl-int/lit8 v1, v14, #int 4 // #04
006802: 1402 0707 0707 |00f7: const v2, #float 1.01583e-34 // #07070707
006808: b5e2 |00fa: and-int/2addr v2, v14
00680a: e002 0205 |00fb: shl-int/lit8 v2, v2, #int 5 // #05
00680e: b621 |00fd: or-int/2addr v1, v2
006810: 9502 0e04 |00fe: and-int v2, v14, v4
006814: e002 0203 |0100: shl-int/lit8 v2, v2, #int 3 // #03
006818: b621 |0102: or-int/2addr v1, v2
00681a: b510 |0103: and-int/2addr v0, v1
00681c: 3800 20ff |0104: if-eqz v0, 0024 // -00e0
006820: 7110 9f00 0000 |0106: invoke-static {v0}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006826: 0a08 |0109: move-result v8
006828: 9803 0608 |010a: shl-int v3, v6, v8
00682c: 9707 0003 |010c: xor-int v7, v0, v3
006830: 52b0 4000 |010e: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040
006834: b530 |0110: and-int/2addr v0, v3
006836: 3900 5a00 |0111: if-nez v0, 016b // +005a
00683a: 6200 3000 |0113: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
00683e: 4400 0008 |0115: aget v0, v0, v8
006842: b5e0 |0117: and-int/2addr v0, v14
006844: 3800 1300 |0118: if-eqz v0, 012b // +0013
006848: 6200 3000 |011a: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
00684c: 4402 0008 |011c: aget v2, v0, v8
006850: 1304 0004 |011e: const/16 v4, #int 1024 // #400
006854: 6200 3000 |0120: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
006858: 4400 0008 |0122: aget v0, v0, v8
00685c: 9605 0300 |0124: or-int v5, v3, v0
006860: 07b0 |0126: move-object v0, v11
006862: 01c1 |0127: move v1, v12
006864: 7606 7e00 0000 |0128: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
00686a: 6200 3200 |012b: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
00686e: 4400 0008 |012d: aget v0, v0, v8
006872: b5e0 |012f: and-int/2addr v0, v14
006874: 3800 9700 |0130: if-eqz v0, 01c7 // +0097
006878: 6200 3200 |0132: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
00687c: 4402 0008 |0134: aget v2, v0, v8
006880: 1304 0004 |0136: const/16 v4, #int 1024 // #400
006884: 6200 3200 |0138: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
006888: 4400 0008 |013a: aget v0, v0, v8
00688c: 9605 0300 |013c: or-int v5, v3, v0
006890: 07b0 |013e: move-object v0, v11
006892: 01c1 |013f: move v1, v12
006894: 7606 7e00 0000 |0140: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
00689a: 0170 |0143: move v0, v7
00689c: 28c0 |0144: goto 0104 // -0040
00689e: 52b0 4000 |0145: iget v0, v11, Lcom/google/android/checkers/a;.g:I // field@0040
0068a2: 52b1 3f00 |0147: iget v1, v11, Lcom/google/android/checkers/a;.f:I // field@003f
0068a6: b610 |0149: or-int/2addr v0, v1
0068a8: e001 0e04 |014a: shl-int/lit8 v1, v14, #int 4 // #04
0068ac: 1402 0707 0707 |014c: const v2, #float 1.01583e-34 // #07070707
0068b2: b5e2 |014f: and-int/2addr v2, v14
0068b4: e002 0205 |0150: shl-int/lit8 v2, v2, #int 5 // #05
0068b8: b621 |0152: or-int/2addr v1, v2
0068ba: 9502 0e04 |0153: and-int v2, v14, v4
0068be: e002 0203 |0155: shl-int/lit8 v2, v2, #int 3 // #03
0068c2: b621 |0157: or-int/2addr v1, v2
0068c4: b510 |0158: and-int/2addr v0, v1
0068c6: 52b1 4000 |0159: iget v1, v11, Lcom/google/android/checkers/a;.g:I // field@0040
0068ca: e202 0e04 |015b: ushr-int/lit8 v2, v14, #int 4 // #04
0068ce: b5e3 |015d: and-int/2addr v3, v14
0068d0: e203 0305 |015e: ushr-int/lit8 v3, v3, #int 5 // #05
0068d4: b632 |0160: or-int/2addr v2, v3
0068d6: 1403 0007 0707 |0161: const v3, #float 1.01583e-34 // #07070700
0068dc: b5e3 |0164: and-int/2addr v3, v14
0068de: e203 0303 |0165: ushr-int/lit8 v3, v3, #int 3 // #03
0068e2: b632 |0167: or-int/2addr v2, v3
0068e4: b521 |0168: and-int/2addr v1, v2
0068e6: b610 |0169: or-int/2addr v0, v1
0068e8: 289a |016a: goto 0104 // -0066
0068ea: 6200 3000 |016b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
0068ee: 4400 0008 |016d: aget v0, v0, v8
0068f2: b5e0 |016f: and-int/2addr v0, v14
0068f4: 3800 1200 |0170: if-eqz v0, 0182 // +0012
0068f8: 6200 3000 |0172: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
0068fc: 4402 0008 |0174: aget v2, v0, v8
006900: 6200 3000 |0176: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
006904: 4400 0008 |0178: aget v0, v0, v8
006908: 9605 0300 |017a: or-int v5, v3, v0
00690c: 07b0 |017c: move-object v0, v11
00690e: 01c1 |017d: move v1, v12
006910: 01a4 |017e: move v4, v10
006912: 7606 7e00 0000 |017f: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006918: 6200 3200 |0182: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
00691c: 4400 0008 |0184: aget v0, v0, v8
006920: b5e0 |0186: and-int/2addr v0, v14
006922: 3800 1200 |0187: if-eqz v0, 0199 // +0012
006926: 6200 3200 |0189: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
00692a: 4402 0008 |018b: aget v2, v0, v8
00692e: 6200 3200 |018d: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
006932: 4400 0008 |018f: aget v0, v0, v8
006936: 9605 0300 |0191: or-int v5, v3, v0
00693a: 07b0 |0193: move-object v0, v11
00693c: 01c1 |0194: move v1, v12
00693e: 01a4 |0195: move v4, v10
006940: 7606 7e00 0000 |0196: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006946: 6200 3400 |0199: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
00694a: 4400 0008 |019b: aget v0, v0, v8
00694e: b5e0 |019d: and-int/2addr v0, v14
006950: 3800 1200 |019e: if-eqz v0, 01b0 // +0012
006954: 6200 3400 |01a0: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
006958: 4402 0008 |01a2: aget v2, v0, v8
00695c: 6200 3400 |01a4: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
006960: 4400 0008 |01a6: aget v0, v0, v8
006964: 9605 0300 |01a8: or-int v5, v3, v0
006968: 07b0 |01aa: move-object v0, v11
00696a: 01c1 |01ab: move v1, v12
00696c: 01a4 |01ac: move v4, v10
00696e: 7606 7e00 0000 |01ad: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006974: 6200 3600 |01b0: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
006978: 4400 0008 |01b2: aget v0, v0, v8
00697c: b5e0 |01b4: and-int/2addr v0, v14
00697e: 3800 1200 |01b5: if-eqz v0, 01c7 // +0012
006982: 6200 3600 |01b7: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
006986: 4402 0008 |01b9: aget v2, v0, v8
00698a: 6200 3600 |01bb: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
00698e: 4400 0008 |01bd: aget v0, v0, v8
006992: 9605 0300 |01bf: or-int v5, v3, v0
006996: 07b0 |01c1: move-object v0, v11
006998: 01c1 |01c2: move v1, v12
00699a: 01a4 |01c3: move v4, v10
00699c: 7606 7e00 0000 |01c4: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
0069a2: 0170 |01c7: move v0, v7
0069a4: 2900 3cff |01c8: goto/16 0104 // -00c4
0069a8: 1200 |01ca: const/4 v0, #int 0 // #0
0069aa: 2900 5efe |01cb: goto/16 0029 // -01a2
catches : (none)
positions :
locals :
#19 : (in Lcom/google/android/checkers/a;)
name : 'c'
type : '(ZIIZ)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 137
code -
registers : 8
ins : 4
outs : 1
insns size : 54 16-bit code units
0069b0: |[0069b0] com.google.android.checkers.a.c:(ZIIZ)I
0069c0: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0069c6: 0a00 |0003: move-result v0
0069c8: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff
0069cc: b551 |0006: and-int/2addr v1, v5
0069ce: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0069d4: 0a02 |000a: move-result v2
0069d6: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
0069dc: 0a01 |000e: move-result v1
0069de: 3807 0800 |000f: if-eqz v7, 0017 // +0008
0069e2: d900 001f |0011: rsub-int/lit8 v0, v0, #int 31 // #1f
0069e6: d902 021f |0013: rsub-int/lit8 v2, v2, #int 31 // #1f
0069ea: d901 011f |0015: rsub-int/lit8 v1, v1, #int 31 // #1f
0069ee: 3520 1100 |0017: if-ge v0, v2, 0028 // +0011
0069f2: 6203 3800 |0019: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
0069f6: 4402 0302 |001b: aget v2, v3, v2
0069fa: b020 |001d: add-int/2addr v0, v2
0069fc: 3804 1000 |001e: if-eqz v4, 002e // +0010
006a00: 6202 6500 |0020: sget-object v2, Lcom/google/android/checkers/g;.m:[B // field@0065
006a04: da00 0020 |0022: mul-int/lit8 v0, v0, #int 32 // #20
006a08: b010 |0024: add-int/2addr v0, v1
006a0a: 4800 0200 |0025: aget-byte v0, v2, v0
006a0e: 0f00 |0027: return v0
006a10: 6203 3800 |0028: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
006a14: 4400 0300 |002a: aget v0, v3, v0
006a18: b020 |002c: add-int/2addr v0, v2
006a1a: 28f1 |002d: goto 001e // -000f
006a1c: 6202 6600 |002e: sget-object v2, Lcom/google/android/checkers/g;.n:[B // field@0066
006a20: da00 0020 |0030: mul-int/lit8 v0, v0, #int 32 // #20
006a24: b010 |0032: add-int/2addr v0, v1
006a26: 4800 0200 |0033: aget-byte v0, v2, v0
006a2a: 28f2 |0035: goto 0027 // -000e
catches : (none)
positions :
locals :
#20 : (in Lcom/google/android/checkers/a;)
name : 'c'
type : '()V'
access : 0x000a (PRIVATE STATIC)
method_idx : 138
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
006a2c: |[006a2c] com.google.android.checkers.a.c:()V
006a3c: 1600 f401 |0000: const-wide/16 v0, #int 500 // #1f4
006a40: 7120 ae00 1000 |0002: invoke-static {v0, v1}, Ljava/lang/Thread;.sleep:(J)V // method@00ae
006a46: 0e00 |0005: return-void
006a48: 0d00 |0006: move-exception v0
006a4a: 28fe |0007: goto 0005 // -0002
catches : 1
0x0002 - 0x0005
Ljava/lang/InterruptedException; -> 0x0006
positions :
locals :
#21 : (in Lcom/google/android/checkers/a;)
name : 'c'
type : '(IIIIIIII)V'
access : 0x0012 (PRIVATE FINAL)
method_idx : 139
code -
registers : 18
ins : 9
outs : 9
insns size : 203 16-bit code units
006a58: |[006a58] com.google.android.checkers.a.c:(IIIIIIII)V
006a68: 1210 |0000: const/4 v0, #int 1 // #1
006a6a: 6201 3000 |0001: sget-object v1, Lcom/google/android/checkers/a;.D:[I // field@0030
006a6e: 4401 010d |0003: aget v1, v1, v13
006a72: b5c1 |0005: and-int/2addr v1, v12
006a74: 3801 2a00 |0006: if-eqz v1, 0030 // +002a
006a78: 6201 3100 |0008: sget-object v1, Lcom/google/android/checkers/a;.E:[I // field@0031
006a7c: 4401 010d |000a: aget v1, v1, v13
006a80: b5b1 |000c: and-int/2addr v1, v11
006a82: 3801 2300 |000d: if-eqz v1, 0030 // +0023
006a86: 6200 3000 |000f: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
006a8a: 4400 000d |0011: aget v0, v0, v13
006a8e: 9703 0c00 |0013: xor-int v3, v12, v0
006a92: d804 0df7 |0015: add-int/lit8 v4, v13, #int -9 // #f7
006a96: 6200 3100 |0017: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
006a9a: 4405 000d |0019: aget v5, v0, v13
006a9e: 6200 3000 |001b: sget-object v0, Lcom/google/android/checkers/a;.D:[I // field@0030
006aa2: 4400 000d |001d: aget v0, v0, v13
006aa6: 9606 0f00 |001f: or-int v6, v15, v0
006aaa: d807 1001 |0021: add-int/lit8 v7, v16, #int 1 // #01
006aae: 6200 3100 |0023: sget-object v0, Lcom/google/android/checkers/a;.E:[I // field@0031
006ab2: 4400 000d |0025: aget v0, v0, v13
006ab6: 9608 1100 |0027: or-int v8, v17, v0
006aba: 0790 |0029: move-object v0, v9
006abc: 01a1 |002a: move v1, v10
006abe: 01b2 |002b: move v2, v11
006ac0: 7609 8b00 0000 |002c: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
006ac6: 1200 |002f: const/4 v0, #int 0 // #0
006ac8: 6201 3200 |0030: sget-object v1, Lcom/google/android/checkers/a;.F:[I // field@0032
006acc: 4401 010d |0032: aget v1, v1, v13
006ad0: b5c1 |0034: and-int/2addr v1, v12
006ad2: 3801 2a00 |0035: if-eqz v1, 005f // +002a
006ad6: 6201 3300 |0037: sget-object v1, Lcom/google/android/checkers/a;.G:[I // field@0033
006ada: 4401 010d |0039: aget v1, v1, v13
006ade: b5b1 |003b: and-int/2addr v1, v11
006ae0: 3801 2300 |003c: if-eqz v1, 005f // +0023
006ae4: 6200 3200 |003e: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
006ae8: 4400 000d |0040: aget v0, v0, v13
006aec: 9703 0c00 |0042: xor-int v3, v12, v0
006af0: d804 0df9 |0044: add-int/lit8 v4, v13, #int -7 // #f9
006af4: 6200 3300 |0046: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
006af8: 4405 000d |0048: aget v5, v0, v13
006afc: 6200 3200 |004a: sget-object v0, Lcom/google/android/checkers/a;.F:[I // field@0032
006b00: 4400 000d |004c: aget v0, v0, v13
006b04: 9606 0f00 |004e: or-int v6, v15, v0
006b08: d807 1001 |0050: add-int/lit8 v7, v16, #int 1 // #01
006b0c: 6200 3300 |0052: sget-object v0, Lcom/google/android/checkers/a;.G:[I // field@0033
006b10: 4400 000d |0054: aget v0, v0, v13
006b14: 9608 1100 |0056: or-int v8, v17, v0
006b18: 0790 |0058: move-object v0, v9
006b1a: 01a1 |0059: move v1, v10
006b1c: 01b2 |005a: move v2, v11
006b1e: 7609 8b00 0000 |005b: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
006b24: 1200 |005e: const/4 v0, #int 0 // #0
006b26: 6201 3400 |005f: sget-object v1, Lcom/google/android/checkers/a;.H:[I // field@0034
006b2a: 4401 010d |0061: aget v1, v1, v13
006b2e: b5c1 |0063: and-int/2addr v1, v12
006b30: 3801 2a00 |0064: if-eqz v1, 008e // +002a
006b34: 6201 3500 |0066: sget-object v1, Lcom/google/android/checkers/a;.I:[I // field@0035
006b38: 4401 010d |0068: aget v1, v1, v13
006b3c: b5b1 |006a: and-int/2addr v1, v11
006b3e: 3801 2300 |006b: if-eqz v1, 008e // +0023
006b42: 6200 3400 |006d: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
006b46: 4400 000d |006f: aget v0, v0, v13
006b4a: 9703 0c00 |0071: xor-int v3, v12, v0
006b4e: d804 0d07 |0073: add-int/lit8 v4, v13, #int 7 // #07
006b52: 6200 3500 |0075: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
006b56: 4405 000d |0077: aget v5, v0, v13
006b5a: 6200 3400 |0079: sget-object v0, Lcom/google/android/checkers/a;.H:[I // field@0034
006b5e: 4400 000d |007b: aget v0, v0, v13
006b62: 9606 0f00 |007d: or-int v6, v15, v0
006b66: d807 1001 |007f: add-int/lit8 v7, v16, #int 1 // #01
006b6a: 6200 3500 |0081: sget-object v0, Lcom/google/android/checkers/a;.I:[I // field@0035
006b6e: 4400 000d |0083: aget v0, v0, v13
006b72: 9608 1100 |0085: or-int v8, v17, v0
006b76: 0790 |0087: move-object v0, v9
006b78: 01a1 |0088: move v1, v10
006b7a: 01b2 |0089: move v2, v11
006b7c: 7609 8b00 0000 |008a: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
006b82: 1200 |008d: const/4 v0, #int 0 // #0
006b84: 6201 3600 |008e: sget-object v1, Lcom/google/android/checkers/a;.J:[I // field@0036
006b88: 4401 010d |0090: aget v1, v1, v13
006b8c: b5c1 |0092: and-int/2addr v1, v12
006b8e: 3801 2a00 |0093: if-eqz v1, 00bd // +002a
006b92: 6201 3700 |0095: sget-object v1, Lcom/google/android/checkers/a;.K:[I // field@0037
006b96: 4401 010d |0097: aget v1, v1, v13
006b9a: b5b1 |0099: and-int/2addr v1, v11
006b9c: 3801 2300 |009a: if-eqz v1, 00bd // +0023
006ba0: 6200 3600 |009c: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
006ba4: 4400 000d |009e: aget v0, v0, v13
006ba8: 9703 0c00 |00a0: xor-int v3, v12, v0
006bac: d804 0d09 |00a2: add-int/lit8 v4, v13, #int 9 // #09
006bb0: 6200 3700 |00a4: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
006bb4: 4405 000d |00a6: aget v5, v0, v13
006bb8: 6200 3600 |00a8: sget-object v0, Lcom/google/android/checkers/a;.J:[I // field@0036
006bbc: 4400 000d |00aa: aget v0, v0, v13
006bc0: 9606 0f00 |00ac: or-int v6, v15, v0
006bc4: d807 1001 |00ae: add-int/lit8 v7, v16, #int 1 // #01
006bc8: 6200 3700 |00b0: sget-object v0, Lcom/google/android/checkers/a;.K:[I // field@0037
006bcc: 4400 000d |00b2: aget v0, v0, v13
006bd0: 9608 1100 |00b4: or-int v8, v17, v0
006bd4: 0790 |00b6: move-object v0, v9
006bd6: 01a1 |00b7: move v1, v10
006bd8: 01b2 |00b8: move v2, v11
006bda: 7609 8b00 0000 |00b9: invoke-direct/range {v0, v1, v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.c:(IIIIIIII)V // method@008b
006be0: 1200 |00bc: const/4 v0, #int 0 // #0
006be2: 3800 0d00 |00bd: if-eqz v0, 00ca // +000d
006be6: 0790 |00bf: move-object v0, v9
006be8: 01a1 |00c0: move v1, v10
006bea: 01e2 |00c1: move v2, v14
006bec: 01f3 |00c2: move v3, v15
006bee: 0204 1000 |00c3: move/from16 v4, v16
006bf2: 0205 1100 |00c5: move/from16 v5, v17
006bf6: 7606 7e00 0000 |00c7: invoke-direct/range {v0, v1, v2, v3, v4, v5}, Lcom/google/android/checkers/a;.a:(IIIII)V // method@007e
006bfc: 0e00 |00ca: return-void
catches : (none)
positions :
locals :
#22 : (in Lcom/google/android/checkers/a;)
name : 'd'
type : '(ZIIZ)I'
access : 0x000a (PRIVATE STATIC)
method_idx : 140
code -
registers : 8
ins : 4
outs : 1
insns size : 56 16-bit code units
006c00: |[006c00] com.google.android.checkers.a.d:(ZIIZ)I
006c10: 7110 9f00 0500 |0000: invoke-static {v5}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006c16: 0a00 |0003: move-result v0
006c18: d801 05ff |0004: add-int/lit8 v1, v5, #int -1 // #ff
006c1c: b551 |0006: and-int/2addr v1, v5
006c1e: 7110 9f00 0100 |0007: invoke-static {v1}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006c24: 0a02 |000a: move-result v2
006c26: 7110 9f00 0600 |000b: invoke-static {v6}, Ljava/lang/Integer;.numberOfTrailingZeros:(I)I // method@009f
006c2c: 0a01 |000e: move-result v1
006c2e: 3807 0800 |000f: if-eqz v7, 0017 // +0008
006c32: d900 001f |0011: rsub-int/lit8 v0, v0, #int 31 // #1f
006c36: d902 021f |0013: rsub-int/lit8 v2, v2, #int 31 // #1f
006c3a: d901 011f |0015: rsub-int/lit8 v1, v1, #int 31 // #1f
006c3e: d801 01fc |0017: add-int/lit8 v1, v1, #int -4 // #fc
006c42: 3520 1100 |0019: if-ge v0, v2, 002a // +0011
006c46: 6203 3800 |001b: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
006c4a: 4402 0302 |001d: aget v2, v3, v2
006c4e: b020 |001f: add-int/2addr v0, v2
006c50: 3804 1000 |0020: if-eqz v4, 0030 // +0010
006c54: 6202 6700 |0022: sget-object v2, Lcom/google/android/checkers/g;.o:[B // field@0067
006c58: da00 001c |0024: mul-int/lit8 v0, v0, #int 28 // #1c
006c5c: b010 |0026: add-int/2addr v0, v1
006c5e: 4800 0200 |0027: aget-byte v0, v2, v0
006c62: 0f00 |0029: return v0
006c64: 6203 3800 |002a: sget-object v3, Lcom/google/android/checkers/a;.L:[I // field@0038
006c68: 4400 0300 |002c: aget v0, v3, v0
006c6c: b020 |002e: add-int/2addr v0, v2
006c6e: 28f1 |002f: goto 0020 // -000f
006c70: 6202 6800 |0030: sget-object v2, Lcom/google/android/checkers/g;.p:[B // field@0068
006c74: da00 001c |0032: mul-int/lit8 v0, v0, #int 28 // #1c
006c78: b010 |0034: add-int/2addr v0, v1
006c7a: 4800 0200 |0035: aget-byte v0, v2, v0
006c7e: 28f2 |0037: goto 0029 // -000e
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(ZZ)I'
access : 0x0011 (PUBLIC FINAL)
method_idx : 122
code -
registers : 4
ins : 3
outs : 3
insns size : 8 16-bit code units
006c80: |[006c80] com.google.android.checkers.a.a:(ZZ)I
006c90: 5c13 4c00 |0000: iput-boolean v3, v1, Lcom/google/android/checkers/a;.s:Z // field@004c
006c94: 1200 |0002: const/4 v0, #int 0 // #0
006c96: 7030 7500 0102 |0003: invoke-direct {v1, v0, v2}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075
006c9c: 0a00 |0006: move-result v0
006c9e: 0f00 |0007: return v0
catches : (none)
positions :
locals :
#1 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '()V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 123
code -
registers : 4
ins : 1
outs : 3
insns size : 45 16-bit code units
006ca0: |[006ca0] com.google.android.checkers.a.a:()V
006cb0: 1302 0c00 |0000: const/16 v2, #int 12 // #c
006cb4: 1201 |0002: const/4 v1, #int 0 // #0
006cb6: 1300 ff0f |0003: const/16 v0, #int 4095 // #fff
006cba: 5930 3d00 |0005: iput v0, v3, Lcom/google/android/checkers/a;.d:I // field@003d
006cbe: 5931 3e00 |0007: iput v1, v3, Lcom/google/android/checkers/a;.e:I // field@003e
006cc2: 1500 f0ff |0009: const/high16 v0, #int -1048576 // #fff0
006cc6: 5930 3f00 |000b: iput v0, v3, Lcom/google/android/checkers/a;.f:I // field@003f
006cca: 5931 4000 |000d: iput v1, v3, Lcom/google/android/checkers/a;.g:I // field@0040
006cce: 5932 4f00 |000f: iput v2, v3, Lcom/google/android/checkers/a;.v:I // field@004f
006cd2: 5932 5000 |0011: iput v2, v3, Lcom/google/android/checkers/a;.w:I // field@0050
006cd6: 7020 7600 1300 |0013: invoke-direct {v3, v1}, Lcom/google/android/checkers/a;.a:(Z)I // method@0076
006cdc: 0a00 |0016: move-result v0
006cde: 5930 5100 |0017: iput v0, v3, Lcom/google/android/checkers/a;.x:I // field@0051
006ce2: 7030 7500 1301 |0019: invoke-direct {v3, v1, v1}, Lcom/google/android/checkers/a;.a:(IZ)I // method@0075
006ce8: 5530 2e00 |001c: iget-boolean v0, v3, Lcom/google/android/checkers/a;.B:Z // field@002e
006cec: 3800 0700 |001e: if-eqz v0, 0025 // +0007
006cf0: 0110 |0020: move v0, v1
006cf2: 1502 1000 |0021: const/high16 v2, #int 1048576 // #10
006cf6: 3420 0300 |0023: if-lt v0, v2, 0026 // +0003
006cfa: 0e00 |0025: return-void
006cfc: 5432 5200 |0026: iget-object v2, v3, Lcom/google/android/checkers/a;.y:[I // field@0052
006d00: 4b01 0200 |0028: aput v1, v2, v0
006d04: d800 0001 |002a: add-int/lit8 v0, v0, #int 1 // #01
006d08: 28f5 |002c: goto 0021 // -000b
catches : (none)
positions :
locals :
#2 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(I)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 124
code -
registers : 2
ins : 2
outs : 2
insns size : 4 16-bit code units
006d0c: |[006d0c] com.google.android.checkers.a.a:(I)V
006d1c: 7020 8500 1000 |0000: invoke-direct {v0, v1}, Lcom/google/android/checkers/a;.b:(I)V // method@0085
006d22: 0e00 |0003: return-void
catches : (none)
positions :
locals :
#3 : (in Lcom/google/android/checkers/a;)
name : 'a'
type : '(IIIIZ)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 128
code -
registers : 8
ins : 6
outs : 2
insns size : 37 16-bit code units
006d24: |[006d24] com.google.android.checkers.a.a:(IIIIZ)V
006d34: 5923 3d00 |0000: iput v3, v2, Lcom/google/android/checkers/a;.d:I // field@003d
006d38: 5924 3e00 |0002: iput v4, v2, Lcom/google/android/checkers/a;.e:I // field@003e
006d3c: 5925 3f00 |0004: iput v5, v2, Lcom/google/android/checkers/a;.f:I // field@003f
006d40: 5926 4000 |0006: iput v6, v2, Lcom/google/android/checkers/a;.g:I // field@0040
006d44: 5220 3d00 |0008: iget v0, v2, Lcom/google/android/checkers/a;.d:I // field@003d
006d48: 5221 3e00 |000a: iget v1, v2, Lcom/google/android/checkers/a;.e:I // field@003e
006d4c: b610 |000c: or-int/2addr v0, v1
006d4e: 7110 9e00 0000 |000d: invoke-static {v0}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
006d54: 0a00 |0010: move-result v0
006d56: 5920 4f00 |0011: iput v0, v2, Lcom/google/android/checkers/a;.v:I // field@004f
006d5a: 5220 3f00 |0013: iget v0, v2, Lcom/google/android/checkers/a;.f:I // field@003f
006d5e: 5221 4000 |0015: iget v1, v2, Lcom/google/android/checkers/a;.g:I // field@0040
006d62: b610 |0017: or-int/2addr v0, v1
006d64: 7110 9e00 0000 |0018: invoke-static {v0}, Ljava/lang/Integer;.bitCount:(I)I // method@009e
006d6a: 0a00 |001b: move-result v0
006d6c: 5920 5000 |001c: iput v0, v2, Lcom/google/android/checkers/a;.w:I // field@0050
006d70: 7020 7600 7200 |001e: invoke-direct {v2, v7}, Lcom/google/android/checkers/a;.a:(Z)I // method@0076
006d76: 0a00 |0021: move-result v0
006d78: 5920 5100 |0022: iput v0, v2, Lcom/google/android/checkers/a;.x:I // field@0051
006d7c: 0e00 |0024: return-void
catches : (none)
positions :
locals :
#4 : (in Lcom/google/android/checkers/a;)
name : 'b'
type : '(ZZ)V'
access : 0x20011 (PUBLIC FINAL DECLARED_SYNCHRONIZED)
method_idx : 135
code -
registers : 4
ins : 3
outs : 1
insns size : 16 16-bit code units
006d80: |[006d80] com.google.android.checkers.a.b:(ZZ)V
006d90: 1d01 |0000: monitor-enter v1
006d92: 5c12 4d00 |0001: iput-boolean v2, v1, Lcom/google/android/checkers/a;.t:Z // field@004d
006d96: 5c13 4c00 |0003: iput-boolean v3, v1, Lcom/google/android/checkers/a;.s:Z // field@004c
006d9a: 1210 |0005: const/4 v0, #int 1 // #1
006d9c: 5c10 4400 |0006: iput-boolean v0, v1, Lcom/google/android/checkers/a;.k:Z // field@0044
006da0: 6e10 a100 0100 |0008: invoke-virtual {v1}, Ljava/lang/Object;.notify:()V // method@00a1
006da6: 1e01 |000b: monitor-exit v1
006da8: 0e00 |000c: return-void
006daa: 0d00 |000d: move-exception v0
006dac: 1e01 |000e: monitor-exit v1
006dae: 2700 |000f: throw v0
catches : 1
0x0001 - 0x000b
<any> -> 0x000d
positions :
locals :
#5 : (in Lcom/google/android/checkers/a;)
name : 'run'
type : '()V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 141
code -
registers : 24
ins : 1
outs : 7
insns size : 526 16-bit code units
006dbc: |[006dbc] com.google.android.checkers.a.run:()V
006dcc: 7601 8400 1700 |0000: invoke-direct/range {v23}, Lcom/google/android/checkers/a;.b:()V // method@0084
006dd2: 0800 1700 |0003: move-object/from16 v0, v23
006dd6: 5202 3c00 |0005: iget v2, v0, Lcom/google/android/checkers/a;.c:I // field@003c
006dda: 1213 |0007: const/4 v3, #int 1 // #1
006ddc: 3332 1100 |0008: if-ne v2, v3, 0019 // +0011
006de0: 7100 8a00 0000 |000a: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a
006de6: 0800 1700 |000d: move-object/from16 v0, v23
006dea: 5402 4300 |000f: iget-object v2, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
006dee: 1203 |0011: const/4 v3, #int 0 // #0
006df0: 1204 |0012: const/4 v4, #int 0 // #0
006df2: 12f5 |0013: const/4 v5, #int -1 // #ff
006df4: 1216 |0014: const/4 v6, #int 1 // #1
006df6: 6e56 5000 3254 |0015: invoke-virtual {v2, v3, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
006dfc: 28e8 |0018: goto 0000 // -0018
006dfe: 0800 1700 |0019: move-object/from16 v0, v23
006e02: 5202 4100 |001b: iget v2, v0, Lcom/google/android/checkers/a;.h:I // field@0041
006e06: 3902 1c00 |001d: if-nez v2, 0039 // +001c
006e0a: 7100 8a00 0000 |001f: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a
006e10: 0800 1700 |0022: move-object/from16 v0, v23
006e14: 5402 4200 |0024: iget-object v2, v0, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042
006e18: 0800 1700 |0026: move-object/from16 v0, v23
006e1c: 5203 3c00 |0028: iget v3, v0, Lcom/google/android/checkers/a;.c:I // field@003c
006e20: 6e20 b000 3200 |002a: invoke-virtual {v2, v3}, Ljava/util/Random;.nextInt:(I)I // method@00b0
006e26: 0a02 |002d: move-result v2
006e28: 0800 1700 |002e: move-object/from16 v0, v23
006e2c: 5403 4300 |0030: iget-object v3, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
006e30: 1204 |0032: const/4 v4, #int 0 // #0
006e32: 1205 |0033: const/4 v5, #int 0 // #0
006e34: 1216 |0034: const/4 v6, #int 1 // #1
006e36: 6e56 5000 2354 |0035: invoke-virtual {v3, v2, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
006e3c: 28c8 |0038: goto 0000 // -0038
006e3e: 0800 1700 |0039: move-object/from16 v0, v23
006e42: 5202 3d00 |003b: iget v2, v0, Lcom/google/android/checkers/a;.d:I // field@003d
006e46: 1303 ff0f |003d: const/16 v3, #int 4095 // #fff
006e4a: 3332 2700 |003f: if-ne v2, v3, 0066 // +0027
006e4e: 7100 8a00 0000 |0041: invoke-static {}, Lcom/google/android/checkers/a;.c:()V // method@008a
006e54: 0800 1700 |0044: move-object/from16 v0, v23
006e58: 5403 4200 |0046: iget-object v3, v0, Lcom/google/android/checkers/a;.i:Ljava/util/Random; // field@0042
006e5c: 0800 1700 |0048: move-object/from16 v0, v23
006e60: 5204 3c00 |004a: iget v4, v0, Lcom/google/android/checkers/a;.c:I // field@003c
006e64: 0800 1700 |004c: move-object/from16 v0, v23
006e68: 5502 4d00 |004e: iget-boolean v2, v0, Lcom/google/android/checkers/a;.t:Z // field@004d
006e6c: 3802 1400 |0050: if-eqz v2, 0064 // +0014
006e70: 1212 |0052: const/4 v2, #int 1 // #1
006e72: 9102 0402 |0053: sub-int v2, v4, v2
006e76: 6e20 b000 2300 |0055: invoke-virtual {v3, v2}, Ljava/util/Random;.nextInt:(I)I // method@00b0
006e7c: 0a02 |0058: move-result v2
006e7e: 0800 1700 |0059: move-object/from16 v0, v23
006e82: 5403 4300 |005b: iget-object v3, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
006e86: 1204 |005d: const/4 v4, #int 0 // #0
006e88: 12e5 |005e: const/4 v5, #int -2 // #fe
006e8a: 1216 |005f: const/4 v6, #int 1 // #1
006e8c: 6e56 5000 2354 |0060: invoke-virtual {v3, v2, v4, v5, v6}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
006e92: 289d |0063: goto 0000 // -0063
006e94: 1202 |0064: const/4 v2, #int 0 // #0
006e96: 28ee |0065: goto 0053 // -0012
006e98: 7100 ab00 0000 |0066: invoke-static {}, Ljava/lang/System;.currentTimeMillis:()J // method@00ab
006e9e: 0b02 |0069: move-result-wide v2
006ea0: 0800 1700 |006a: move-object/from16 v0, v23
006ea4: 5a02 4500 |006c: iput-wide v2, v0, Lcom/google/android/checkers/a;.l:J // field@0045
006ea8: 1202 |006e: const/4 v2, #int 0 // #0
006eaa: 0800 1700 |006f: move-object/from16 v0, v23
006eae: 5902 4700 |0071: iput v2, v0, Lcom/google/android/checkers/a;.n:I // field@0047
006eb2: 1202 |0073: const/4 v2, #int 0 // #0
006eb4: 0800 1700 |0074: move-object/from16 v0, v23
006eb8: 5c02 4600 |0076: iput-boolean v2, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
006ebc: 0800 1700 |0078: move-object/from16 v0, v23
006ec0: 5502 4c00 |007a: iget-boolean v2, v0, Lcom/google/android/checkers/a;.s:Z // field@004c
006ec4: 3902 5100 |007c: if-nez v2, 00cd // +0051
006ec8: 6302 6a00 |007e: sget-boolean v2, Lcom/google/android/checkers/g;.r:Z // field@006a
006ecc: 3802 4d00 |0080: if-eqz v2, 00cd // +004d
006ed0: 1212 |0082: const/4 v2, #int 1 // #1
006ed2: 0800 1700 |0083: move-object/from16 v0, v23
006ed6: 5c02 4e00 |0085: iput-boolean v2, v0, Lcom/google/android/checkers/a;.u:Z // field@004e
006eda: 0800 1700 |0087: move-object/from16 v0, v23
006ede: 520e 3c00 |0089: iget v14, v0, Lcom/google/android/checkers/a;.c:I // field@003c
006ee2: 120d |008b: const/4 v13, #int 0 // #0
006ee4: 120b |008c: const/4 v11, #int 0 // #0
006ee6: 120a |008d: const/4 v10, #int 0 // #0
006ee8: 1212 |008e: const/4 v2, #int 1 // #1
006eea: 0800 1700 |008f: move-object/from16 v0, v23
006eee: 5902 2f00 |0091: iput v2, v0, Lcom/google/android/checkers/a;.C:I // field@002f
006ef2: 0800 1700 |0093: move-object/from16 v0, v23
006ef6: 520f 3d00 |0095: iget v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
006efa: 0800 1700 |0097: move-object/from16 v0, v23
006efe: 5200 3e00 |0099: iget v0, v0, Lcom/google/android/checkers/a;.e:I // field@003e
006f02: 0210 0000 |009b: move/from16 v16, v0
006f06: 0800 1700 |009d: move-object/from16 v0, v23
006f0a: 5200 3f00 |009f: iget v0, v0, Lcom/google/android/checkers/a;.f:I // field@003f
006f0e: 0211 0000 |00a1: move/from16 v17, v0
006f12: 0800 1700 |00a3: move-object/from16 v0, v23
006f16: 5200 4000 |00a5: iget v0, v0, Lcom/google/android/checkers/a;.g:I // field@0040
006f1a: 0212 0000 |00a7: move/from16 v18, v0
006f1e: 0800 1700 |00a9: move-object/from16 v0, v23
006f22: 5200 4f00 |00ab: iget v0, v0, Lcom/google/android/checkers/a;.v:I // field@004f
006f26: 0213 0000 |00ad: move/from16 v19, v0
006f2a: 0800 1700 |00af: move-object/from16 v0, v23
006f2e: 5200 5000 |00b1: iget v0, v0, Lcom/google/android/checkers/a;.w:I // field@0050
006f32: 0214 0000 |00b3: move/from16 v20, v0
006f36: 0800 1700 |00b5: move-object/from16 v0, v23
006f3a: 5200 5100 |00b7: iget v0, v0, Lcom/google/android/checkers/a;.x:I // field@0051
006f3e: 0215 0000 |00b9: move/from16 v21, v0
006f42: 1216 |00bb: const/4 v6, #int 1 // #1
006f44: 1302 4000 |00bc: const/16 v2, #int 64 // #40
006f48: 3726 1100 |00be: if-le v6, v2, 00cf // +0011
006f4c: 0800 1700 |00c0: move-object/from16 v0, v23
006f50: 5402 4300 |00c2: iget-object v2, v0, Lcom/google/android/checkers/a;.j:Lcom/google/android/checkers/CheckersView; // field@0043
006f54: 0800 1700 |00c4: move-object/from16 v0, v23
006f58: 5203 2f00 |00c6: iget v3, v0, Lcom/google/android/checkers/a;.C:I // field@002f
006f5c: 6e53 5000 d2ab |00c8: invoke-virtual {v2, v13, v11, v10, v3}, Lcom/google/android/checkers/CheckersView;.a:(IIII)V // method@0050
006f62: 2900 35ff |00cb: goto/16 0000 // -00cb
006f66: 1202 |00cd: const/4 v2, #int 0 // #0
006f68: 28b5 |00ce: goto 0083 // -004b
006f6a: 1309 0180 |00cf: const/16 v9, #int -32767 // #8001
006f6e: 120c |00d1: const/4 v12, #int 0 // #0
006f70: 34ec 1500 |00d2: if-lt v12, v14, 00e7 // +0015
006f74: 1302 0083 |00d4: const/16 v2, #int -32000 // #8300
006f78: 3729 eaff |00d6: if-le v9, v2, 00c0 // -0016
006f7c: 1302 007d |00d8: const/16 v2, #int 32000 // #7d00
006f80: 3529 e6ff |00da: if-ge v9, v2, 00c0 // -001a
006f84: 1202 |00dc: const/4 v2, #int 0 // #0
006f86: 0125 |00dd: move v5, v2
006f88: 01d2 |00de: move v2, v13
006f8a: d803 0eff |00df: add-int/lit8 v3, v14, #int -1 // #ff
006f8e: 3435 6000 |00e1: if-lt v5, v3, 0141 // +0060
006f92: d806 0601 |00e3: add-int/lit8 v6, v6, #int 1 // #01
006f96: 012d |00e5: move v13, v2
006f98: 28d6 |00e6: goto 00bc // -002a
006f9a: 0800 1700 |00e7: move-object/from16 v0, v23
006f9e: 7020 8500 c000 |00e9: invoke-direct {v0, v12}, Lcom/google/android/checkers/a;.b:(I)V // method@0085
006fa4: 1303 0180 |00ec: const/16 v3, #int -32767 // #8001
006fa8: 7b94 |00ee: neg-int v4, v9
006faa: 1215 |00ef: const/4 v5, #int 1 // #1
006fac: 1207 |00f0: const/4 v7, #int 0 // #0
006fae: 0800 1700 |00f1: move-object/from16 v0, v23
006fb2: 5502 4d00 |00f3: iget-boolean v2, v0, Lcom/google/android/checkers/a;.t:Z // field@004d
006fb6: 3802 4a00 |00f5: if-eqz v2, 013f // +004a
006fba: 1208 |00f7: const/4 v8, #int 0 // #0
006fbc: 0802 1700 |00f8: move-object/from16 v2, v23
006fc0: 7607 7400 0200 |00fa: invoke-direct/range {v2, v3, v4, v5, v6, v7, v8}, Lcom/google/android/checkers/a;.a:(IIIIIZ)I // method@0074
006fc6: 0a02 |00fd: move-result v2
006fc8: 7b22 |00fe: neg-int v2, v2
006fca: 0800 1700 |00ff: move-object/from16 v0, v23
006fce: 5403 4a00 |0101: iget-object v3, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
006fd2: 4b02 030c |0103: aput v2, v3, v12
006fd6: 0800 1700 |0105: move-object/from16 v0, v23
006fda: 590f 3d00 |0107: iput v15, v0, Lcom/google/android/checkers/a;.d:I // field@003d
006fde: 0200 1000 |0109: move/from16 v0, v16
006fe2: 0801 1700 |010b: move-object/from16 v1, v23
006fe6: 5910 3e00 |010d: iput v0, v1, Lcom/google/android/checkers/a;.e:I // field@003e
006fea: 0200 1100 |010f: move/from16 v0, v17
006fee: 0801 1700 |0111: move-object/from16 v1, v23
006ff2: 5910 3f00 |0113: iput v0, v1, Lcom/google/android/checkers/a;.f:I // field@003f
006ff6: 0200 1200 |0115: move/from16 v0, v18
006ffa: 0801 1700 |0117: move-object/from16 v1, v23
006ffe: 5910 4000 |0119: iput v0, v1, Lcom/google/android/checkers/a;.g:I // field@0040
007002: 0200 1300 |011b: move/from16 v0, v19
007006: 0801 1700 |011d: move-object/from16 v1, v23
00700a: 5910 4f00 |011f: iput v0, v1, Lcom/google/android/checkers/a;.v:I // field@004f
00700e: 0200 1400 |0121: move/from16 v0, v20
007012: 0801 1700 |0123: move-object/from16 v1, v23
007016: 5910 5000 |0125: iput v0, v1, Lcom/google/android/checkers/a;.w:I // field@0050
00701a: 0200 1500 |0127: move/from16 v0, v21
00701e: 0801 1700 |0129: move-object/from16 v1, v23
007022: 5910 5100 |012b: iput v0, v1, Lcom/google/android/checkers/a;.x:I // field@0051
007026: 0800 1700 |012d: move-object/from16 v0, v23
00702a: 5503 4600 |012f: iget-boolean v3, v0, Lcom/google/android/checkers/a;.m:Z // field@0046
00702e: 3903 8fff |0131: if-nez v3, 00c0 // -0071
007032: 3792 d500 |0133: if-le v2, v9, 0208 // +00d5
007036: 0163 |0135: move v3, v6
007038: 0124 |0136: move v4, v2
00703a: 01c5 |0137: move v5, v12
00703c: d80c 0c01 |0138: add-int/lit8 v12, v12, #int 1 // #01
007040: 0129 |013a: move v9, v2
007042: 013a |013b: move v10, v3
007044: 014b |013c: move v11, v4
007046: 015d |013d: move v13, v5
007048: 2894 |013e: goto 00d2 // -006c
00704a: 1218 |013f: const/4 v8, #int 1 // #1
00704c: 28b8 |0140: goto 00f8 // -0048
00704e: 1213 |0141: const/4 v3, #int 1 // #1
007050: d804 0eff |0142: add-int/lit8 v4, v14, #int -1 // #ff
007054: 3445 0800 |0144: if-lt v5, v4, 014c // +0008
007058: 3903 9dff |0146: if-nez v3, 00e3 // -0063
00705c: d803 0501 |0148: add-int/lit8 v3, v5, #int 1 // #01
007060: 0135 |014a: move v5, v3
007062: 2894 |014b: goto 00df // -006c
007064: 0800 1700 |014c: move-object/from16 v0, v23
007068: 5407 4a00 |014e: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
00706c: 4407 0704 |0150: aget v7, v7, v4
007070: 0800 1700 |0152: move-object/from16 v0, v23
007074: 5408 4a00 |0154: iget-object v8, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
007078: d809 04ff |0156: add-int/lit8 v9, v4, #int -1 // #ff
00707c: 4408 0809 |0158: aget v8, v8, v9
007080: 3787 a800 |015a: if-le v7, v8, 0202 // +00a8
007084: 0800 1700 |015c: move-object/from16 v0, v23
007088: 5403 4a00 |015e: iget-object v3, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
00708c: 4403 0304 |0160: aget v3, v3, v4
007090: 0800 1700 |0162: move-object/from16 v0, v23
007094: 5407 4a00 |0164: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
007098: 0800 1700 |0166: move-object/from16 v0, v23
00709c: 5408 4a00 |0168: iget-object v8, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
0070a0: d809 04ff |016a: add-int/lit8 v9, v4, #int -1 // #ff
0070a4: 4408 0809 |016c: aget v8, v8, v9
0070a8: 4b08 0704 |016e: aput v8, v7, v4
0070ac: 0800 1700 |0170: move-object/from16 v0, v23
0070b0: 5407 4a00 |0172: iget-object v7, v0, Lcom/google/android/checkers/a;.q:[I // field@004a
0070b4: d808 04ff |0174: add-int/lit8 v8, v4, #int -1 // #ff
0070b8: 4b03 0708 |0176: aput v3, v7, v8
0070bc: 0800 1700 |0178: move-object/from16 v0, v23
0070c0: 5403 4800 |017a: iget-object v3, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
0070c4: 4403 0304 |017c: aget v3, v3, v4
0070c8: 0800 1700 |017e: move-object/from16 v0, v23
0070cc: 5407 4800 |0180: iget-object v7, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
0070d0: 0800 1700 |0182: move-object/from16 v0, v23
0070d4: 5408 4800 |0184: iget-object v8, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
0070d8: d809 04ff |0186: add-int/lit8 v9, v4, #int -1 // #ff
0070dc: 4408 0809 |0188: aget v8, v8, v9
0070e0: 4b08 0704 |018a: aput v8, v7, v4
0070e4: 0800 1700 |018c: move-object/from16 v0, v23
0070e8: 5407 4800 |018e: iget-object v7, v0, Lcom/google/android/checkers/a;.o:[I // field@0048
0070ec: d808 04ff |0190: add-int/lit8 v8, v4, #int -1 // #ff
0070f0: 4b03 0708 |0192: aput v3, v7, v8
0070f4: 0800 1700 |0194: move-object/from16 v0, v23
0070f8: 5403 3a00 |0196: iget-object v3, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
0070fc: 4403 0304 |0198: aget v3, v3, v4
007100: 0800 1700 |019a: move-object/from16 v0, v23
007104: 5407 3a00 |019c: iget-object v7, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
007108: 0800 1700 |019e: move-object/from16 v0, v23
00710c: 5408 3a00 |01a0: iget-object v8, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
007110: d809 04ff |01a2: add-int/lit8 v9, v4, #int -1 // #ff
007114: 4408 0809 |01a4: aget v8, v8, v9
007118: 4b08 0704 |01a6: aput v8, v7, v4
00711c: 0800 1700 |01a8: move-object/from16 v0, v23
007120: 5407 3a00 |01aa: iget-object v7, v0, Lcom/google/android/checkers/a;.a:[I // field@003a
007124: d808 04ff |01ac: add-int/lit8 v8, v4, #int -1 // #ff
007128: 4b03 0708 |01ae: aput v3, v7, v8
00712c: 0800 1700 |01b0: move-object/from16 v0, v23
007130: 5403 4900 |01b2: iget-object v3, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
007134: 4403 0304 |01b4: aget v3, v3, v4
007138: 0800 1700 |01b6: move-object/from16 v0, v23
00713c: 5407 4900 |01b8: iget-object v7, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
007140: 0800 1700 |01ba: move-object/from16 v0, v23
007144: 5408 4900 |01bc: iget-object v8, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
007148: d809 04ff |01be: add-int/lit8 v9, v4, #int -1 // #ff
00714c: 4408 0809 |01c0: aget v8, v8, v9
007150: 4b08 0704 |01c2: aput v8, v7, v4
007154: 0800 1700 |01c4: move-object/from16 v0, v23
007158: 5407 4900 |01c6: iget-object v7, v0, Lcom/google/android/checkers/a;.p:[I // field@0049
00715c: d808 04ff |01c8: add-int/lit8 v8, v4, #int -1 // #ff
007160: 4b03 0708 |01ca: aput v3, v7, v8
007164: 0800 1700 |01cc: move-object/from16 v0, v23
007168: 5403 3b00 |01ce: iget-object v3, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
00716c: 4403 0304 |01d0: aget v3, v3, v4
007170: 0800 1700 |01d2: move-object/from16 v0, v23
007174: 5407 3b00 |01d4: iget-object v7, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
007178: 0800 1700 |01d6: move-object/from16 v0, v23
00717c: 5408 3b00 |01d8: iget-object v8, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
007180: d809 04ff |01da: add-int/lit8 v9, v4, #int -1 // #ff
007184: 4408 0809 |01dc: aget v8, v8, v9
007188: 4b08 0704 |01de: aput v8, v7, v4
00718c: 0800 1700 |01e0: move-object/from16 v0, v23
007190: 5407 3b00 |01e2: iget-object v7, v0, Lcom/google/android/checkers/a;.b:[I // field@003b
007194: d808 04ff |01e4: add-int/lit8 v8, v4, #int -1 // #ff
007198: 4b03 0708 |01e6: aput v3, v7, v8
00719c: 3342 1300 |01e8: if-ne v2, v4, 01fb // +0013
0071a0: d802 02ff |01ea: add-int/lit8 v2, v2, #int -1 // #ff
0071a4: 1203 |01ec: const/4 v3, #int 0 // #0
0071a6: 0216 0300 |01ed: move/from16 v22, v3
0071aa: 0123 |01ef: move v3, v2
0071ac: 0202 1600 |01f0: move/from16 v2, v22
0071b0: d804 04ff |01f2: add-int/lit8 v4, v4, #int -1 // #ff
0071b4: 0216 0200 |01f4: move/from16 v22, v2
0071b8: 0132 |01f6: move v2, v3
0071ba: 0203 1600 |01f7: move/from16 v3, v22
0071be: 2900 4bff |01f9: goto/16 0144 // -00b5
0071c2: d803 04ff |01fb: add-int/lit8 v3, v4, #int -1 // #ff
0071c6: 3332 efff |01fd: if-ne v2, v3, 01ec // -0011
0071ca: d802 0201 |01ff: add-int/lit8 v2, v2, #int 1 // #01
0071ce: 28eb |0201: goto 01ec // -0015
0071d0: 0216 0300 |0202: move/from16 v22, v3
0071d4: 0123 |0204: move v3, v2
0071d6: 0202 1600 |0205: move/from16 v2, v22
0071da: 28eb |0207: goto 01f2 // -0015
0071dc: 0192 |0208: move v2, v9
0071de: 01a3 |0209: move v3, v10
0071e0: 01b4 |020a: move v4, v11
0071e2: 01d5 |020b: move v5, v13
0071e4: 2900 2cff |020c: goto/16 0138 // -00d4
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #3 header:
class_idx : 33
access_flags : 16 (0x0010)
superclass_idx : 46
interfaces_off : 29520 (0x007350)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 35082 (0x00890a)
static_fields_size : 0
instance_fields_size: 1
direct_methods_size : 1
virtual_methods_size: 1
Class #3 -
Class descriptor : 'Lcom/google/android/checkers/b;'
Access flags : 0x0010 (FINAL)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'Landroid/content/DialogInterface$OnClickListener;'
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/b;)
name : 'a'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x1010 (FINAL SYNTHETIC)
Direct methods -
#0 : (in Lcom/google/android/checkers/b;)
name : '<init>'
type : '(Lcom/google/android/checkers/CheckersView;)V'
access : 0x10000 (CONSTRUCTOR)
method_idx : 143
code -
registers : 2
ins : 2
outs : 1
insns size : 6 16-bit code units
0071e8: |[0071e8] com.google.android.checkers.b.<init>:(Lcom/google/android/checkers/CheckersView;)V
0071f8: 5b01 5400 |0000: iput-object v1, v0, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054
0071fc: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
007202: 0e00 |0005: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/b;)
name : 'onClick'
type : '(Landroid/content/DialogInterface;I)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 144
code -
registers : 4
ins : 3
outs : 1
insns size : 14 16-bit code units
007204: |[007204] com.google.android.checkers.b.onClick:(Landroid/content/DialogInterface;I)V
007214: 5410 5400 |0000: iget-object v0, v1, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054
007218: 7110 5900 0000 |0002: invoke-static {v0}, Lcom/google/android/checkers/CheckersView;.a:(Lcom/google/android/checkers/CheckersView;)Z // method@0059
00721e: 0a00 |0005: move-result v0
007220: 3800 0700 |0006: if-eqz v0, 000d // +0007
007224: 5410 5400 |0008: iget-object v0, v1, Lcom/google/android/checkers/b;.a:Lcom/google/android/checkers/CheckersView; // field@0054
007228: 6e10 6d00 0000 |000a: invoke-virtual {v0}, Lcom/google/android/checkers/CheckersView;.postInvalidate:()V // method@006d
00722e: 0e00 |000d: return-void
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #4 header:
class_idx : 34
access_flags : 16 (0x0010)
superclass_idx : 46
interfaces_off : 29520 (0x007350)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 35103 (0x00891f)
static_fields_size : 0
instance_fields_size: 1
direct_methods_size : 1
virtual_methods_size: 1
Class #4 -
Class descriptor : 'Lcom/google/android/checkers/c;'
Access flags : 0x0010 (FINAL)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'Landroid/content/DialogInterface$OnClickListener;'
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/c;)
name : 'a'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x1010 (FINAL SYNTHETIC)
Direct methods -
#0 : (in Lcom/google/android/checkers/c;)
name : '<init>'
type : '(Lcom/google/android/checkers/CheckersView;)V'
access : 0x10000 (CONSTRUCTOR)
method_idx : 145
code -
registers : 2
ins : 2
outs : 1
insns size : 6 16-bit code units
007230: |[007230] com.google.android.checkers.c.<init>:(Lcom/google/android/checkers/CheckersView;)V
007240: 5b01 5500 |0000: iput-object v1, v0, Lcom/google/android/checkers/c;.a:Lcom/google/android/checkers/CheckersView; // field@0055
007244: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
00724a: 0e00 |0005: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/c;)
name : 'onClick'
type : '(Landroid/content/DialogInterface;I)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 146
code -
registers : 3
ins : 3
outs : 0
insns size : 1 16-bit code units
00724c: |[00724c] com.google.android.checkers.c.onClick:(Landroid/content/DialogInterface;I)V
00725c: 0e00 |0000: return-void
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #5 header:
class_idx : 35
access_flags : 16 (0x0010)
superclass_idx : 46
interfaces_off : 29520 (0x007350)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 35124 (0x008934)
static_fields_size : 0
instance_fields_size: 1
direct_methods_size : 1
virtual_methods_size: 1
Class #5 -
Class descriptor : 'Lcom/google/android/checkers/d;'
Access flags : 0x0010 (FINAL)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'Landroid/content/DialogInterface$OnClickListener;'
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/d;)
name : 'a'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x1010 (FINAL SYNTHETIC)
Direct methods -
#0 : (in Lcom/google/android/checkers/d;)
name : '<init>'
type : '(Lcom/google/android/checkers/CheckersView;)V'
access : 0x10000 (CONSTRUCTOR)
method_idx : 147
code -
registers : 2
ins : 2
outs : 1
insns size : 6 16-bit code units
007260: |[007260] com.google.android.checkers.d.<init>:(Lcom/google/android/checkers/CheckersView;)V
007270: 5b01 5600 |0000: iput-object v1, v0, Lcom/google/android/checkers/d;.a:Lcom/google/android/checkers/CheckersView; // field@0056
007274: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
00727a: 0e00 |0005: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/d;)
name : 'onClick'
type : '(Landroid/content/DialogInterface;I)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 148
code -
registers : 3
ins : 3
outs : 0
insns size : 1 16-bit code units
00727c: |[00727c] com.google.android.checkers.d.onClick:(Landroid/content/DialogInterface;I)V
00728c: 0e00 |0000: return-void
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #6 header:
class_idx : 36
access_flags : 16 (0x0010)
superclass_idx : 46
interfaces_off : 29520 (0x007350)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 35145 (0x008949)
static_fields_size : 0
instance_fields_size: 1
direct_methods_size : 1
virtual_methods_size: 1
Class #6 -
Class descriptor : 'Lcom/google/android/checkers/e;'
Access flags : 0x0010 (FINAL)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'Landroid/content/DialogInterface$OnClickListener;'
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/e;)
name : 'a'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x1010 (FINAL SYNTHETIC)
Direct methods -
#0 : (in Lcom/google/android/checkers/e;)
name : '<init>'
type : '(Lcom/google/android/checkers/CheckersView;)V'
access : 0x10000 (CONSTRUCTOR)
method_idx : 149
code -
registers : 2
ins : 2
outs : 1
insns size : 6 16-bit code units
007290: |[007290] com.google.android.checkers.e.<init>:(Lcom/google/android/checkers/CheckersView;)V
0072a0: 5b01 5700 |0000: iput-object v1, v0, Lcom/google/android/checkers/e;.a:Lcom/google/android/checkers/CheckersView; // field@0057
0072a4: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
0072aa: 0e00 |0005: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/e;)
name : 'onClick'
type : '(Landroid/content/DialogInterface;I)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 150
code -
registers : 5
ins : 3
outs : 2
insns size : 7 16-bit code units
0072ac: |[0072ac] com.google.android.checkers.e.onClick:(Landroid/content/DialogInterface;I)V
0072bc: 5420 5700 |0000: iget-object v0, v2, Lcom/google/android/checkers/e;.a:Lcom/google/android/checkers/CheckersView; // field@0057
0072c0: 1211 |0002: const/4 v1, #int 1 // #1
0072c2: 6e20 6800 1000 |0003: invoke-virtual {v0, v1}, Lcom/google/android/checkers/CheckersView;.e:(Z)Z // method@0068
0072c8: 0e00 |0006: return-void
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #7 header:
class_idx : 37
access_flags : 16 (0x0010)
superclass_idx : 46
interfaces_off : 29520 (0x007350)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 35166 (0x00895e)
static_fields_size : 0
instance_fields_size: 1
direct_methods_size : 1
virtual_methods_size: 1
Class #7 -
Class descriptor : 'Lcom/google/android/checkers/f;'
Access flags : 0x0010 (FINAL)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'Landroid/content/DialogInterface$OnClickListener;'
Static fields -
Instance fields -
#0 : (in Lcom/google/android/checkers/f;)
name : 'a'
type : 'Lcom/google/android/checkers/CheckersView;'
access : 0x1010 (FINAL SYNTHETIC)
Direct methods -
#0 : (in Lcom/google/android/checkers/f;)
name : '<init>'
type : '(Lcom/google/android/checkers/CheckersView;)V'
access : 0x10000 (CONSTRUCTOR)
method_idx : 151
code -
registers : 2
ins : 2
outs : 1
insns size : 6 16-bit code units
0072cc: |[0072cc] com.google.android.checkers.f.<init>:(Lcom/google/android/checkers/CheckersView;)V
0072dc: 5b01 5800 |0000: iput-object v1, v0, Lcom/google/android/checkers/f;.a:Lcom/google/android/checkers/CheckersView; // field@0058
0072e0: 7010 a000 0000 |0002: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00a0
0072e6: 0e00 |0005: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Lcom/google/android/checkers/f;)
name : 'onClick'
type : '(Landroid/content/DialogInterface;I)V'
access : 0x0011 (PUBLIC FINAL)
method_idx : 152
code -
registers : 4
ins : 3
outs : 2
insns size : 6 16-bit code units
0072e8: |[0072e8] com.google.android.checkers.f.onClick:(Landroid/content/DialogInterface;I)V
0072f8: 5410 5800 |0000: iget-object v0, v1, Lcom/google/android/checkers/f;.a:Lcom/google/android/checkers/CheckersView; // field@0058
0072fc: 7120 5600 3000 |0002: invoke-static {v0, v3}, Lcom/google/android/checkers/CheckersView;.a:(Lcom/google/android/checkers/CheckersView;I)V // method@0056
007302: 0e00 |0005: return-void
catches : (none)
positions :
locals :
source_file_idx : -1 (unknown)
Class #8 header:
class_idx : 38
access_flags : 17 (0x0011)
superclass_idx : 46
interfaces_off : 0 (0x000000)
source_file_idx : -1
annotations_off : 0 (0x000000)
class_data_off : 35187 (0x008973)
static_fields_size : 19
instance_fields_size: 0
direct_methods_size : 1
virtual_methods_size: 0
Class #8 -
Class descriptor : 'Lcom/google/android/checkers/g;'
Access flags : 0x0011 (PUBLIC FINAL)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
#0 : (in Lcom/google/android/checkers/g;)
name : 'a'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#1 : (in Lcom/google/android/checkers/g;)
name : 'b'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#2 : (in Lcom/google/android/checkers/g;)
name : 'c'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#3 : (in Lcom/google/android/checkers/g;)
name : 'd'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#4 : (in Lcom/google/android/checkers/g;)
name : 'e'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#5 : (in Lcom/google/android/checkers/g;)
name : 'f'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#6 : (in Lcom/google/android/checkers/g;)
name : 'g'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#7 : (in Lcom/google/android/checkers/g;)
name : 'h'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#8 : (in Lcom/google/android/checkers/g;)
name : 'i'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#9 : (in Lcom/google/android/checkers/g;)
name : 'j'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#10 : (in Lcom/google/android/checkers/g;)
name : 'k'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#11 : (in Lcom/google/android/checkers/g;)
name : 'l'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#12 : (in Lcom/google/android/checkers/g;)
name : 'm'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#13 : (in Lcom/google/android/checkers/g;)
name : 'n'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#14 : (in Lcom/google/android/checkers/g;)
name : 'o'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#15 : (in Lcom/google/android/checkers/g;)
name : 'p'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#16 : (in Lcom/google/android/checkers/g;)
name : 'q'
type : '[B'
access : 0x0009 (PUBLIC STATIC)
#17 : (in Lcom/google/android/checkers/g;)
name : 'r'
type : 'Z'
access : 0x0009 (PUBLIC STATIC)
#18 : (in Lcom/google/android/checkers/g;)
name : 's'
type : 'Ljava/io/BufferedInputStream;'
access : 0x0008 (STATIC)
Instance fields -
Direct methods -
#0 : (in Lcom/google/android/checkers/g;)
name : 'a'
type : '([B)Z'
access : 0x0008 (STATIC)
method_idx : 153
code -
registers : 5
ins : 1
outs : 2
insns size : 29 16-bit code units
007304: |[007304] com.google.android.checkers.g.a:([B)Z
007314: 2141 |0000: array-length v1, v4
007316: 1200 |0001: const/4 v0, #int 0 // #0
007318: 3410 0400 |0002: if-lt v0, v1, 0006 // +0004
00731c: 1210 |0004: const/4 v0, #int 1 // #1
00731e: 0f00 |0005: return v0
007320: 6202 6b00 |0006: sget-object v2, Lcom/google/android/checkers/g;.s:Ljava/io/BufferedInputStream; // field@006b
007324: 6e10 9c00 0200 |0008: invoke-virtual {v2}, Ljava/io/BufferedInputStream;.read:()I // method@009c
00732a: 0a02 |000b: move-result v2
00732c: 12f3 |000c: const/4 v3, #int -1 // #ff
00732e: 3332 0a00 |000d: if-ne v2, v3, 0017 // +000a
007332: 2200 2b00 |000f: new-instance v0, Ljava/lang/Exception; // type@002b
007336: 1a01 3401 |0011: const-string v1, "tb eof" // string@0134
00733a: 7020 9d00 1000 |0013: invoke-direct {v0, v1}, Ljava/lang/Exception;.<init>:(Ljava/lang/String;)V // method@009d
007340: 2700 |0016: throw v0
007342: 8d22 |0017: int-to-byte v2, v2
007344: 4f02 0400 |0018: aput-byte v2, v4, v0
007348: d800 0001 |001a: add-int/lit8 v0, v0, #int 1 // #01
00734c: 28e6 |001c: goto 0002 // -001a
catches : (none)
positions :
locals :
Virtual methods -
source_file_idx : -1 (unknown)
Opened 'all-dex-files.jar:classes3.dex', DEX version '039'
DEX file header:
magic : 'dex\n039\0'
checksum : 16656a27
signature : 1953...5aa5
file_size : 2524
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 57
string_ids_off : 112 (0x000070)
type_ids_size : 26
type_ids_off : 340 (0x000154)
proto_ids_size : 18
proto_ids_off : 444 (0x0001bc)
field_ids_size : 2
field_ids_off : 660 (0x000294)
method_ids_size : 23
method_ids_off : 676 (0x0002a4)
class_defs_size : 2
class_defs_off : 860 (0x00035c)
data_size : 1588
data_off : 936 (0x0003a8)
Class #0 header:
class_idx : 5
access_flags : 1 (0x0001)
superclass_idx : 11
interfaces_off : 0 (0x000000)
source_file_idx : 29
annotations_off : 1336 (0x000538)
class_data_off : 2270 (0x0008de)
static_fields_size : 0
instance_fields_size: 0
direct_methods_size : 2
virtual_methods_size: 0
Class #0 annotations:
Annotations on method #1 'main'
VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Class #0 -
Class descriptor : 'LMain;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
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
0003b0: |[0003b0] Main.<init>:()V
0003c0: 7010 0a00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@000a
0003c6: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=22
locals :
0x0000 - 0x0004 reg=0 this LMain;
#1 : (in LMain;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 1
code -
registers : 6
ins : 1
outs : 4
insns size : 25 16-bit code units
0003c8: |[0003c8] Main.main:([Ljava/lang/String;)V
0003d8: 7100 1500 0000 |0000: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0015
0003de: 0c00 |0003: move-result-object v0
0003e0: 1c01 0600 |0004: const-class v1, Lconstmethodhandle/ConstTest; // type@0006
0003e4: 1a02 3000 |0006: const-string v2, "main" // string@0030
0003e8: 6203 0100 |0008: sget-object v3, Ljava/lang/Void;.TYPE:Ljava/lang/Class; // field@0001
0003ec: 1c04 1900 |000a: const-class v4, [Ljava/lang/String; // type@0019
0003f0: 7120 1600 4300 |000c: invoke-static {v3, v4}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@0016
0003f6: 0c03 |000f: move-result-object v3
0003f8: 6e40 1400 1032 |0010: invoke-virtual {v0, v1, v2, v3}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0014
0003fe: 0c00 |0013: move-result-object v0
000400: fa20 1200 5000 1000 |0014: invoke-polymorphic {v0, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ([Ljava/lang/String;)V // method@0012, proto@0010
000408: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=26
0x000c line=27
0x0014 line=28
0x0018 line=29
locals :
0x0000 - 0x0019 reg=5 (null) [Ljava/lang/String;
Virtual methods -
source_file_idx : 29 (Main.java)
Class #1 header:
class_idx : 6
access_flags : 1 (0x0001)
superclass_idx : 11
interfaces_off : 0 (0x000000)
source_file_idx : 3
annotations_off : 1360 (0x000550)
class_data_off : 2284 (0x0008ec)
static_fields_size : 0
instance_fields_size: 0
direct_methods_size : 6
virtual_methods_size: 0
Class #1 annotations:
Annotations on method #3 'displayMethodHandle'
VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Class #1 -
Class descriptor : 'Lconstmethodhandle/ConstTest;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in Lconstmethodhandle/ConstTest;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
method_idx : 2
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
00040c: |[00040c] constmethodhandle.ConstTest.<init>:()V
00041c: 7010 0a00 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@000a
000422: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=22
locals :
0x0000 - 0x0004 reg=0 this Lconstmethodhandle/ConstTest;
#1 : (in Lconstmethodhandle/ConstTest;)
name : 'displayMethodHandle'
type : '(Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
method_idx : 3
code -
registers : 4
ins : 1
outs : 2
insns size : 47 16-bit code units
000424: |[000424] constmethodhandle.ConstTest.displayMethodHandle:(Ljava/lang/invoke/MethodHandle;)V
000434: 6200 0000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000
000438: 2201 0d00 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@000d
00043c: 7010 0c00 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@000c
000442: 1a02 1e00 |0007: const-string v2, "MethodHandle " // string@001e
000446: 6e20 0e00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000e
00044c: 0c01 |000c: move-result-object v1
00044e: 6e20 0d00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000d
000454: 0c01 |0010: move-result-object v1
000456: 1a02 0000 |0011: const-string v2, " => " // string@0000
00045a: 6e20 0e00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000e
000460: 0c01 |0016: move-result-object v1
000462: 1402 0030 4046 |0017: const v2, #float 12300 // #46403000
000468: 7110 0900 0200 |001a: invoke-static {v2}, Ljava/lang/Float;.valueOf:(F)Ljava/lang/Float; // method@0009
00046e: 0c02 |001d: move-result-object v2
000470: fa20 1100 2300 0100 |001e: invoke-polymorphic {v3, v2}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/Object;)Ljava/lang/Class; // method@0011, proto@0001
000478: 0c02 |0022: move-result-object v2
00047a: 6e20 0d00 2100 |0023: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000d
000480: 0c01 |0026: move-result-object v1
000482: 6e10 0f00 0100 |0027: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@000f
000488: 0c01 |002a: move-result-object v1
00048a: 6e20 0800 1000 |002b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0008
000490: 0e00 |002e: return-void
catches : (none)
positions :
0x0000 line=24
0x001a line=25
0x002b line=24
0x002e line=26
locals :
0x0000 - 0x002f reg=3 (null) Ljava/lang/invoke/MethodHandle;
#2 : (in Lconstmethodhandle/ConstTest;)
name : 'displayMethodType'
type : '(Ljava/lang/invoke/MethodType;)V'
access : 0x000a (PRIVATE STATIC)
method_idx : 4
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
000494: |[000494] constmethodhandle.ConstTest.displayMethodType:(Ljava/lang/invoke/MethodType;)V
0004a4: 6200 0000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000
0004a8: 2201 0d00 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@000d
0004ac: 7010 0c00 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@000c
0004b2: 1a02 1f00 |0007: const-string v2, "MethodType " // string@001f
0004b6: 6e20 0e00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000e
0004bc: 0c01 |000c: move-result-object v1
0004be: 6e20 0d00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000d
0004c4: 0c01 |0010: move-result-object v1
0004c6: 6e10 0f00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@000f
0004cc: 0c01 |0014: move-result-object v1
0004ce: 6e20 0800 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0008
0004d4: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=29
0x0018 line=30
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/invoke/MethodType;
#3 : (in Lconstmethodhandle/ConstTest;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 5
code -
registers : 2
ins : 1
outs : 1
insns size : 15 16-bit code units
0004d8: |[0004d8] constmethodhandle.ConstTest.main:([Ljava/lang/String;)V
0004e8: 7100 0600 0000 |0000: invoke-static {}, Lconstmethodhandle/ConstTest;.test1:()Ljava/lang/invoke/MethodHandle; // method@0006
0004ee: 0c00 |0003: move-result-object v0
0004f0: 7110 0300 0000 |0004: invoke-static {v0}, Lconstmethodhandle/ConstTest;.displayMethodHandle:(Ljava/lang/invoke/MethodHandle;)V // method@0003
0004f6: 7100 0700 0000 |0007: invoke-static {}, Lconstmethodhandle/ConstTest;.test2:()Ljava/lang/invoke/MethodType; // method@0007
0004fc: 0c00 |000a: move-result-object v0
0004fe: 7110 0400 0000 |000b: invoke-static {v0}, Lconstmethodhandle/ConstTest;.displayMethodType:(Ljava/lang/invoke/MethodType;)V // method@0004
000504: 0e00 |000e: return-void
catches : (none)
positions :
locals :
#4 : (in Lconstmethodhandle/ConstTest;)
name : 'test1'
type : '()Ljava/lang/invoke/MethodHandle;'
access : 0x0009 (PUBLIC STATIC)
method_idx : 6
code -
registers : 1
ins : 0
outs : 0
insns size : 3 16-bit code units
000508: |[000508] constmethodhandle.ConstTest.test1:()Ljava/lang/invoke/MethodHandle;
000518: fe00 0000 |0000: const-method-handle v0, method_handle@0000
00051c: 1100 |0002: return-object v0
catches : (none)
positions :
locals :
#5 : (in Lconstmethodhandle/ConstTest;)
name : 'test2'
type : '()Ljava/lang/invoke/MethodType;'
access : 0x0009 (PUBLIC STATIC)
method_idx : 7
code -
registers : 1
ins : 0
outs : 0
insns size : 3 16-bit code units
000520: |[000520] constmethodhandle.ConstTest.test2:()Ljava/lang/invoke/MethodType;
000530: ff00 1100 |0000: const-method-type v0, (CSIJFDLjava/lang/Object;)Z // proto@0011
000534: 1100 |0002: return-object v0
catches : (none)
positions :
locals :
Virtual methods -
source_file_idx : 3 (ConstTest.java)
Method handle #0:
type : invoke-instance
target : Ljava/lang/Object; getClass
target_type : (Ljava/lang/Object;)Ljava/lang/Class;
Opened 'all-dex-files.jar:classes4.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)
Opened 'all-dex-files.jar:classes5.dex', DEX version '037'
DEX file header:
magic : 'dex\n037\0'
checksum : 0b5f9fd7
signature : fcf4...f0e5
file_size : 1160
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 30
string_ids_off : 112 (0x000070)
type_ids_size : 11
type_ids_off : 232 (0x0000e8)
proto_ids_size : 6
proto_ids_off : 276 (0x000114)
field_ids_size : 0
field_ids_off : 0 (0x000000)
method_ids_size : 5
method_ids_off : 348 (0x00015c)
class_defs_size : 1
class_defs_off : 388 (0x000184)
data_size : 740
data_off : 420 (0x0001a4)
Class #0 header:
class_idx : 2
access_flags : 1 (0x0001)
superclass_idx : 4
interfaces_off : 0 (0x000000)
source_file_idx : 12
annotations_off : 528 (0x000210)
class_data_off : 959 (0x0003bf)
static_fields_size : 0
instance_fields_size: 0
direct_methods_size : 2
virtual_methods_size: 0
Class #0 annotations:
Annotations on method #1 'main'
VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Class #0 -
Class descriptor : 'LMain;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
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
0001ac: |[0001ac] Main.<init>:()V
0001bc: 7010 0200 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0002
0001c2: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=9
locals :
0x0000 - 0x0004 reg=0 this LMain;
#1 : (in LMain;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
method_idx : 1
code -
registers : 10
ins : 1
outs : 0
insns size : 30 16-bit code units
0001c4: |[0001c4] Main.main:([Ljava/lang/String;)V
0001d4: 1802 9a99 9999 9999 0140 |0000: const-wide v2, #double 2.2 // #400199999999999a
0001de: 1214 |0005: const/4 v4, #int 1 // #1
0001e0: 1200 |0006: const/4 v0, #int 0 // #0
0001e2: 1205 |0007: const/4 v5, #int 0 // #0
0001e4: 1b01 1200 0000 |0008: const-string/jumbo v1, "a" // string@00000012
0001ea: 0146 |000b: move v6, v4
0001ec: fb07 0300 0000 0200 |000c: invoke-polymorphic/range {v0, v1, v2, v3, v4, v5, v6}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/String;DILjava/lang/Object;I)Ljava/lang/String; // method@0003, proto@0002
0001f4: 0c07 |0010: move-result-object v7
0001f6: fa40 0400 2043 0000 |0011: invoke-polymorphic {v0, v2, v3, v4}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (DI)I // method@0004, proto@0000
0001fe: 0a08 |0015: move-result v8
000200: 1b01 1200 0000 |0016: const-string/jumbo v1, "a" // string@00000012
000206: fa54 0300 1032 0400 |0019: invoke-polymorphic {v0, v1, v2, v3, v4}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/String;DI)V // method@0003, proto@0004
00020e: 0e00 |001d: return-void
catches : (none)
positions :
0x0006 line=31
0x0007 line=32
0x0008 line=33
0x0011 line=34
0x0016 line=35
0x001d line=56
locals :
0x0007 - 0x001e reg=0 handle Ljava/lang/invoke/MethodHandle;
0x0008 - 0x001e reg=5 o Ljava/lang/Object;
0x0011 - 0x001e reg=7 s Ljava/lang/String;
0x0016 - 0x001e reg=8 x I
0x0000 - 0x001e reg=9 args [Ljava/lang/String;
Virtual methods -
source_file_idx : 12 (Main.java)
Opened 'all-dex-files.jar:classes6.dex', DEX version '035'
DEX file header:
magic : 'dex\n035\0'
checksum : 036e70eb
signature : b715...0ace
file_size : 868
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 15
string_ids_off : 112 (0x000070)
type_ids_size : 5
type_ids_off : 172 (0x0000ac)
proto_ids_size : 4
proto_ids_off : 192 (0x0000c0)
field_ids_size : 0
field_ids_off : 0 (0x000000)
method_ids_size : 7
method_ids_off : 240 (0x0000f0)
class_defs_size : 1
class_defs_off : 296 (0x000128)
data_size : 540
data_off : 328 (0x000148)
Class #0 header:
class_idx : 0
access_flags : 0 (0x0000)
superclass_idx : 1
interfaces_off : 0 (0x000000)
source_file_idx : 9
annotations_off : 0 (0x000000)
class_data_off : 702 (0x0002be)
static_fields_size : 0
instance_fields_size: 0
direct_methods_size : 1
virtual_methods_size: 2
Class #0 -
Class descriptor : 'LQuoting;'
Access flags : 0x0000 ()
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in LQuoting;)
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
000148: |[000148] Quoting.<init>:()V
000158: 7010 0300 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0003
00015e: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=2
locals :
0x0000 - 0x0004 reg=0 this LQuoting;
Virtual methods -
#0 : (in LQuoting;)
name : 'append1'
type : '(Ljava/lang/String;)Ljava/lang/String;'
access : 0x0001 (PUBLIC)
method_idx : 1
code -
registers : 4
ins : 2
outs : 2
insns size : 20 16-bit code units
000160: |[000160] Quoting.append1:(Ljava/lang/String;)Ljava/lang/String;
000170: 2200 0300 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@0003
000174: 7010 0400 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.<init>:()V // method@0004
00017a: 6e20 0500 3000 |0005: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0005
000180: 0c00 |0008: move-result-object v0
000182: 1a01 0100 |0009: const-string v1, "\" // string@0001\n000149: ffff |0005: rat // \"" // string@0001
000186: 6e20 0500 1000 |000b: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0005
00018c: 0c00 |000e: move-result-object v0
00018e: 6e10 0600 0000 |000f: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0006
000194: 0c00 |0012: move-result-object v0
000196: 1100 |0013: return-object v0
catches : (none)
positions :
0x0000 line=5
locals :
0x0000 - 0x0014 reg=2 this LQuoting;
0x0000 - 0x0014 reg=3 (null) Ljava/lang/String;
#1 : (in LQuoting;)
name : 'unicode'
type : '()Ljava/lang/String;'
access : 0x0001 (PUBLIC)
method_idx : 2
code -
registers : 2
ins : 1
outs : 0
insns size : 3 16-bit code units
000198: |[000198] Quoting.unicode:()Ljava/lang/String;
0001a8: 1a00 0000 |0000: const-string v0, "\b\f\n\r\t\\\"'😜☈'\"" // string@0000
0001ac: 1100 |0002: return-object v0
catches : (none)
positions :
0x0000 line=10
locals :
0x0000 - 0x0003 reg=1 this LQuoting;
source_file_idx : 9 (Quoting.java)
Opened 'all-dex-files.jar:classes7.dex', DEX version '035'
DEX file header:
magic : 'dex\n035\0'
checksum : 52d4fc6d
signature : 6e82...2f27
file_size : 1264
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 28
string_ids_off : 112 (0x000070)
type_ids_size : 12
type_ids_off : 224 (0x0000e0)
proto_ids_size : 1
proto_ids_off : 272 (0x000110)
field_ids_size : 12
field_ids_off : 284 (0x00011c)
method_ids_size : 2
method_ids_off : 380 (0x00017c)
class_defs_size : 1
class_defs_off : 396 (0x00018c)
data_size : 836
data_off : 428 (0x0001ac)
Class #0 header:
class_idx : 6
access_flags : 1 (0x0001)
superclass_idx : 7
interfaces_off : 0 (0x000000)
source_file_idx : 11
annotations_off : 0 (0x000000)
class_data_off : 1067 (0x00042b)
static_fields_size : 12
instance_fields_size: 0
direct_methods_size : 1
virtual_methods_size: 0
Class #0 -
Class descriptor : 'LStaticFields;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
#0 : (in LStaticFields;)
name : 'test00_public_static_final_byte_42'
type : 'B'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 42
#1 : (in LStaticFields;)
name : 'test01_public_static_final_short_43'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 43
#2 : (in LStaticFields;)
name : 'test02_public_static_final_char_X'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 88
#3 : (in LStaticFields;)
name : 'test03_public_static_final_int_44'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 44
#4 : (in LStaticFields;)
name : 'test04_public_static_final_long_45'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 45
#5 : (in LStaticFields;)
name : 'test05_public_static_final_float_46_47'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 46.47
#6 : (in LStaticFields;)
name : 'test06_public_static_final_double_48_49'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 48.49
#7 : (in LStaticFields;)
name : 'test07_public_static_final_string'
type : 'Ljava/lang/String;'
access : 0x0019 (PUBLIC STATIC FINAL)
value : "abc \\><\"'&\t\r\n"
#8 : (in LStaticFields;)
name : 'test08_public_static_final_object_null'
type : 'Ljava/lang/Object;'
access : 0x0019 (PUBLIC STATIC FINAL)
value : null
#9 : (in LStaticFields;)
name : 'test09_public_static_final_boolean_true'
type : 'Z'
access : 0x0019 (PUBLIC STATIC FINAL)
value : true
#10 : (in LStaticFields;)
name : 'test10_private_static_final_int_50'
type : 'I'
access : 0x001a (PRIVATE STATIC FINAL)
value : 50
#11 : (in LStaticFields;)
name : 'test99_empty_value'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
Instance fields -
Direct methods -
#0 : (in LStaticFields;)
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
0001ac: |[0001ac] StaticFields.<init>:()V
0001bc: 7010 0100 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0001
0001c2: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=24
locals :
0x0000 - 0x0004 reg=0 this LStaticFields;
Virtual methods -
source_file_idx : 11 (StaticFields.java)
Opened 'all-dex-files.jar:classes8.dex', DEX version '035'
DEX file header:
magic : 'dex\n035\0'
checksum : 7605eec0
signature : c197...a065
file_size : 1864
header_size : 112
link_size : 0
link_off : 0 (0x000000)
string_ids_size : 70
string_ids_off : 112 (0x000070)
type_ids_size : 12
type_ids_off : 392 (0x000188)
proto_ids_size : 1
proto_ids_off : 440 (0x0001b8)
field_ids_size : 54
field_ids_off : 452 (0x0001c4)
method_ids_size : 3
method_ids_off : 884 (0x000374)
class_defs_size : 1
class_defs_off : 908 (0x00038c)
data_size : 924
data_off : 940 (0x0003ac)
Class #0 header:
class_idx : 6
access_flags : 1 (0x0001)
superclass_idx : 7
interfaces_off : 0 (0x000000)
source_file_idx : 13
annotations_off : 0 (0x000000)
class_data_off : 1578 (0x00062a)
static_fields_size : 54
instance_fields_size: 0
direct_methods_size : 2
virtual_methods_size: 0
Class #0 -
Class descriptor : 'LTest;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
#0 : (in LTest;)
name : 'mB0'
type : 'B'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#1 : (in LTest;)
name : 'mB1'
type : 'B'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 127
#2 : (in LTest;)
name : 'mB2'
type : 'B'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -128
#3 : (in LTest;)
name : 'mB3'
type : 'B'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -1
#4 : (in LTest;)
name : 'mC0'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#5 : (in LTest;)
name : 'mC1'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 32767
#6 : (in LTest;)
name : 'mC2'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 32768
#7 : (in LTest;)
name : 'mC3'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 255
#8 : (in LTest;)
name : 'mC4'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 65520
#9 : (in LTest;)
name : 'mC5'
type : 'C'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 65535
#10 : (in LTest;)
name : 'mD0'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -inf
#11 : (in LTest;)
name : 'mD1'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 4.94066e-324
#12 : (in LTest;)
name : 'mD2'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -0
#13 : (in LTest;)
name : 'mD3'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#14 : (in LTest;)
name : 'mD4'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 1.79769e+308
#15 : (in LTest;)
name : 'mD5'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : inf
#16 : (in LTest;)
name : 'mD6'
type : 'D'
access : 0x0019 (PUBLIC STATIC FINAL)
value : nan
#17 : (in LTest;)
name : 'mF0'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -inf
#18 : (in LTest;)
name : 'mF1'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 1.4013e-45
#19 : (in LTest;)
name : 'mF2'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -0
#20 : (in LTest;)
name : 'mF3'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#21 : (in LTest;)
name : 'mF4'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 3.40282e+38
#22 : (in LTest;)
name : 'mF5'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : inf
#23 : (in LTest;)
name : 'mF6'
type : 'F'
access : 0x0019 (PUBLIC STATIC FINAL)
value : nan
#24 : (in LTest;)
name : 'mI0'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#25 : (in LTest;)
name : 'mI1'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 2147483647
#26 : (in LTest;)
name : 'mI2'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -2147483648
#27 : (in LTest;)
name : 'mI3'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 255
#28 : (in LTest;)
name : 'mI4'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -16
#29 : (in LTest;)
name : 'mI5'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -4096
#30 : (in LTest;)
name : 'mI6'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -1048576
#31 : (in LTest;)
name : 'mI7'
type : 'I'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -1
#32 : (in LTest;)
name : 'mJ0'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#33 : (in LTest;)
name : 'mJ1'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 9223372036854775807
#34 : (in LTest;)
name : 'mJ2'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -9223372036854775808
#35 : (in LTest;)
name : 'mJ3'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 255
#36 : (in LTest;)
name : 'mJ4'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -16
#37 : (in LTest;)
name : 'mJ5'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -4096
#38 : (in LTest;)
name : 'mJ6'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -1048576
#39 : (in LTest;)
name : 'mJ7'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -268435456
#40 : (in LTest;)
name : 'mJ8'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -68719476736
#41 : (in LTest;)
name : 'mJ9'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -17592186044416
#42 : (in LTest;)
name : 'mJa'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -4503599627370496
#43 : (in LTest;)
name : 'mJb'
type : 'J'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -1
#44 : (in LTest;)
name : 'mObject'
type : 'Ljava/lang/Object;'
access : 0x0019 (PUBLIC STATIC FINAL)
value : null
#45 : (in LTest;)
name : 'mS0'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 0
#46 : (in LTest;)
name : 'mS1'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 32767
#47 : (in LTest;)
name : 'mS2'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -32768
#48 : (in LTest;)
name : 'mS3'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : 255
#49 : (in LTest;)
name : 'mS4'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -16
#50 : (in LTest;)
name : 'mS5'
type : 'S'
access : 0x0019 (PUBLIC STATIC FINAL)
value : -1
#51 : (in LTest;)
name : 'mString'
type : 'Ljava/lang/String;'
access : 0x0019 (PUBLIC STATIC FINAL)
value : "<&\"JOHO\"&>\n"
#52 : (in LTest;)
name : 'mZ0'
type : 'Z'
access : 0x0019 (PUBLIC STATIC FINAL)
value : false
#53 : (in LTest;)
name : 'mZ1'
type : 'Z'
access : 0x0019 (PUBLIC STATIC FINAL)
value : true
Instance fields -
Direct methods -
#0 : (in LTest;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
method_idx : 0
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
0003ac: |[0003ac] Test.<clinit>:()V
0003bc: 1200 |0000: const/4 v0, #int 0 // #0
0003be: 6900 2c00 |0001: sput-object v0, LTest;.mObject:Ljava/lang/Object; // field@002c
0003c2: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=66
locals :
#1 : (in LTest;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
method_idx : 1
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
0003c4: |[0003c4] Test.<init>:()V
0003d4: 7010 0200 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0002
0003da: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=1
locals :
0x0000 - 0x0004 reg=0 this LTest;
Virtual methods -
source_file_idx : 13 (Test.java)