blob: 9e33d78e697cfa5cbfda98a0b5e29f8653c8c9d6 [file] [log] [blame]
Processing 'out.dex'...
Opened 'out.dex', DEX version '038'
Class #0 -
Class descriptor : 'Linvokecustom/Super;'
Access flags : 0x0400 (ABSTRACT)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in Linvokecustom/Super;)
name : '<init>'
type : '()V'
access : 0x10000 (CONSTRUCTOR)
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
0040ac: |[0040ac] invokecustom.Super.<init>:()V
0040bc: 7010 b300 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@00b3
0040c2: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=25
locals :
0x0000 - 0x0004 reg=0 this Linvokecustom/Super;
Virtual methods -
#0 : (in Linvokecustom/Super;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0401 (PUBLIC ABSTRACT)
code : (none)
#1 : (in Linvokecustom/Super;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0040c4: |[0040c4] invokecustom.Super.targetMethodTest4:()V
0040d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0040d8: 1a01 7600 |0002: const-string v1, "targetMethodTest4 from Super" // string@0076
0040dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0040e2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=27
0x0007 line=28
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/Super;
source_file_idx : 25 (InvokeCustom.java)
Class #1 -
Class descriptor : 'Linvokecustom/InvokeCustom1;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom1;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom1;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom1;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
0040e4: |[0040e4] invokecustom.InvokeCustom1.<clinit>:()V
0040f4: 1200 |0000: const/4 v0, #int 0 // #0
0040f6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
0040fa: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom1;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
0040fc: |[0040fc] invokecustom.InvokeCustom1.<init>:()V
00410c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
004112: 1200 |0003: const/4 v0, #int 0 // #0
004114: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004118: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom1;
#2 : (in Linvokecustom/InvokeCustom1;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
00411c: |[00411c] invokecustom.InvokeCustom1.<init>:(I)V
00412c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
004132: 1200 |0003: const/4 v0, #int 0 // #0
004134: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004138: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00413c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004140: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004146: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
00414a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004150: 0c01 |0012: move-result-object v1
004152: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004158: 0c01 |0016: move-result-object v1
00415a: 1a02 0700 |0017: const-string v2, ")" // string@0007
00415e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004164: 0c01 |001c: move-result-object v1
004166: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00416c: 0c01 |0020: move-result-object v1
00416e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004174: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom1;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
004178: |[004178] invokecustom.InvokeCustom1.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
004188: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00418c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004190: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004196: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
00419a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0041a0: 0c01 |000c: move-result-object v1
0041a2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0041a8: 0c01 |0010: move-result-object v1
0041aa: 1a02 5200 |0011: const-string v2, "]" // string@0052
0041ae: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0041b4: 0c01 |0016: move-result-object v1
0041b6: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0041bc: 0c01 |001a: move-result-object v1
0041be: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0041c4: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
0041c8: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0041ce: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
0041d0: |[0041d0] invokecustom.InvokeCustom1.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
0041e0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0041e4: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
0041e8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0041ee: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0041f4: 0c00 |000a: move-result-object v0
0041f6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0041fc: 0c01 |000e: move-result-object v1
0041fe: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
004204: 0c00 |0012: move-result-object v0
004206: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
00420a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
004210: 0c00 |0018: move-result-object v0
004212: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
004218: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
00421c: |[00421c] invokecustom.InvokeCustom1.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
00422c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004230: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004234: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00423a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
00423e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004244: 0c01 |000c: move-result-object v1
004246: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00424c: 0c01 |0010: move-result-object v1
00424e: 1a02 0800 |0011: const-string v2, ", " // string@0008
004252: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004258: 0c01 |0016: move-result-object v1
00425a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004260: 0c01 |001a: move-result-object v1
004262: 1a02 0800 |001b: const-string v2, ", " // string@0008
004266: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00426c: 0c01 |0020: move-result-object v1
00426e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004274: 0c01 |0024: move-result-object v1
004276: 1a02 0800 |0025: const-string v2, ", " // string@0008
00427a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004280: 0c01 |002a: move-result-object v1
004282: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
004288: 0c01 |002e: move-result-object v1
00428a: 1a02 5200 |002f: const-string v2, "]" // string@0052
00428e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004294: 0c01 |0034: move-result-object v1
004296: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00429c: 0c01 |0038: move-result-object v1
00429e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0042a4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0042aa: 0c00 |003f: move-result-object v0
0042ac: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0042b2: 0c01 |0043: move-result-object v1
0042b4: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0042ba: 0c00 |0047: move-result-object v0
0042bc: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0042c0: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0042c6: 0c00 |004d: move-result-object v0
0042c8: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0042ce: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom1;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
0042d0: |[0042d0] invokecustom.InvokeCustom1.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
0042e0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0042e4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0042e8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0042ee: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
0042f2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0042f8: 0c01 |000c: move-result-object v1
0042fa: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004300: 0c01 |0010: move-result-object v1
004302: 1a02 0800 |0011: const-string v2, ", " // string@0008
004306: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00430c: 0c01 |0016: move-result-object v1
00430e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004314: 0c01 |001a: move-result-object v1
004316: 1a02 0800 |001b: const-string v2, ", " // string@0008
00431a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004320: 0c01 |0020: move-result-object v1
004322: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004328: 0c01 |0024: move-result-object v1
00432a: 1a02 0800 |0025: const-string v2, ", " // string@0008
00432e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004334: 0c01 |002a: move-result-object v1
004336: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
00433c: 0c01 |002e: move-result-object v1
00433e: 1a02 5200 |002f: const-string v2, "]" // string@0052
004342: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004348: 0c01 |0034: move-result-object v1
00434a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004350: 0c01 |0038: move-result-object v1
004352: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004358: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00435c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004360: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004366: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00436c: 0c01 |0046: move-result-object v1
00436e: 1a02 0000 |0047: const-string v2, " " // string@0000
004372: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004378: 0c01 |004c: move-result-object v1
00437a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004380: 0c01 |0050: move-result-object v1
004382: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004388: 0c01 |0054: move-result-object v1
00438a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004390: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
004396: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
00439a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
0043a0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
0043a6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
0043ae: 1230 |0067: const/4 v0, #int 3 // #3
0043b0: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
0043b8: 0c00 |006c: move-result-object v0
0043ba: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
0043c2: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0043c8: 0c00 |0074: move-result-object v0
0043ca: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0043d0: 0c01 |0078: move-result-object v1
0043d2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0043d8: 0c00 |007c: move-result-object v0
0043da: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0043de: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0043e4: 0c00 |0082: move-result-object v0
0043e6: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0043ec: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom1;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
0043f0: |[0043f0] invokecustom.InvokeCustom1.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
004400: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
004406: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
00440e: 0a00 |0007: move-result v0
004410: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
004418: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
004420: 0a01 |0010: move-result v1
004422: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004426: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00442a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004430: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
004434: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00443a: 0c03 |001d: move-result-object v3
00443c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004442: 0c00 |0021: move-result-object v0
004444: 1a03 0600 |0022: const-string v3, " new " // string@0006
004448: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00444e: 0c00 |0027: move-result-object v0
004450: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004456: 0c00 |002b: move-result-object v0
004458: 1a03 0500 |002c: const-string v3, " expected " // string@0005
00445c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004462: 0c00 |0031: move-result-object v0
004464: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00446a: 0c00 |0035: move-result-object v0
00446c: 1a03 0000 |0036: const-string v3, " " // string@0000
004470: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004476: 0c00 |003b: move-result-object v0
004478: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00447e: 0c00 |003f: move-result-object v0
004480: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
004486: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00448a: 2d00 0105 |0045: cmpl-float v0, v1, v5
00448e: 3900 0800 |0047: if-nez v0, 004f // +0008
004492: 1a00 4000 |0049: const-string v0, "OK" // string@0040
004496: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00449c: 0e00 |004e: return-void
00449e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
0044a2: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom1;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom1;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
0044a4: |[0044a4] invokecustom.InvokeCustom1.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
0044b4: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
0044ba: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0044c2: 0a00 |0007: move-result v0
0044c4: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
0044cc: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0044d4: 0a01 |0010: move-result v1
0044d6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0044da: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0044de: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0044e4: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
0044e8: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0044ee: 0c03 |001d: move-result-object v3
0044f0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0044f6: 0c00 |0021: move-result-object v0
0044f8: 1a03 0600 |0022: const-string v3, " new " // string@0006
0044fc: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004502: 0c00 |0027: move-result-object v0
004504: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00450a: 0c00 |002b: move-result-object v0
00450c: 1a03 0500 |002c: const-string v3, " expected " // string@0005
004510: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004516: 0c00 |0031: move-result-object v0
004518: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00451e: 0c00 |0035: move-result-object v0
004520: 1a03 0000 |0036: const-string v3, " " // string@0000
004524: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00452a: 0c00 |003b: move-result-object v0
00452c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004532: 0c00 |003f: move-result-object v0
004534: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
00453a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00453e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
004542: 1a00 4000 |0047: const-string v0, "OK" // string@0040
004546: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00454c: 0e00 |004c: return-void
00454e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
004552: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
004554: |[004554] invokecustom.InvokeCustom1.targetMethodTest1:()V
004564: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004568: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
00456c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004572: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
004574: |[004574] invokecustom.InvokeCustom1.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
004584: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004588: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
00458e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004592: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
004598: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00459c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
0045a2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045a6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
0045ac: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045b0: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
0045b6: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045ba: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
0045c0: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045c4: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
0045ca: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045ce: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
0045d4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045d8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0045de: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0045e0: |[0045e0] invokecustom.InvokeCustom1.targetMethodTest3:()V
0045f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0045f4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
0045f8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0045fe: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
004600: |[004600] invokecustom.InvokeCustom1.targetMethodTest5:(III)I
004610: 9000 0405 |0000: add-int v0, v4, v5
004614: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004618: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
00461c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004622: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
004626: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00462c: 0c02 |000e: move-result-object v2
00462e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004634: 0c02 |0012: move-result-object v2
004636: 1a03 0300 |0013: const-string v3, " + " // string@0003
00463a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004640: 0c02 |0018: move-result-object v2
004642: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004648: 0c02 |001c: move-result-object v2
00464a: 1a03 0400 |001d: const-string v3, " = " // string@0004
00464e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004654: 0c02 |0022: move-result-object v2
004656: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00465c: 0c02 |0026: move-result-object v2
00465e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004664: 0c02 |002a: move-result-object v2
004666: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00466c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
004670: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004674: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
004678: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00467e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
004682: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004688: 0c02 |003c: move-result-object v2
00468a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004690: 0c02 |0040: move-result-object v2
004692: 1a03 0100 |0041: const-string v3, " != " // string@0001
004696: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00469c: 0c02 |0046: move-result-object v2
00469e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0046a4: 0c02 |004a: move-result-object v2
0046a6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0046ac: 0c02 |004e: move-result-object v2
0046ae: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0046b4: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
0046b8: |[0046b8] invokecustom.InvokeCustom1.targetMethodTest6:(JJJ)J
0046c8: 9b00 0608 |0000: add-long v0, v6, v8
0046cc: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0046d0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0046d4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0046da: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
0046de: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0046e4: 0c03 |000e: move-result-object v3
0046e6: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0046ec: 0c03 |0012: move-result-object v3
0046ee: 1a04 0300 |0013: const-string v4, " + " // string@0003
0046f2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0046f8: 0c03 |0018: move-result-object v3
0046fa: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004700: 0c03 |001c: move-result-object v3
004702: 1a04 0400 |001d: const-string v4, " = " // string@0004
004706: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00470c: 0c03 |0022: move-result-object v3
00470e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004714: 0c03 |0026: move-result-object v3
004716: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00471c: 0c03 |002a: move-result-object v3
00471e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004724: 3102 000a |002e: cmp-long v2, v0, v10
004728: 3802 2400 |0030: if-eqz v2, 0054 // +0024
00472c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004730: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004734: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00473a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
00473e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004744: 0c03 |003e: move-result-object v3
004746: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00474c: 0c03 |0042: move-result-object v3
00474e: 1a04 0100 |0043: const-string v4, " != " // string@0001
004752: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004758: 0c03 |0048: move-result-object v3
00475a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004760: 0c03 |004c: move-result-object v3
004762: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004768: 0c03 |0050: move-result-object v3
00476a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004770: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
004774: |[004774] invokecustom.InvokeCustom1.targetMethodTest7:(FFD)D
004784: a800 0607 |0000: mul-float v0, v6, v7
004788: 8900 |0002: float-to-double v0, v0
00478a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00478e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004792: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004798: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
00479c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0047a2: 0c03 |000f: move-result-object v3
0047a4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0047aa: 0c03 |0013: move-result-object v3
0047ac: 1a04 0200 |0014: const-string v4, " * " // string@0002
0047b0: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0047b6: 0c03 |0019: move-result-object v3
0047b8: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0047be: 0c03 |001d: move-result-object v3
0047c0: 1a04 0400 |001e: const-string v4, " = " // string@0004
0047c4: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0047ca: 0c03 |0023: move-result-object v3
0047cc: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0047d2: 0c03 |0027: move-result-object v3
0047d4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0047da: 0c03 |002b: move-result-object v3
0047dc: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0047e2: 2f02 0008 |002f: cmpl-double v2, v0, v8
0047e6: 3802 2400 |0031: if-eqz v2, 0055 // +0024
0047ea: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0047ee: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0047f2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0047f8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
0047fc: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004802: 0c03 |003f: move-result-object v3
004804: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00480a: 0c03 |0043: move-result-object v3
00480c: 1a04 0100 |0044: const-string v4, " != " // string@0001
004810: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004816: 0c03 |0049: move-result-object v3
004818: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00481e: 0c03 |004d: move-result-object v3
004820: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004826: 0c03 |0051: move-result-object v3
004828: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00482e: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
004830: |[004830] invokecustom.InvokeCustom1.targetMethodTest8:(Ljava/lang/String;)V
004840: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004844: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004848: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00484e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
004852: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004858: 0c01 |000c: move-result-object v1
00485a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004860: 0c01 |0010: move-result-object v1
004862: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004868: 0c01 |0014: move-result-object v1
00486a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004870: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
004874: |[004874] invokecustom.InvokeCustom1.targetMethodTest9:()V
004884: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004888: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
00488c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004892: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom1;)
name : 'test1'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 0
ins : 0
outs : 0
insns size : 4 16-bit code units
004894: |[004894] invokecustom.InvokeCustom1.test1:()V
0048a4: fc00 0000 0000 |0000: invoke-custom {}, call_site@0000
0048aa: 0e00 |0003: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom1;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
0048ac: |[0048ac] invokecustom.InvokeCustom1.helperMethodTest9:()V
0048bc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0048c0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0048c4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0048ca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
0048ce: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0048d4: 0c01 |000c: move-result-object v1
0048d6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
0048da: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0048e0: 0c01 |0012: move-result-object v1
0048e2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0048e8: 0c01 |0016: move-result-object v1
0048ea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0048f0: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom1;
#1 : (in Linvokecustom/InvokeCustom1;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0048f4: |[0048f4] invokecustom.InvokeCustom1.run:()V
004904: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004908: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
00490c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004912: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom1;
#2 : (in Linvokecustom/InvokeCustom1;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
004914: |[004914] invokecustom.InvokeCustom1.targetMethodTest4:()V
004924: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004928: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
00492c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004932: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom1;
source_file_idx : 25 (InvokeCustom.java)
Class #2 -
Class descriptor : 'Linvokecustom/InvokeCustom2;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom2;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom2;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom2;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
004934: |[004934] invokecustom.InvokeCustom2.<clinit>:()V
004944: 1200 |0000: const/4 v0, #int 0 // #0
004946: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
00494a: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom2;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
00494c: |[00494c] invokecustom.InvokeCustom2.<init>:()V
00495c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
004962: 1200 |0003: const/4 v0, #int 0 // #0
004964: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004968: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom2;
#2 : (in Linvokecustom/InvokeCustom2;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
00496c: |[00496c] invokecustom.InvokeCustom2.<init>:(I)V
00497c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
004982: 1200 |0003: const/4 v0, #int 0 // #0
004984: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
004988: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00498c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004990: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004996: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
00499a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0049a0: 0c01 |0012: move-result-object v1
0049a2: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0049a8: 0c01 |0016: move-result-object v1
0049aa: 1a02 0700 |0017: const-string v2, ")" // string@0007
0049ae: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0049b4: 0c01 |001c: move-result-object v1
0049b6: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0049bc: 0c01 |0020: move-result-object v1
0049be: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0049c4: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom2;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom2;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
0049c8: |[0049c8] invokecustom.InvokeCustom2.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
0049d8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0049dc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0049e0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0049e6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
0049ea: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0049f0: 0c01 |000c: move-result-object v1
0049f2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0049f8: 0c01 |0010: move-result-object v1
0049fa: 1a02 5200 |0011: const-string v2, "]" // string@0052
0049fe: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004a04: 0c01 |0016: move-result-object v1
004a06: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004a0c: 0c01 |001a: move-result-object v1
004a0e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004a14: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
004a18: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
004a1e: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom2;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
004a20: |[004a20] invokecustom.InvokeCustom2.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
004a30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004a34: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
004a38: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004a3e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
004a44: 0c00 |000a: move-result-object v0
004a46: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
004a4c: 0c01 |000e: move-result-object v1
004a4e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
004a54: 0c00 |0012: move-result-object v0
004a56: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
004a5a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
004a60: 0c00 |0018: move-result-object v0
004a62: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
004a68: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom2;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
004a6c: |[004a6c] invokecustom.InvokeCustom2.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
004a7c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004a80: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004a84: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004a8a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
004a8e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004a94: 0c01 |000c: move-result-object v1
004a96: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004a9c: 0c01 |0010: move-result-object v1
004a9e: 1a02 0800 |0011: const-string v2, ", " // string@0008
004aa2: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004aa8: 0c01 |0016: move-result-object v1
004aaa: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004ab0: 0c01 |001a: move-result-object v1
004ab2: 1a02 0800 |001b: const-string v2, ", " // string@0008
004ab6: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004abc: 0c01 |0020: move-result-object v1
004abe: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004ac4: 0c01 |0024: move-result-object v1
004ac6: 1a02 0800 |0025: const-string v2, ", " // string@0008
004aca: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004ad0: 0c01 |002a: move-result-object v1
004ad2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
004ad8: 0c01 |002e: move-result-object v1
004ada: 1a02 5200 |002f: const-string v2, "]" // string@0052
004ade: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004ae4: 0c01 |0034: move-result-object v1
004ae6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004aec: 0c01 |0038: move-result-object v1
004aee: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004af4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
004afa: 0c00 |003f: move-result-object v0
004afc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
004b02: 0c01 |0043: move-result-object v1
004b04: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
004b0a: 0c00 |0047: move-result-object v0
004b0c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
004b10: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
004b16: 0c00 |004d: move-result-object v0
004b18: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
004b1e: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom2;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
004b20: |[004b20] invokecustom.InvokeCustom2.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
004b30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004b34: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004b38: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004b3e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
004b42: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004b48: 0c01 |000c: move-result-object v1
004b4a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004b50: 0c01 |0010: move-result-object v1
004b52: 1a02 0800 |0011: const-string v2, ", " // string@0008
004b56: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004b5c: 0c01 |0016: move-result-object v1
004b5e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004b64: 0c01 |001a: move-result-object v1
004b66: 1a02 0800 |001b: const-string v2, ", " // string@0008
004b6a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004b70: 0c01 |0020: move-result-object v1
004b72: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004b78: 0c01 |0024: move-result-object v1
004b7a: 1a02 0800 |0025: const-string v2, ", " // string@0008
004b7e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004b84: 0c01 |002a: move-result-object v1
004b86: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004b8c: 0c01 |002e: move-result-object v1
004b8e: 1a02 5200 |002f: const-string v2, "]" // string@0052
004b92: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004b98: 0c01 |0034: move-result-object v1
004b9a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004ba0: 0c01 |0038: move-result-object v1
004ba2: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004ba8: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004bac: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
004bb0: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004bb6: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004bbc: 0c01 |0046: move-result-object v1
004bbe: 1a02 0000 |0047: const-string v2, " " // string@0000
004bc2: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004bc8: 0c01 |004c: move-result-object v1
004bca: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
004bd0: 0c01 |0050: move-result-object v1
004bd2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004bd8: 0c01 |0054: move-result-object v1
004bda: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004be0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
004be6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
004bea: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
004bf0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
004bf6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
004bfe: 1230 |0067: const/4 v0, #int 3 // #3
004c00: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
004c08: 0c00 |006c: move-result-object v0
004c0a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
004c12: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
004c18: 0c00 |0074: move-result-object v0
004c1a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
004c20: 0c01 |0078: move-result-object v1
004c22: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
004c28: 0c00 |007c: move-result-object v0
004c2a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
004c2e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
004c34: 0c00 |0082: move-result-object v0
004c36: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
004c3c: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom2;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
004c40: |[004c40] invokecustom.InvokeCustom2.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
004c50: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
004c56: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
004c5e: 0a00 |0007: move-result v0
004c60: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
004c68: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
004c70: 0a01 |0010: move-result v1
004c72: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004c76: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004c7a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004c80: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
004c84: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004c8a: 0c03 |001d: move-result-object v3
004c8c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004c92: 0c00 |0021: move-result-object v0
004c94: 1a03 0600 |0022: const-string v3, " new " // string@0006
004c98: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004c9e: 0c00 |0027: move-result-object v0
004ca0: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004ca6: 0c00 |002b: move-result-object v0
004ca8: 1a03 0500 |002c: const-string v3, " expected " // string@0005
004cac: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004cb2: 0c00 |0031: move-result-object v0
004cb4: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004cba: 0c00 |0035: move-result-object v0
004cbc: 1a03 0000 |0036: const-string v3, " " // string@0000
004cc0: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004cc6: 0c00 |003b: move-result-object v0
004cc8: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004cce: 0c00 |003f: move-result-object v0
004cd0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
004cd6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004cda: 2d00 0105 |0045: cmpl-float v0, v1, v5
004cde: 3900 0800 |0047: if-nez v0, 004f // +0008
004ce2: 1a00 4000 |0049: const-string v0, "OK" // string@0040
004ce6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004cec: 0e00 |004e: return-void
004cee: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
004cf2: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom2;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom2;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
004cf4: |[004cf4] invokecustom.InvokeCustom2.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
004d04: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
004d0a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
004d12: 0a00 |0007: move-result v0
004d14: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
004d1c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
004d24: 0a01 |0010: move-result v1
004d26: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004d2a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004d2e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004d34: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
004d38: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004d3e: 0c03 |001d: move-result-object v3
004d40: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004d46: 0c00 |0021: move-result-object v0
004d48: 1a03 0600 |0022: const-string v3, " new " // string@0006
004d4c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004d52: 0c00 |0027: move-result-object v0
004d54: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004d5a: 0c00 |002b: move-result-object v0
004d5c: 1a03 0500 |002c: const-string v3, " expected " // string@0005
004d60: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004d66: 0c00 |0031: move-result-object v0
004d68: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004d6e: 0c00 |0035: move-result-object v0
004d70: 1a03 0000 |0036: const-string v3, " " // string@0000
004d74: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004d7a: 0c00 |003b: move-result-object v0
004d7c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004d82: 0c00 |003f: move-result-object v0
004d84: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
004d8a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004d8e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
004d92: 1a00 4000 |0047: const-string v0, "OK" // string@0040
004d96: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004d9c: 0e00 |004c: return-void
004d9e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
004da2: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
004da4: |[004da4] invokecustom.InvokeCustom2.targetMethodTest1:()V
004db4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004db8: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
004dbc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004dc2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
004dc4: |[004dc4] invokecustom.InvokeCustom2.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
004dd4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004dd8: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
004dde: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004de2: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
004de8: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004dec: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
004df2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004df6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
004dfc: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e00: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
004e06: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e0a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
004e10: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e14: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
004e1a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e1e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
004e24: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e28: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004e2e: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
004e30: |[004e30] invokecustom.InvokeCustom2.targetMethodTest3:()V
004e40: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e44: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
004e48: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004e4e: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
004e50: |[004e50] invokecustom.InvokeCustom2.targetMethodTest5:(III)I
004e60: 9000 0405 |0000: add-int v0, v4, v5
004e64: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004e68: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
004e6c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004e72: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
004e76: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004e7c: 0c02 |000e: move-result-object v2
004e7e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004e84: 0c02 |0012: move-result-object v2
004e86: 1a03 0300 |0013: const-string v3, " + " // string@0003
004e8a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004e90: 0c02 |0018: move-result-object v2
004e92: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004e98: 0c02 |001c: move-result-object v2
004e9a: 1a03 0400 |001d: const-string v3, " = " // string@0004
004e9e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004ea4: 0c02 |0022: move-result-object v2
004ea6: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004eac: 0c02 |0026: move-result-object v2
004eae: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004eb4: 0c02 |002a: move-result-object v2
004eb6: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004ebc: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
004ec0: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004ec4: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
004ec8: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004ece: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
004ed2: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004ed8: 0c02 |003c: move-result-object v2
004eda: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004ee0: 0c02 |0040: move-result-object v2
004ee2: 1a03 0100 |0041: const-string v3, " != " // string@0001
004ee6: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004eec: 0c02 |0046: move-result-object v2
004eee: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
004ef4: 0c02 |004a: move-result-object v2
004ef6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004efc: 0c02 |004e: move-result-object v2
004efe: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004f04: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
004f08: |[004f08] invokecustom.InvokeCustom2.targetMethodTest6:(JJJ)J
004f18: 9b00 0608 |0000: add-long v0, v6, v8
004f1c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004f20: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004f24: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004f2a: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
004f2e: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004f34: 0c03 |000e: move-result-object v3
004f36: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004f3c: 0c03 |0012: move-result-object v3
004f3e: 1a04 0300 |0013: const-string v4, " + " // string@0003
004f42: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004f48: 0c03 |0018: move-result-object v3
004f4a: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004f50: 0c03 |001c: move-result-object v3
004f52: 1a04 0400 |001d: const-string v4, " = " // string@0004
004f56: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004f5c: 0c03 |0022: move-result-object v3
004f5e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004f64: 0c03 |0026: move-result-object v3
004f66: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004f6c: 0c03 |002a: move-result-object v3
004f6e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004f74: 3102 000a |002e: cmp-long v2, v0, v10
004f78: 3802 2400 |0030: if-eqz v2, 0054 // +0024
004f7c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004f80: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004f84: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004f8a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
004f8e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004f94: 0c03 |003e: move-result-object v3
004f96: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004f9c: 0c03 |0042: move-result-object v3
004f9e: 1a04 0100 |0043: const-string v4, " != " // string@0001
004fa2: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004fa8: 0c03 |0048: move-result-object v3
004faa: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
004fb0: 0c03 |004c: move-result-object v3
004fb2: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
004fb8: 0c03 |0050: move-result-object v3
004fba: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
004fc0: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
004fc4: |[004fc4] invokecustom.InvokeCustom2.targetMethodTest7:(FFD)D
004fd4: a800 0607 |0000: mul-float v0, v6, v7
004fd8: 8900 |0002: float-to-double v0, v0
004fda: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
004fde: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
004fe2: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
004fe8: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
004fec: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
004ff2: 0c03 |000f: move-result-object v3
004ff4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
004ffa: 0c03 |0013: move-result-object v3
004ffc: 1a04 0200 |0014: const-string v4, " * " // string@0002
005000: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005006: 0c03 |0019: move-result-object v3
005008: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00500e: 0c03 |001d: move-result-object v3
005010: 1a04 0400 |001e: const-string v4, " = " // string@0004
005014: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00501a: 0c03 |0023: move-result-object v3
00501c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
005022: 0c03 |0027: move-result-object v3
005024: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00502a: 0c03 |002b: move-result-object v3
00502c: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005032: 2f02 0008 |002f: cmpl-double v2, v0, v8
005036: 3802 2400 |0031: if-eqz v2, 0055 // +0024
00503a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00503e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
005042: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005048: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
00504c: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005052: 0c03 |003f: move-result-object v3
005054: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00505a: 0c03 |0043: move-result-object v3
00505c: 1a04 0100 |0044: const-string v4, " != " // string@0001
005060: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005066: 0c03 |0049: move-result-object v3
005068: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00506e: 0c03 |004d: move-result-object v3
005070: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005076: 0c03 |0051: move-result-object v3
005078: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00507e: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
005080: |[005080] invokecustom.InvokeCustom2.targetMethodTest8:(Ljava/lang/String;)V
005090: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005094: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005098: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00509e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
0050a2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0050a8: 0c01 |000c: move-result-object v1
0050aa: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0050b0: 0c01 |0010: move-result-object v1
0050b2: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0050b8: 0c01 |0014: move-result-object v1
0050ba: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0050c0: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0050c4: |[0050c4] invokecustom.InvokeCustom2.targetMethodTest9:()V
0050d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0050d8: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
0050dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0050e2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom2;)
name : 'test2'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 11
ins : 0
outs : 11
insns size : 27 16-bit code units
0050e4: |[0050e4] invokecustom.InvokeCustom2.test2:()V
0050f4: 1210 |0000: const/4 v0, #int 1 // #1
0050f6: 1301 7f00 |0001: const/16 v1, #int 127 // #7f
0050fa: 1302 6300 |0003: const/16 v2, #int 99 // #63
0050fe: 1303 0004 |0005: const/16 v3, #int 1024 // #400
005102: 1404 40e2 0100 |0007: const v4, #float 1.72999e-40 // #0001e240
005108: 1405 9a99 993f |000a: const v5, #float 1.2 // #3f99999a
00510e: 1706 15cd 5b07 |000d: const-wide/32 v6, #float 1.6536e-34 // #075bcd15
005114: 1808 b6fa f8b0 4819 0c40 |0010: const-wide v8, #double 3.51235 // #400c1948b0f8fab6
00511e: 1a0a 4300 |0015: const-string v10, "String" // string@0043
005122: fd0b 0100 0000 |0017: invoke-custom/range {v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10}, call_site@0001
005128: 0e00 |001a: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom2;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
00512c: |[00512c] invokecustom.InvokeCustom2.helperMethodTest9:()V
00513c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005140: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005144: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00514a: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
00514e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005154: 0c01 |000c: move-result-object v1
005156: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
00515a: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005160: 0c01 |0012: move-result-object v1
005162: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005168: 0c01 |0016: move-result-object v1
00516a: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005170: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom2;
#1 : (in Linvokecustom/InvokeCustom2;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
005174: |[005174] invokecustom.InvokeCustom2.run:()V
005184: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005188: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
00518c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005192: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom2;
#2 : (in Linvokecustom/InvokeCustom2;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
005194: |[005194] invokecustom.InvokeCustom2.targetMethodTest4:()V
0051a4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0051a8: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
0051ac: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0051b2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom2;
source_file_idx : 25 (InvokeCustom.java)
Class #3 -
Class descriptor : 'Linvokecustom/InvokeCustom3;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom3;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom3;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom3;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
0051b4: |[0051b4] invokecustom.InvokeCustom3.<clinit>:()V
0051c4: 1200 |0000: const/4 v0, #int 0 // #0
0051c6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
0051ca: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom3;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
0051cc: |[0051cc] invokecustom.InvokeCustom3.<init>:()V
0051dc: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
0051e2: 1200 |0003: const/4 v0, #int 0 // #0
0051e4: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
0051e8: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom3;
#2 : (in Linvokecustom/InvokeCustom3;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
0051ec: |[0051ec] invokecustom.InvokeCustom3.<init>:(I)V
0051fc: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
005202: 1200 |0003: const/4 v0, #int 0 // #0
005204: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
005208: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00520c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005210: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005216: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
00521a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005220: 0c01 |0012: move-result-object v1
005222: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005228: 0c01 |0016: move-result-object v1
00522a: 1a02 0700 |0017: const-string v2, ")" // string@0007
00522e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005234: 0c01 |001c: move-result-object v1
005236: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00523c: 0c01 |0020: move-result-object v1
00523e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005244: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom3;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom3;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
005248: |[005248] invokecustom.InvokeCustom3.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
005258: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00525c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005260: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005266: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
00526a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005270: 0c01 |000c: move-result-object v1
005272: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005278: 0c01 |0010: move-result-object v1
00527a: 1a02 5200 |0011: const-string v2, "]" // string@0052
00527e: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005284: 0c01 |0016: move-result-object v1
005286: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00528c: 0c01 |001a: move-result-object v1
00528e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005294: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
005298: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
00529e: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom3;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
0052a0: |[0052a0] invokecustom.InvokeCustom3.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
0052b0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0052b4: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
0052b8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0052be: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0052c4: 0c00 |000a: move-result-object v0
0052c6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0052cc: 0c01 |000e: move-result-object v1
0052ce: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0052d4: 0c00 |0012: move-result-object v0
0052d6: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0052da: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0052e0: 0c00 |0018: move-result-object v0
0052e2: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0052e8: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom3;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
0052ec: |[0052ec] invokecustom.InvokeCustom3.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
0052fc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005300: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005304: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00530a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
00530e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005314: 0c01 |000c: move-result-object v1
005316: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00531c: 0c01 |0010: move-result-object v1
00531e: 1a02 0800 |0011: const-string v2, ", " // string@0008
005322: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005328: 0c01 |0016: move-result-object v1
00532a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
005330: 0c01 |001a: move-result-object v1
005332: 1a02 0800 |001b: const-string v2, ", " // string@0008
005336: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00533c: 0c01 |0020: move-result-object v1
00533e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005344: 0c01 |0024: move-result-object v1
005346: 1a02 0800 |0025: const-string v2, ", " // string@0008
00534a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005350: 0c01 |002a: move-result-object v1
005352: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
005358: 0c01 |002e: move-result-object v1
00535a: 1a02 5200 |002f: const-string v2, "]" // string@0052
00535e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005364: 0c01 |0034: move-result-object v1
005366: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00536c: 0c01 |0038: move-result-object v1
00536e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005374: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
00537a: 0c00 |003f: move-result-object v0
00537c: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
005382: 0c01 |0043: move-result-object v1
005384: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
00538a: 0c00 |0047: move-result-object v0
00538c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
005390: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
005396: 0c00 |004d: move-result-object v0
005398: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
00539e: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom3;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
0053a0: |[0053a0] invokecustom.InvokeCustom3.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
0053b0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0053b4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0053b8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0053be: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
0053c2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0053c8: 0c01 |000c: move-result-object v1
0053ca: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0053d0: 0c01 |0010: move-result-object v1
0053d2: 1a02 0800 |0011: const-string v2, ", " // string@0008
0053d6: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0053dc: 0c01 |0016: move-result-object v1
0053de: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0053e4: 0c01 |001a: move-result-object v1
0053e6: 1a02 0800 |001b: const-string v2, ", " // string@0008
0053ea: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0053f0: 0c01 |0020: move-result-object v1
0053f2: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0053f8: 0c01 |0024: move-result-object v1
0053fa: 1a02 0800 |0025: const-string v2, ", " // string@0008
0053fe: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005404: 0c01 |002a: move-result-object v1
005406: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
00540c: 0c01 |002e: move-result-object v1
00540e: 1a02 5200 |002f: const-string v2, "]" // string@0052
005412: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005418: 0c01 |0034: move-result-object v1
00541a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005420: 0c01 |0038: move-result-object v1
005422: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005428: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00542c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005430: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005436: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00543c: 0c01 |0046: move-result-object v1
00543e: 1a02 0000 |0047: const-string v2, " " // string@0000
005442: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005448: 0c01 |004c: move-result-object v1
00544a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005450: 0c01 |0050: move-result-object v1
005452: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005458: 0c01 |0054: move-result-object v1
00545a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005460: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
005466: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
00546a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
005470: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
005476: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
00547e: 1230 |0067: const/4 v0, #int 3 // #3
005480: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
005488: 0c00 |006c: move-result-object v0
00548a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
005492: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
005498: 0c00 |0074: move-result-object v0
00549a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0054a0: 0c01 |0078: move-result-object v1
0054a2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0054a8: 0c00 |007c: move-result-object v0
0054aa: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0054ae: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0054b4: 0c00 |0082: move-result-object v0
0054b6: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0054bc: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom3;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
0054c0: |[0054c0] invokecustom.InvokeCustom3.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
0054d0: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
0054d6: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
0054de: 0a00 |0007: move-result v0
0054e0: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
0054e8: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
0054f0: 0a01 |0010: move-result v1
0054f2: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0054f6: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0054fa: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005500: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
005504: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00550a: 0c03 |001d: move-result-object v3
00550c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005512: 0c00 |0021: move-result-object v0
005514: 1a03 0600 |0022: const-string v3, " new " // string@0006
005518: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00551e: 0c00 |0027: move-result-object v0
005520: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005526: 0c00 |002b: move-result-object v0
005528: 1a03 0500 |002c: const-string v3, " expected " // string@0005
00552c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005532: 0c00 |0031: move-result-object v0
005534: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00553a: 0c00 |0035: move-result-object v0
00553c: 1a03 0000 |0036: const-string v3, " " // string@0000
005540: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005546: 0c00 |003b: move-result-object v0
005548: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00554e: 0c00 |003f: move-result-object v0
005550: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
005556: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00555a: 2d00 0105 |0045: cmpl-float v0, v1, v5
00555e: 3900 0800 |0047: if-nez v0, 004f // +0008
005562: 1a00 4000 |0049: const-string v0, "OK" // string@0040
005566: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00556c: 0e00 |004e: return-void
00556e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
005572: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom3;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom3;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
005574: |[005574] invokecustom.InvokeCustom3.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
005584: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
00558a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
005592: 0a00 |0007: move-result v0
005594: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
00559c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0055a4: 0a01 |0010: move-result v1
0055a6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0055aa: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0055ae: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0055b4: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
0055b8: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0055be: 0c03 |001d: move-result-object v3
0055c0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0055c6: 0c00 |0021: move-result-object v0
0055c8: 1a03 0600 |0022: const-string v3, " new " // string@0006
0055cc: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0055d2: 0c00 |0027: move-result-object v0
0055d4: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0055da: 0c00 |002b: move-result-object v0
0055dc: 1a03 0500 |002c: const-string v3, " expected " // string@0005
0055e0: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0055e6: 0c00 |0031: move-result-object v0
0055e8: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0055ee: 0c00 |0035: move-result-object v0
0055f0: 1a03 0000 |0036: const-string v3, " " // string@0000
0055f4: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0055fa: 0c00 |003b: move-result-object v0
0055fc: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005602: 0c00 |003f: move-result-object v0
005604: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
00560a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00560e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
005612: 1a00 4000 |0047: const-string v0, "OK" // string@0040
005616: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00561c: 0e00 |004c: return-void
00561e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
005622: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
005624: |[005624] invokecustom.InvokeCustom3.targetMethodTest1:()V
005634: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005638: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
00563c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005642: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
005644: |[005644] invokecustom.InvokeCustom3.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
005654: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005658: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
00565e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005662: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
005668: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00566c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
005672: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005676: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
00567c: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005680: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
005686: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00568a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
005690: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005694: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
00569a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00569e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
0056a4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0056a8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0056ae: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0056b0: |[0056b0] invokecustom.InvokeCustom3.targetMethodTest3:()V
0056c0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0056c4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
0056c8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0056ce: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
0056d0: |[0056d0] invokecustom.InvokeCustom3.targetMethodTest5:(III)I
0056e0: 9000 0405 |0000: add-int v0, v4, v5
0056e4: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0056e8: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
0056ec: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0056f2: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
0056f6: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0056fc: 0c02 |000e: move-result-object v2
0056fe: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005704: 0c02 |0012: move-result-object v2
005706: 1a03 0300 |0013: const-string v3, " + " // string@0003
00570a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005710: 0c02 |0018: move-result-object v2
005712: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005718: 0c02 |001c: move-result-object v2
00571a: 1a03 0400 |001d: const-string v3, " = " // string@0004
00571e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005724: 0c02 |0022: move-result-object v2
005726: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00572c: 0c02 |0026: move-result-object v2
00572e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005734: 0c02 |002a: move-result-object v2
005736: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00573c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
005740: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005744: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
005748: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00574e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
005752: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005758: 0c02 |003c: move-result-object v2
00575a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005760: 0c02 |0040: move-result-object v2
005762: 1a03 0100 |0041: const-string v3, " != " // string@0001
005766: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00576c: 0c02 |0046: move-result-object v2
00576e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005774: 0c02 |004a: move-result-object v2
005776: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00577c: 0c02 |004e: move-result-object v2
00577e: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005784: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
005788: |[005788] invokecustom.InvokeCustom3.targetMethodTest6:(JJJ)J
005798: 9b00 0608 |0000: add-long v0, v6, v8
00579c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0057a0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0057a4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0057aa: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
0057ae: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0057b4: 0c03 |000e: move-result-object v3
0057b6: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0057bc: 0c03 |0012: move-result-object v3
0057be: 1a04 0300 |0013: const-string v4, " + " // string@0003
0057c2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0057c8: 0c03 |0018: move-result-object v3
0057ca: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0057d0: 0c03 |001c: move-result-object v3
0057d2: 1a04 0400 |001d: const-string v4, " = " // string@0004
0057d6: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0057dc: 0c03 |0022: move-result-object v3
0057de: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0057e4: 0c03 |0026: move-result-object v3
0057e6: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0057ec: 0c03 |002a: move-result-object v3
0057ee: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0057f4: 3102 000a |002e: cmp-long v2, v0, v10
0057f8: 3802 2400 |0030: if-eqz v2, 0054 // +0024
0057fc: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005800: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
005804: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00580a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
00580e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005814: 0c03 |003e: move-result-object v3
005816: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00581c: 0c03 |0042: move-result-object v3
00581e: 1a04 0100 |0043: const-string v4, " != " // string@0001
005822: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005828: 0c03 |0048: move-result-object v3
00582a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
005830: 0c03 |004c: move-result-object v3
005832: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005838: 0c03 |0050: move-result-object v3
00583a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005840: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
005844: |[005844] invokecustom.InvokeCustom3.targetMethodTest7:(FFD)D
005854: a800 0607 |0000: mul-float v0, v6, v7
005858: 8900 |0002: float-to-double v0, v0
00585a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00585e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
005862: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005868: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
00586c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005872: 0c03 |000f: move-result-object v3
005874: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00587a: 0c03 |0013: move-result-object v3
00587c: 1a04 0200 |0014: const-string v4, " * " // string@0002
005880: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005886: 0c03 |0019: move-result-object v3
005888: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00588e: 0c03 |001d: move-result-object v3
005890: 1a04 0400 |001e: const-string v4, " = " // string@0004
005894: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00589a: 0c03 |0023: move-result-object v3
00589c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0058a2: 0c03 |0027: move-result-object v3
0058a4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0058aa: 0c03 |002b: move-result-object v3
0058ac: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0058b2: 2f02 0008 |002f: cmpl-double v2, v0, v8
0058b6: 3802 2400 |0031: if-eqz v2, 0055 // +0024
0058ba: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0058be: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0058c2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0058c8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
0058cc: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0058d2: 0c03 |003f: move-result-object v3
0058d4: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0058da: 0c03 |0043: move-result-object v3
0058dc: 1a04 0100 |0044: const-string v4, " != " // string@0001
0058e0: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0058e6: 0c03 |0049: move-result-object v3
0058e8: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0058ee: 0c03 |004d: move-result-object v3
0058f0: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0058f6: 0c03 |0051: move-result-object v3
0058f8: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0058fe: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
005900: |[005900] invokecustom.InvokeCustom3.targetMethodTest8:(Ljava/lang/String;)V
005910: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005914: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005918: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00591e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
005922: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005928: 0c01 |000c: move-result-object v1
00592a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005930: 0c01 |0010: move-result-object v1
005932: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005938: 0c01 |0014: move-result-object v1
00593a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005940: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
005944: |[005944] invokecustom.InvokeCustom3.targetMethodTest9:()V
005954: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005958: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
00595c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005962: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom3;)
name : 'test3'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 0
ins : 0
outs : 0
insns size : 4 16-bit code units
005964: |[005964] invokecustom.InvokeCustom3.test3:()V
005974: fc00 0200 0000 |0000: invoke-custom {}, call_site@0002
00597a: 0e00 |0003: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom3;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
00597c: |[00597c] invokecustom.InvokeCustom3.helperMethodTest9:()V
00598c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005990: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005994: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00599a: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
00599e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0059a4: 0c01 |000c: move-result-object v1
0059a6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
0059aa: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0059b0: 0c01 |0012: move-result-object v1
0059b2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0059b8: 0c01 |0016: move-result-object v1
0059ba: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0059c0: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom3;
#1 : (in Linvokecustom/InvokeCustom3;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0059c4: |[0059c4] invokecustom.InvokeCustom3.run:()V
0059d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0059d8: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
0059dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0059e2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom3;
#2 : (in Linvokecustom/InvokeCustom3;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0059e4: |[0059e4] invokecustom.InvokeCustom3.targetMethodTest4:()V
0059f4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0059f8: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
0059fc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005a02: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom3;
source_file_idx : 25 (InvokeCustom.java)
Class #4 -
Class descriptor : 'Linvokecustom/InvokeCustom5;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom5;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom5;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom5;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
005a04: |[005a04] invokecustom.InvokeCustom5.<clinit>:()V
005a14: 1200 |0000: const/4 v0, #int 0 // #0
005a16: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
005a1a: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom5;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
005a1c: |[005a1c] invokecustom.InvokeCustom5.<init>:()V
005a2c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
005a32: 1200 |0003: const/4 v0, #int 0 // #0
005a34: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
005a38: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom5;
#2 : (in Linvokecustom/InvokeCustom5;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
005a3c: |[005a3c] invokecustom.InvokeCustom5.<init>:(I)V
005a4c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
005a52: 1200 |0003: const/4 v0, #int 0 // #0
005a54: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
005a58: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005a5c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005a60: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005a66: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
005a6a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005a70: 0c01 |0012: move-result-object v1
005a72: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005a78: 0c01 |0016: move-result-object v1
005a7a: 1a02 0700 |0017: const-string v2, ")" // string@0007
005a7e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005a84: 0c01 |001c: move-result-object v1
005a86: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005a8c: 0c01 |0020: move-result-object v1
005a8e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005a94: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom5;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom5;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
005a98: |[005a98] invokecustom.InvokeCustom5.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
005aa8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005aac: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005ab0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005ab6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
005aba: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005ac0: 0c01 |000c: move-result-object v1
005ac2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005ac8: 0c01 |0010: move-result-object v1
005aca: 1a02 5200 |0011: const-string v2, "]" // string@0052
005ace: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005ad4: 0c01 |0016: move-result-object v1
005ad6: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005adc: 0c01 |001a: move-result-object v1
005ade: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005ae4: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
005ae8: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
005aee: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom5;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
005af0: |[005af0] invokecustom.InvokeCustom5.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
005b00: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005b04: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
005b08: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005b0e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
005b14: 0c00 |000a: move-result-object v0
005b16: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
005b1c: 0c01 |000e: move-result-object v1
005b1e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
005b24: 0c00 |0012: move-result-object v0
005b26: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
005b2a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
005b30: 0c00 |0018: move-result-object v0
005b32: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
005b38: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom5;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
005b3c: |[005b3c] invokecustom.InvokeCustom5.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
005b4c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005b50: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005b54: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005b5a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
005b5e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005b64: 0c01 |000c: move-result-object v1
005b66: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005b6c: 0c01 |0010: move-result-object v1
005b6e: 1a02 0800 |0011: const-string v2, ", " // string@0008
005b72: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005b78: 0c01 |0016: move-result-object v1
005b7a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
005b80: 0c01 |001a: move-result-object v1
005b82: 1a02 0800 |001b: const-string v2, ", " // string@0008
005b86: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005b8c: 0c01 |0020: move-result-object v1
005b8e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005b94: 0c01 |0024: move-result-object v1
005b96: 1a02 0800 |0025: const-string v2, ", " // string@0008
005b9a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005ba0: 0c01 |002a: move-result-object v1
005ba2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
005ba8: 0c01 |002e: move-result-object v1
005baa: 1a02 5200 |002f: const-string v2, "]" // string@0052
005bae: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005bb4: 0c01 |0034: move-result-object v1
005bb6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005bbc: 0c01 |0038: move-result-object v1
005bbe: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005bc4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
005bca: 0c00 |003f: move-result-object v0
005bcc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
005bd2: 0c01 |0043: move-result-object v1
005bd4: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
005bda: 0c00 |0047: move-result-object v0
005bdc: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
005be0: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
005be6: 0c00 |004d: move-result-object v0
005be8: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
005bee: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom5;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
005bf0: |[005bf0] invokecustom.InvokeCustom5.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
005c00: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005c04: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005c08: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005c0e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
005c12: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c18: 0c01 |000c: move-result-object v1
005c1a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005c20: 0c01 |0010: move-result-object v1
005c22: 1a02 0800 |0011: const-string v2, ", " // string@0008
005c26: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c2c: 0c01 |0016: move-result-object v1
005c2e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005c34: 0c01 |001a: move-result-object v1
005c36: 1a02 0800 |001b: const-string v2, ", " // string@0008
005c3a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c40: 0c01 |0020: move-result-object v1
005c42: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005c48: 0c01 |0024: move-result-object v1
005c4a: 1a02 0800 |0025: const-string v2, ", " // string@0008
005c4e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c54: 0c01 |002a: move-result-object v1
005c56: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005c5c: 0c01 |002e: move-result-object v1
005c5e: 1a02 5200 |002f: const-string v2, "]" // string@0052
005c62: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c68: 0c01 |0034: move-result-object v1
005c6a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005c70: 0c01 |0038: move-result-object v1
005c72: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005c78: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005c7c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
005c80: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005c86: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c8c: 0c01 |0046: move-result-object v1
005c8e: 1a02 0000 |0047: const-string v2, " " // string@0000
005c92: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005c98: 0c01 |004c: move-result-object v1
005c9a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
005ca0: 0c01 |0050: move-result-object v1
005ca2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005ca8: 0c01 |0054: move-result-object v1
005caa: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005cb0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
005cb6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
005cba: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
005cc0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
005cc6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
005cce: 1230 |0067: const/4 v0, #int 3 // #3
005cd0: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
005cd8: 0c00 |006c: move-result-object v0
005cda: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
005ce2: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
005ce8: 0c00 |0074: move-result-object v0
005cea: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
005cf0: 0c01 |0078: move-result-object v1
005cf2: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
005cf8: 0c00 |007c: move-result-object v0
005cfa: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
005cfe: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
005d04: 0c00 |0082: move-result-object v0
005d06: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
005d0c: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom5;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
005d10: |[005d10] invokecustom.InvokeCustom5.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
005d20: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
005d26: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
005d2e: 0a00 |0007: move-result v0
005d30: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
005d38: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
005d40: 0a01 |0010: move-result v1
005d42: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005d46: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
005d4a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005d50: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
005d54: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005d5a: 0c03 |001d: move-result-object v3
005d5c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005d62: 0c00 |0021: move-result-object v0
005d64: 1a03 0600 |0022: const-string v3, " new " // string@0006
005d68: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005d6e: 0c00 |0027: move-result-object v0
005d70: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005d76: 0c00 |002b: move-result-object v0
005d78: 1a03 0500 |002c: const-string v3, " expected " // string@0005
005d7c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005d82: 0c00 |0031: move-result-object v0
005d84: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
005d8a: 0c00 |0035: move-result-object v0
005d8c: 1a03 0000 |0036: const-string v3, " " // string@0000
005d90: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005d96: 0c00 |003b: move-result-object v0
005d98: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005d9e: 0c00 |003f: move-result-object v0
005da0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
005da6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005daa: 2d00 0105 |0045: cmpl-float v0, v1, v5
005dae: 3900 0800 |0047: if-nez v0, 004f // +0008
005db2: 1a00 4000 |0049: const-string v0, "OK" // string@0040
005db6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005dbc: 0e00 |004e: return-void
005dbe: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
005dc2: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom5;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom5;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
005dc4: |[005dc4] invokecustom.InvokeCustom5.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
005dd4: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
005dda: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
005de2: 0a00 |0007: move-result v0
005de4: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
005dec: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
005df4: 0a01 |0010: move-result v1
005df6: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005dfa: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
005dfe: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005e04: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
005e08: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005e0e: 0c03 |001d: move-result-object v3
005e10: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005e16: 0c00 |0021: move-result-object v0
005e18: 1a03 0600 |0022: const-string v3, " new " // string@0006
005e1c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005e22: 0c00 |0027: move-result-object v0
005e24: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005e2a: 0c00 |002b: move-result-object v0
005e2c: 1a03 0500 |002c: const-string v3, " expected " // string@0005
005e30: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005e36: 0c00 |0031: move-result-object v0
005e38: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005e3e: 0c00 |0035: move-result-object v0
005e40: 1a03 0000 |0036: const-string v3, " " // string@0000
005e44: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005e4a: 0c00 |003b: move-result-object v0
005e4c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005e52: 0c00 |003f: move-result-object v0
005e54: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
005e5a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005e5e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
005e62: 1a00 4000 |0047: const-string v0, "OK" // string@0040
005e66: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005e6c: 0e00 |004c: return-void
005e6e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
005e72: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
005e74: |[005e74] invokecustom.InvokeCustom5.targetMethodTest1:()V
005e84: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005e88: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
005e8c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005e92: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
005e94: |[005e94] invokecustom.InvokeCustom5.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
005ea4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ea8: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
005eae: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005eb2: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
005eb8: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ebc: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
005ec2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ec6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
005ecc: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ed0: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
005ed6: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005eda: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
005ee0: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ee4: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
005eea: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005eee: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
005ef4: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ef8: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005efe: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
005f00: |[005f00] invokecustom.InvokeCustom5.targetMethodTest3:()V
005f10: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005f14: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
005f18: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005f1e: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
005f20: |[005f20] invokecustom.InvokeCustom5.targetMethodTest5:(III)I
005f30: 9000 0405 |0000: add-int v0, v4, v5
005f34: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005f38: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
005f3c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005f42: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
005f46: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005f4c: 0c02 |000e: move-result-object v2
005f4e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005f54: 0c02 |0012: move-result-object v2
005f56: 1a03 0300 |0013: const-string v3, " + " // string@0003
005f5a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005f60: 0c02 |0018: move-result-object v2
005f62: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005f68: 0c02 |001c: move-result-object v2
005f6a: 1a03 0400 |001d: const-string v3, " = " // string@0004
005f6e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005f74: 0c02 |0022: move-result-object v2
005f76: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005f7c: 0c02 |0026: move-result-object v2
005f7e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005f84: 0c02 |002a: move-result-object v2
005f86: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005f8c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
005f90: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005f94: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
005f98: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005f9e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
005fa2: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005fa8: 0c02 |003c: move-result-object v2
005faa: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005fb0: 0c02 |0040: move-result-object v2
005fb2: 1a03 0100 |0041: const-string v3, " != " // string@0001
005fb6: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
005fbc: 0c02 |0046: move-result-object v2
005fbe: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
005fc4: 0c02 |004a: move-result-object v2
005fc6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
005fcc: 0c02 |004e: move-result-object v2
005fce: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
005fd4: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
005fd8: |[005fd8] invokecustom.InvokeCustom5.targetMethodTest6:(JJJ)J
005fe8: 9b00 0608 |0000: add-long v0, v6, v8
005fec: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
005ff0: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
005ff4: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
005ffa: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
005ffe: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006004: 0c03 |000e: move-result-object v3
006006: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00600c: 0c03 |0012: move-result-object v3
00600e: 1a04 0300 |0013: const-string v4, " + " // string@0003
006012: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006018: 0c03 |0018: move-result-object v3
00601a: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006020: 0c03 |001c: move-result-object v3
006022: 1a04 0400 |001d: const-string v4, " = " // string@0004
006026: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00602c: 0c03 |0022: move-result-object v3
00602e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006034: 0c03 |0026: move-result-object v3
006036: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00603c: 0c03 |002a: move-result-object v3
00603e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006044: 3102 000a |002e: cmp-long v2, v0, v10
006048: 3802 2400 |0030: if-eqz v2, 0054 // +0024
00604c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006050: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006054: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00605a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
00605e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006064: 0c03 |003e: move-result-object v3
006066: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00606c: 0c03 |0042: move-result-object v3
00606e: 1a04 0100 |0043: const-string v4, " != " // string@0001
006072: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006078: 0c03 |0048: move-result-object v3
00607a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006080: 0c03 |004c: move-result-object v3
006082: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006088: 0c03 |0050: move-result-object v3
00608a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006090: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
006094: |[006094] invokecustom.InvokeCustom5.targetMethodTest7:(FFD)D
0060a4: a800 0607 |0000: mul-float v0, v6, v7
0060a8: 8900 |0002: float-to-double v0, v0
0060aa: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0060ae: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0060b2: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0060b8: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
0060bc: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0060c2: 0c03 |000f: move-result-object v3
0060c4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0060ca: 0c03 |0013: move-result-object v3
0060cc: 1a04 0200 |0014: const-string v4, " * " // string@0002
0060d0: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0060d6: 0c03 |0019: move-result-object v3
0060d8: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0060de: 0c03 |001d: move-result-object v3
0060e0: 1a04 0400 |001e: const-string v4, " = " // string@0004
0060e4: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0060ea: 0c03 |0023: move-result-object v3
0060ec: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0060f2: 0c03 |0027: move-result-object v3
0060f4: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0060fa: 0c03 |002b: move-result-object v3
0060fc: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006102: 2f02 0008 |002f: cmpl-double v2, v0, v8
006106: 3802 2400 |0031: if-eqz v2, 0055 // +0024
00610a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00610e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006112: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006118: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
00611c: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006122: 0c03 |003f: move-result-object v3
006124: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00612a: 0c03 |0043: move-result-object v3
00612c: 1a04 0100 |0044: const-string v4, " != " // string@0001
006130: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006136: 0c03 |0049: move-result-object v3
006138: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00613e: 0c03 |004d: move-result-object v3
006140: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006146: 0c03 |0051: move-result-object v3
006148: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00614e: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
006150: |[006150] invokecustom.InvokeCustom5.targetMethodTest8:(Ljava/lang/String;)V
006160: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006164: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006168: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00616e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
006172: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006178: 0c01 |000c: move-result-object v1
00617a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006180: 0c01 |0010: move-result-object v1
006182: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006188: 0c01 |0014: move-result-object v1
00618a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006190: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
006194: |[006194] invokecustom.InvokeCustom5.targetMethodTest9:()V
0061a4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0061a8: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
0061ac: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0061b2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom5;)
name : 'test5'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 0
outs : 3
insns size : 35 16-bit code units
0061b4: |[0061b4] invokecustom.InvokeCustom5.test5:()V
0061c4: 1300 e803 |0000: const/16 v0, #int 1000 // #3e8
0061c8: 1301 65fc |0002: const/16 v1, #int -923 // #fc65
0061cc: 1302 4d00 |0004: const/16 v2, #int 77 // #4d
0061d0: fc30 0300 1002 |0006: invoke-custom {v0, v1, v2}, call_site@0003
0061d6: 0a00 |0009: move-result v0
0061d8: 6201 1000 |000a: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0061dc: 2202 1700 |000c: new-instance v2, Ljava/lang/StringBuilder; // type@0017
0061e0: 7010 b400 0200 |000e: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0061e6: 1a03 7900 |0011: const-string v3, "targetMethodTest5 returned: " // string@0079
0061ea: 6e20 ba00 3200 |0013: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0061f0: 0c02 |0016: move-result-object v2
0061f2: 6e20 b700 0200 |0017: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0061f8: 0c00 |001a: move-result-object v0
0061fa: 6e10 bb00 0000 |001b: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006200: 0c00 |001e: move-result-object v0
006202: 6e20 b100 0100 |001f: invoke-virtual {v1, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006208: 0e00 |0022: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom5;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
00620c: |[00620c] invokecustom.InvokeCustom5.helperMethodTest9:()V
00621c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006220: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006224: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00622a: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
00622e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006234: 0c01 |000c: move-result-object v1
006236: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
00623a: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006240: 0c01 |0012: move-result-object v1
006242: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006248: 0c01 |0016: move-result-object v1
00624a: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006250: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom5;
#1 : (in Linvokecustom/InvokeCustom5;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
006254: |[006254] invokecustom.InvokeCustom5.run:()V
006264: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006268: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
00626c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006272: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom5;
#2 : (in Linvokecustom/InvokeCustom5;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
006274: |[006274] invokecustom.InvokeCustom5.targetMethodTest4:()V
006284: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006288: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
00628c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006292: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom5;
source_file_idx : 25 (InvokeCustom.java)
Class #5 -
Class descriptor : 'Linvokecustom/InvokeCustom6;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom6;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom6;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom6;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
006294: |[006294] invokecustom.InvokeCustom6.<clinit>:()V
0062a4: 1200 |0000: const/4 v0, #int 0 // #0
0062a6: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
0062aa: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom6;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
0062ac: |[0062ac] invokecustom.InvokeCustom6.<init>:()V
0062bc: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
0062c2: 1200 |0003: const/4 v0, #int 0 // #0
0062c4: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
0062c8: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom6;
#2 : (in Linvokecustom/InvokeCustom6;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
0062cc: |[0062cc] invokecustom.InvokeCustom6.<init>:(I)V
0062dc: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
0062e2: 1200 |0003: const/4 v0, #int 0 // #0
0062e4: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
0062e8: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0062ec: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0062f0: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0062f6: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
0062fa: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006300: 0c01 |0012: move-result-object v1
006302: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006308: 0c01 |0016: move-result-object v1
00630a: 1a02 0700 |0017: const-string v2, ")" // string@0007
00630e: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006314: 0c01 |001c: move-result-object v1
006316: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00631c: 0c01 |0020: move-result-object v1
00631e: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006324: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom6;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom6;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
006328: |[006328] invokecustom.InvokeCustom6.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
006338: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00633c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006340: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006346: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
00634a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006350: 0c01 |000c: move-result-object v1
006352: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006358: 0c01 |0010: move-result-object v1
00635a: 1a02 5200 |0011: const-string v2, "]" // string@0052
00635e: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006364: 0c01 |0016: move-result-object v1
006366: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00636c: 0c01 |001a: move-result-object v1
00636e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006374: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
006378: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
00637e: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom6;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
006380: |[006380] invokecustom.InvokeCustom6.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
006390: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006394: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
006398: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00639e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0063a4: 0c00 |000a: move-result-object v0
0063a6: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0063ac: 0c01 |000e: move-result-object v1
0063ae: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0063b4: 0c00 |0012: move-result-object v0
0063b6: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0063ba: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0063c0: 0c00 |0018: move-result-object v0
0063c2: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0063c8: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom6;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
0063cc: |[0063cc] invokecustom.InvokeCustom6.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
0063dc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0063e0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0063e4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0063ea: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
0063ee: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0063f4: 0c01 |000c: move-result-object v1
0063f6: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0063fc: 0c01 |0010: move-result-object v1
0063fe: 1a02 0800 |0011: const-string v2, ", " // string@0008
006402: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006408: 0c01 |0016: move-result-object v1
00640a: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006410: 0c01 |001a: move-result-object v1
006412: 1a02 0800 |001b: const-string v2, ", " // string@0008
006416: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00641c: 0c01 |0020: move-result-object v1
00641e: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
006424: 0c01 |0024: move-result-object v1
006426: 1a02 0800 |0025: const-string v2, ", " // string@0008
00642a: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006430: 0c01 |002a: move-result-object v1
006432: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
006438: 0c01 |002e: move-result-object v1
00643a: 1a02 5200 |002f: const-string v2, "]" // string@0052
00643e: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006444: 0c01 |0034: move-result-object v1
006446: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00644c: 0c01 |0038: move-result-object v1
00644e: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006454: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
00645a: 0c00 |003f: move-result-object v0
00645c: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
006462: 0c01 |0043: move-result-object v1
006464: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
00646a: 0c00 |0047: move-result-object v0
00646c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
006470: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
006476: 0c00 |004d: move-result-object v0
006478: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
00647e: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom6;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
006480: |[006480] invokecustom.InvokeCustom6.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
006490: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006494: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006498: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00649e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
0064a2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0064a8: 0c01 |000c: move-result-object v1
0064aa: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0064b0: 0c01 |0010: move-result-object v1
0064b2: 1a02 0800 |0011: const-string v2, ", " // string@0008
0064b6: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0064bc: 0c01 |0016: move-result-object v1
0064be: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0064c4: 0c01 |001a: move-result-object v1
0064c6: 1a02 0800 |001b: const-string v2, ", " // string@0008
0064ca: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0064d0: 0c01 |0020: move-result-object v1
0064d2: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0064d8: 0c01 |0024: move-result-object v1
0064da: 1a02 0800 |0025: const-string v2, ", " // string@0008
0064de: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0064e4: 0c01 |002a: move-result-object v1
0064e6: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0064ec: 0c01 |002e: move-result-object v1
0064ee: 1a02 5200 |002f: const-string v2, "]" // string@0052
0064f2: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0064f8: 0c01 |0034: move-result-object v1
0064fa: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006500: 0c01 |0038: move-result-object v1
006502: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006508: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00650c: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006510: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006516: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00651c: 0c01 |0046: move-result-object v1
00651e: 1a02 0000 |0047: const-string v2, " " // string@0000
006522: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006528: 0c01 |004c: move-result-object v1
00652a: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006530: 0c01 |0050: move-result-object v1
006532: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006538: 0c01 |0054: move-result-object v1
00653a: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006540: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
006546: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
00654a: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
006550: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
006556: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
00655e: 1230 |0067: const/4 v0, #int 3 // #3
006560: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
006568: 0c00 |006c: move-result-object v0
00656a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
006572: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
006578: 0c00 |0074: move-result-object v0
00657a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
006580: 0c01 |0078: move-result-object v1
006582: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
006588: 0c00 |007c: move-result-object v0
00658a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
00658e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
006594: 0c00 |0082: move-result-object v0
006596: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
00659c: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom6;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
0065a0: |[0065a0] invokecustom.InvokeCustom6.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
0065b0: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
0065b6: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
0065be: 0a00 |0007: move-result v0
0065c0: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
0065c8: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
0065d0: 0a01 |0010: move-result v1
0065d2: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0065d6: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0065da: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0065e0: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
0065e4: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0065ea: 0c03 |001d: move-result-object v3
0065ec: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0065f2: 0c00 |0021: move-result-object v0
0065f4: 1a03 0600 |0022: const-string v3, " new " // string@0006
0065f8: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0065fe: 0c00 |0027: move-result-object v0
006600: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
006606: 0c00 |002b: move-result-object v0
006608: 1a03 0500 |002c: const-string v3, " expected " // string@0005
00660c: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006612: 0c00 |0031: move-result-object v0
006614: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00661a: 0c00 |0035: move-result-object v0
00661c: 1a03 0000 |0036: const-string v3, " " // string@0000
006620: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006626: 0c00 |003b: move-result-object v0
006628: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00662e: 0c00 |003f: move-result-object v0
006630: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
006636: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00663a: 2d00 0105 |0045: cmpl-float v0, v1, v5
00663e: 3900 0800 |0047: if-nez v0, 004f // +0008
006642: 1a00 4000 |0049: const-string v0, "OK" // string@0040
006646: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00664c: 0e00 |004e: return-void
00664e: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
006652: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom6;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom6;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
006654: |[006654] invokecustom.InvokeCustom6.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
006664: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
00666a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
006672: 0a00 |0007: move-result v0
006674: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
00667c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
006684: 0a01 |0010: move-result v1
006686: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00668a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00668e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006694: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
006698: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00669e: 0c03 |001d: move-result-object v3
0066a0: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0066a6: 0c00 |0021: move-result-object v0
0066a8: 1a03 0600 |0022: const-string v3, " new " // string@0006
0066ac: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0066b2: 0c00 |0027: move-result-object v0
0066b4: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0066ba: 0c00 |002b: move-result-object v0
0066bc: 1a03 0500 |002c: const-string v3, " expected " // string@0005
0066c0: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0066c6: 0c00 |0031: move-result-object v0
0066c8: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0066ce: 0c00 |0035: move-result-object v0
0066d0: 1a03 0000 |0036: const-string v3, " " // string@0000
0066d4: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0066da: 0c00 |003b: move-result-object v0
0066dc: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0066e2: 0c00 |003f: move-result-object v0
0066e4: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
0066ea: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0066ee: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
0066f2: 1a00 4000 |0047: const-string v0, "OK" // string@0040
0066f6: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0066fc: 0e00 |004c: return-void
0066fe: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
006702: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
006704: |[006704] invokecustom.InvokeCustom6.targetMethodTest1:()V
006714: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006718: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
00671c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006722: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
006724: |[006724] invokecustom.InvokeCustom6.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
006734: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006738: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
00673e: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006742: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
006748: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00674c: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
006752: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006756: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
00675c: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006760: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
006766: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00676a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
006770: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006774: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
00677a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00677e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
006784: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006788: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00678e: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
006790: |[006790] invokecustom.InvokeCustom6.targetMethodTest3:()V
0067a0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0067a4: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
0067a8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0067ae: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
0067b0: |[0067b0] invokecustom.InvokeCustom6.targetMethodTest5:(III)I
0067c0: 9000 0405 |0000: add-int v0, v4, v5
0067c4: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0067c8: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
0067cc: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0067d2: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
0067d6: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0067dc: 0c02 |000e: move-result-object v2
0067de: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0067e4: 0c02 |0012: move-result-object v2
0067e6: 1a03 0300 |0013: const-string v3, " + " // string@0003
0067ea: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0067f0: 0c02 |0018: move-result-object v2
0067f2: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0067f8: 0c02 |001c: move-result-object v2
0067fa: 1a03 0400 |001d: const-string v3, " = " // string@0004
0067fe: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006804: 0c02 |0022: move-result-object v2
006806: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00680c: 0c02 |0026: move-result-object v2
00680e: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006814: 0c02 |002a: move-result-object v2
006816: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00681c: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
006820: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006824: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
006828: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00682e: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
006832: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006838: 0c02 |003c: move-result-object v2
00683a: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006840: 0c02 |0040: move-result-object v2
006842: 1a03 0100 |0041: const-string v3, " != " // string@0001
006846: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00684c: 0c02 |0046: move-result-object v2
00684e: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006854: 0c02 |004a: move-result-object v2
006856: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00685c: 0c02 |004e: move-result-object v2
00685e: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006864: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
006868: |[006868] invokecustom.InvokeCustom6.targetMethodTest6:(JJJ)J
006878: 9b00 0608 |0000: add-long v0, v6, v8
00687c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006880: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006884: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00688a: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
00688e: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006894: 0c03 |000e: move-result-object v3
006896: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00689c: 0c03 |0012: move-result-object v3
00689e: 1a04 0300 |0013: const-string v4, " + " // string@0003
0068a2: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0068a8: 0c03 |0018: move-result-object v3
0068aa: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0068b0: 0c03 |001c: move-result-object v3
0068b2: 1a04 0400 |001d: const-string v4, " = " // string@0004
0068b6: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0068bc: 0c03 |0022: move-result-object v3
0068be: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0068c4: 0c03 |0026: move-result-object v3
0068c6: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0068cc: 0c03 |002a: move-result-object v3
0068ce: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0068d4: 3102 000a |002e: cmp-long v2, v0, v10
0068d8: 3802 2400 |0030: if-eqz v2, 0054 // +0024
0068dc: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0068e0: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0068e4: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0068ea: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
0068ee: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0068f4: 0c03 |003e: move-result-object v3
0068f6: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0068fc: 0c03 |0042: move-result-object v3
0068fe: 1a04 0100 |0043: const-string v4, " != " // string@0001
006902: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006908: 0c03 |0048: move-result-object v3
00690a: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006910: 0c03 |004c: move-result-object v3
006912: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006918: 0c03 |0050: move-result-object v3
00691a: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006920: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
006924: |[006924] invokecustom.InvokeCustom6.targetMethodTest7:(FFD)D
006934: a800 0607 |0000: mul-float v0, v6, v7
006938: 8900 |0002: float-to-double v0, v0
00693a: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00693e: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006942: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006948: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
00694c: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006952: 0c03 |000f: move-result-object v3
006954: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00695a: 0c03 |0013: move-result-object v3
00695c: 1a04 0200 |0014: const-string v4, " * " // string@0002
006960: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006966: 0c03 |0019: move-result-object v3
006968: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00696e: 0c03 |001d: move-result-object v3
006970: 1a04 0400 |001e: const-string v4, " = " // string@0004
006974: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00697a: 0c03 |0023: move-result-object v3
00697c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
006982: 0c03 |0027: move-result-object v3
006984: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00698a: 0c03 |002b: move-result-object v3
00698c: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006992: 2f02 0008 |002f: cmpl-double v2, v0, v8
006996: 3802 2400 |0031: if-eqz v2, 0055 // +0024
00699a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00699e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0069a2: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0069a8: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
0069ac: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0069b2: 0c03 |003f: move-result-object v3
0069b4: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0069ba: 0c03 |0043: move-result-object v3
0069bc: 1a04 0100 |0044: const-string v4, " != " // string@0001
0069c0: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0069c6: 0c03 |0049: move-result-object v3
0069c8: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0069ce: 0c03 |004d: move-result-object v3
0069d0: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0069d6: 0c03 |0051: move-result-object v3
0069d8: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0069de: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
0069e0: |[0069e0] invokecustom.InvokeCustom6.targetMethodTest8:(Ljava/lang/String;)V
0069f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0069f4: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0069f8: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0069fe: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
006a02: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006a08: 0c01 |000c: move-result-object v1
006a0a: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006a10: 0c01 |0010: move-result-object v1
006a12: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006a18: 0c01 |0014: move-result-object v1
006a1a: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006a20: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
006a24: |[006a24] invokecustom.InvokeCustom6.targetMethodTest9:()V
006a34: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006a38: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
006a3c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006a42: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom6;)
name : 'test6'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 6
ins : 0
outs : 6
insns size : 44 16-bit code units
006a44: |[006a44] invokecustom.InvokeCustom6.test6:()V
006a54: 1800 7777 7777 7707 0000 |0000: const-wide v0, #double 4.05612e-311 // #0000077777777777
006a5e: 1802 efee eeee eefe ffff |0005: const-wide v2, #double -nan // #fffffeeeeeeeeeef
006a68: 1804 6666 6666 6606 0000 |000a: const-wide v4, #double 3.47668e-311 // #0000066666666666
006a72: fd06 0400 0000 |000f: invoke-custom/range {v0, v1, v2, v3, v4, v5}, call_site@0004
006a78: 0b00 |0012: move-result-wide v0
006a7a: 6202 1000 |0013: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006a7e: 2203 1700 |0015: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006a82: 7010 b400 0300 |0017: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006a88: 1a04 7c00 |001a: const-string v4, "targetMethodTest6 returned: " // string@007c
006a8c: 6e20 ba00 4300 |001c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006a92: 0c03 |001f: move-result-object v3
006a94: 6e30 b800 0301 |0020: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006a9a: 0c00 |0023: move-result-object v0
006a9c: 6e10 bb00 0000 |0024: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006aa2: 0c00 |0027: move-result-object v0
006aa4: 6e20 b100 0200 |0028: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006aaa: 0e00 |002b: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom6;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
006aac: |[006aac] invokecustom.InvokeCustom6.helperMethodTest9:()V
006abc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006ac0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006ac4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006aca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
006ace: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006ad4: 0c01 |000c: move-result-object v1
006ad6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
006ada: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006ae0: 0c01 |0012: move-result-object v1
006ae2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006ae8: 0c01 |0016: move-result-object v1
006aea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006af0: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom6;
#1 : (in Linvokecustom/InvokeCustom6;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
006af4: |[006af4] invokecustom.InvokeCustom6.run:()V
006b04: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006b08: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
006b0c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006b12: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom6;
#2 : (in Linvokecustom/InvokeCustom6;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
006b14: |[006b14] invokecustom.InvokeCustom6.targetMethodTest4:()V
006b24: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006b28: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
006b2c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006b32: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom6;
source_file_idx : 25 (InvokeCustom.java)
Class #6 -
Class descriptor : 'Linvokecustom/InvokeCustom7;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom7;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom7;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom7;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
006b34: |[006b34] invokecustom.InvokeCustom7.<clinit>:()V
006b44: 1200 |0000: const/4 v0, #int 0 // #0
006b46: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
006b4a: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom7;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
006b4c: |[006b4c] invokecustom.InvokeCustom7.<init>:()V
006b5c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
006b62: 1200 |0003: const/4 v0, #int 0 // #0
006b64: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
006b68: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom7;
#2 : (in Linvokecustom/InvokeCustom7;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
006b6c: |[006b6c] invokecustom.InvokeCustom7.<init>:(I)V
006b7c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
006b82: 1200 |0003: const/4 v0, #int 0 // #0
006b84: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
006b88: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006b8c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006b90: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006b96: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
006b9a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006ba0: 0c01 |0012: move-result-object v1
006ba2: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006ba8: 0c01 |0016: move-result-object v1
006baa: 1a02 0700 |0017: const-string v2, ")" // string@0007
006bae: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006bb4: 0c01 |001c: move-result-object v1
006bb6: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006bbc: 0c01 |0020: move-result-object v1
006bbe: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006bc4: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom7;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom7;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
006bc8: |[006bc8] invokecustom.InvokeCustom7.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
006bd8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006bdc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006be0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006be6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
006bea: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006bf0: 0c01 |000c: move-result-object v1
006bf2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006bf8: 0c01 |0010: move-result-object v1
006bfa: 1a02 5200 |0011: const-string v2, "]" // string@0052
006bfe: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006c04: 0c01 |0016: move-result-object v1
006c06: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006c0c: 0c01 |001a: move-result-object v1
006c0e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006c14: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
006c18: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
006c1e: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom7;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
006c20: |[006c20] invokecustom.InvokeCustom7.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
006c30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006c34: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
006c38: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006c3e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
006c44: 0c00 |000a: move-result-object v0
006c46: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
006c4c: 0c01 |000e: move-result-object v1
006c4e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
006c54: 0c00 |0012: move-result-object v0
006c56: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
006c5a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
006c60: 0c00 |0018: move-result-object v0
006c62: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
006c68: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom7;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
006c6c: |[006c6c] invokecustom.InvokeCustom7.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
006c7c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006c80: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006c84: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006c8a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
006c8e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006c94: 0c01 |000c: move-result-object v1
006c96: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006c9c: 0c01 |0010: move-result-object v1
006c9e: 1a02 0800 |0011: const-string v2, ", " // string@0008
006ca2: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006ca8: 0c01 |0016: move-result-object v1
006caa: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
006cb0: 0c01 |001a: move-result-object v1
006cb2: 1a02 0800 |001b: const-string v2, ", " // string@0008
006cb6: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006cbc: 0c01 |0020: move-result-object v1
006cbe: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
006cc4: 0c01 |0024: move-result-object v1
006cc6: 1a02 0800 |0025: const-string v2, ", " // string@0008
006cca: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006cd0: 0c01 |002a: move-result-object v1
006cd2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
006cd8: 0c01 |002e: move-result-object v1
006cda: 1a02 5200 |002f: const-string v2, "]" // string@0052
006cde: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006ce4: 0c01 |0034: move-result-object v1
006ce6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006cec: 0c01 |0038: move-result-object v1
006cee: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006cf4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
006cfa: 0c00 |003f: move-result-object v0
006cfc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
006d02: 0c01 |0043: move-result-object v1
006d04: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
006d0a: 0c00 |0047: move-result-object v0
006d0c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
006d10: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
006d16: 0c00 |004d: move-result-object v0
006d18: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
006d1e: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom7;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
006d20: |[006d20] invokecustom.InvokeCustom7.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
006d30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006d34: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006d38: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006d3e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
006d42: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006d48: 0c01 |000c: move-result-object v1
006d4a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006d50: 0c01 |0010: move-result-object v1
006d52: 1a02 0800 |0011: const-string v2, ", " // string@0008
006d56: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006d5c: 0c01 |0016: move-result-object v1
006d5e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006d64: 0c01 |001a: move-result-object v1
006d66: 1a02 0800 |001b: const-string v2, ", " // string@0008
006d6a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006d70: 0c01 |0020: move-result-object v1
006d72: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006d78: 0c01 |0024: move-result-object v1
006d7a: 1a02 0800 |0025: const-string v2, ", " // string@0008
006d7e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006d84: 0c01 |002a: move-result-object v1
006d86: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006d8c: 0c01 |002e: move-result-object v1
006d8e: 1a02 5200 |002f: const-string v2, "]" // string@0052
006d92: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006d98: 0c01 |0034: move-result-object v1
006d9a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006da0: 0c01 |0038: move-result-object v1
006da2: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006da8: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006dac: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
006db0: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006db6: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006dbc: 0c01 |0046: move-result-object v1
006dbe: 1a02 0000 |0047: const-string v2, " " // string@0000
006dc2: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006dc8: 0c01 |004c: move-result-object v1
006dca: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
006dd0: 0c01 |0050: move-result-object v1
006dd2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006dd8: 0c01 |0054: move-result-object v1
006dda: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006de0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
006de6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
006dea: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
006df0: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
006df6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
006dfe: 1230 |0067: const/4 v0, #int 3 // #3
006e00: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
006e08: 0c00 |006c: move-result-object v0
006e0a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
006e12: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
006e18: 0c00 |0074: move-result-object v0
006e1a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
006e20: 0c01 |0078: move-result-object v1
006e22: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
006e28: 0c00 |007c: move-result-object v0
006e2a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
006e2e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
006e34: 0c00 |0082: move-result-object v0
006e36: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
006e3c: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom7;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
006e40: |[006e40] invokecustom.InvokeCustom7.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
006e50: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
006e56: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
006e5e: 0a00 |0007: move-result v0
006e60: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
006e68: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
006e70: 0a01 |0010: move-result v1
006e72: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006e76: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006e7a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006e80: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
006e84: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006e8a: 0c03 |001d: move-result-object v3
006e8c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
006e92: 0c00 |0021: move-result-object v0
006e94: 1a03 0600 |0022: const-string v3, " new " // string@0006
006e98: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006e9e: 0c00 |0027: move-result-object v0
006ea0: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
006ea6: 0c00 |002b: move-result-object v0
006ea8: 1a03 0500 |002c: const-string v3, " expected " // string@0005
006eac: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006eb2: 0c00 |0031: move-result-object v0
006eb4: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
006eba: 0c00 |0035: move-result-object v0
006ebc: 1a03 0000 |0036: const-string v3, " " // string@0000
006ec0: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006ec6: 0c00 |003b: move-result-object v0
006ec8: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006ece: 0c00 |003f: move-result-object v0
006ed0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
006ed6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006eda: 2d00 0105 |0045: cmpl-float v0, v1, v5
006ede: 3900 0800 |0047: if-nez v0, 004f // +0008
006ee2: 1a00 4000 |0049: const-string v0, "OK" // string@0040
006ee6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006eec: 0e00 |004e: return-void
006eee: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
006ef2: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom7;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom7;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
006ef4: |[006ef4] invokecustom.InvokeCustom7.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
006f04: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
006f0a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
006f12: 0a00 |0007: move-result v0
006f14: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
006f1c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
006f24: 0a01 |0010: move-result v1
006f26: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006f2a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
006f2e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
006f34: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
006f38: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006f3e: 0c03 |001d: move-result-object v3
006f40: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006f46: 0c00 |0021: move-result-object v0
006f48: 1a03 0600 |0022: const-string v3, " new " // string@0006
006f4c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006f52: 0c00 |0027: move-result-object v0
006f54: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006f5a: 0c00 |002b: move-result-object v0
006f5c: 1a03 0500 |002c: const-string v3, " expected " // string@0005
006f60: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006f66: 0c00 |0031: move-result-object v0
006f68: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
006f6e: 0c00 |0035: move-result-object v0
006f70: 1a03 0000 |0036: const-string v3, " " // string@0000
006f74: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
006f7a: 0c00 |003b: move-result-object v0
006f7c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
006f82: 0c00 |003f: move-result-object v0
006f84: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
006f8a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006f8e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
006f92: 1a00 4000 |0047: const-string v0, "OK" // string@0040
006f96: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006f9c: 0e00 |004c: return-void
006f9e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
006fa2: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
006fa4: |[006fa4] invokecustom.InvokeCustom7.targetMethodTest1:()V
006fb4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006fb8: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
006fbc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
006fc2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
006fc4: |[006fc4] invokecustom.InvokeCustom7.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
006fd4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006fd8: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
006fde: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006fe2: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
006fe8: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006fec: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
006ff2: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
006ff6: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
006ffc: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007000: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
007006: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00700a: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
007010: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007014: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
00701a: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00701e: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
007024: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007028: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00702e: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
007030: |[007030] invokecustom.InvokeCustom7.targetMethodTest3:()V
007040: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007044: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
007048: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00704e: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
007050: |[007050] invokecustom.InvokeCustom7.targetMethodTest5:(III)I
007060: 9000 0405 |0000: add-int v0, v4, v5
007064: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007068: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
00706c: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007072: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
007076: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00707c: 0c02 |000e: move-result-object v2
00707e: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007084: 0c02 |0012: move-result-object v2
007086: 1a03 0300 |0013: const-string v3, " + " // string@0003
00708a: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007090: 0c02 |0018: move-result-object v2
007092: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007098: 0c02 |001c: move-result-object v2
00709a: 1a03 0400 |001d: const-string v3, " = " // string@0004
00709e: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0070a4: 0c02 |0022: move-result-object v2
0070a6: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0070ac: 0c02 |0026: move-result-object v2
0070ae: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0070b4: 0c02 |002a: move-result-object v2
0070b6: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0070bc: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
0070c0: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0070c4: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
0070c8: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0070ce: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
0070d2: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0070d8: 0c02 |003c: move-result-object v2
0070da: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0070e0: 0c02 |0040: move-result-object v2
0070e2: 1a03 0100 |0041: const-string v3, " != " // string@0001
0070e6: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0070ec: 0c02 |0046: move-result-object v2
0070ee: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0070f4: 0c02 |004a: move-result-object v2
0070f6: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0070fc: 0c02 |004e: move-result-object v2
0070fe: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007104: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
007108: |[007108] invokecustom.InvokeCustom7.targetMethodTest6:(JJJ)J
007118: 9b00 0608 |0000: add-long v0, v6, v8
00711c: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007120: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007124: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00712a: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
00712e: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007134: 0c03 |000e: move-result-object v3
007136: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00713c: 0c03 |0012: move-result-object v3
00713e: 1a04 0300 |0013: const-string v4, " + " // string@0003
007142: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007148: 0c03 |0018: move-result-object v3
00714a: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
007150: 0c03 |001c: move-result-object v3
007152: 1a04 0400 |001d: const-string v4, " = " // string@0004
007156: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00715c: 0c03 |0022: move-result-object v3
00715e: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
007164: 0c03 |0026: move-result-object v3
007166: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00716c: 0c03 |002a: move-result-object v3
00716e: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007174: 3102 000a |002e: cmp-long v2, v0, v10
007178: 3802 2400 |0030: if-eqz v2, 0054 // +0024
00717c: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007180: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007184: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00718a: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
00718e: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007194: 0c03 |003e: move-result-object v3
007196: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00719c: 0c03 |0042: move-result-object v3
00719e: 1a04 0100 |0043: const-string v4, " != " // string@0001
0071a2: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0071a8: 0c03 |0048: move-result-object v3
0071aa: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0071b0: 0c03 |004c: move-result-object v3
0071b2: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0071b8: 0c03 |0050: move-result-object v3
0071ba: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0071c0: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
0071c4: |[0071c4] invokecustom.InvokeCustom7.targetMethodTest7:(FFD)D
0071d4: a800 0607 |0000: mul-float v0, v6, v7
0071d8: 8900 |0002: float-to-double v0, v0
0071da: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0071de: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0071e2: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0071e8: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
0071ec: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0071f2: 0c03 |000f: move-result-object v3
0071f4: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
0071fa: 0c03 |0013: move-result-object v3
0071fc: 1a04 0200 |0014: const-string v4, " * " // string@0002
007200: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007206: 0c03 |0019: move-result-object v3
007208: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00720e: 0c03 |001d: move-result-object v3
007210: 1a04 0400 |001e: const-string v4, " = " // string@0004
007214: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00721a: 0c03 |0023: move-result-object v3
00721c: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007222: 0c03 |0027: move-result-object v3
007224: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00722a: 0c03 |002b: move-result-object v3
00722c: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007232: 2f02 0008 |002f: cmpl-double v2, v0, v8
007236: 3802 2400 |0031: if-eqz v2, 0055 // +0024
00723a: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00723e: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007242: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007248: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
00724c: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007252: 0c03 |003f: move-result-object v3
007254: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00725a: 0c03 |0043: move-result-object v3
00725c: 1a04 0100 |0044: const-string v4, " != " // string@0001
007260: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007266: 0c03 |0049: move-result-object v3
007268: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00726e: 0c03 |004d: move-result-object v3
007270: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007276: 0c03 |0051: move-result-object v3
007278: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00727e: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
007280: |[007280] invokecustom.InvokeCustom7.targetMethodTest8:(Ljava/lang/String;)V
007290: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007294: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007298: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00729e: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
0072a2: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0072a8: 0c01 |000c: move-result-object v1
0072aa: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0072b0: 0c01 |0010: move-result-object v1
0072b2: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0072b8: 0c01 |0014: move-result-object v1
0072ba: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0072c0: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0072c4: |[0072c4] invokecustom.InvokeCustom7.targetMethodTest9:()V
0072d4: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0072d8: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
0072dc: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0072e2: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom7;)
name : 'test7'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 0
outs : 4
insns size : 40 16-bit code units
0072e4: |[0072e4] invokecustom.InvokeCustom7.test7:()V
0072f4: 1400 0040 003f |0000: const v0, #float 0.500977 // #3f004000
0072fa: 1401 0040 00bf |0003: const v1, #float -0.500977 // #bf004000
007300: 1802 0000 0000 0410 d0bf |0006: const-wide v2, #double -0.250978 // #bfd0100400000000
00730a: fc40 0500 1032 |000b: invoke-custom {v0, v1, v2, v3}, call_site@0005
007310: 0b00 |000e: move-result-wide v0
007312: 6202 1000 |000f: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007316: 2203 1700 |0011: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00731a: 7010 b400 0300 |0013: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007320: 1a04 7c00 |0016: const-string v4, "targetMethodTest6 returned: " // string@007c
007324: 6e20 ba00 4300 |0018: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00732a: 0c03 |001b: move-result-object v3
00732c: 6e30 b500 0301 |001c: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007332: 0c00 |001f: move-result-object v0
007334: 6e10 bb00 0000 |0020: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00733a: 0c00 |0023: move-result-object v0
00733c: 6e20 b100 0200 |0024: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007342: 0e00 |0027: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom7;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
007344: |[007344] invokecustom.InvokeCustom7.helperMethodTest9:()V
007354: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007358: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
00735c: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007362: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
007366: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00736c: 0c01 |000c: move-result-object v1
00736e: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
007372: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007378: 0c01 |0012: move-result-object v1
00737a: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007380: 0c01 |0016: move-result-object v1
007382: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007388: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom7;
#1 : (in Linvokecustom/InvokeCustom7;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
00738c: |[00738c] invokecustom.InvokeCustom7.run:()V
00739c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0073a0: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
0073a4: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0073aa: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom7;
#2 : (in Linvokecustom/InvokeCustom7;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
0073ac: |[0073ac] invokecustom.InvokeCustom7.targetMethodTest4:()V
0073bc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0073c0: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
0073c4: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0073ca: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom7;
source_file_idx : 25 (InvokeCustom.java)
Class #7 -
Class descriptor : 'Linvokecustom/InvokeCustom8;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom8;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom8;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom8;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
0073cc: |[0073cc] invokecustom.InvokeCustom8.<clinit>:()V
0073dc: 1200 |0000: const/4 v0, #int 0 // #0
0073de: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
0073e2: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom8;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
0073e4: |[0073e4] invokecustom.InvokeCustom8.<init>:()V
0073f4: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
0073fa: 1200 |0003: const/4 v0, #int 0 // #0
0073fc: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
007400: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom8;
#2 : (in Linvokecustom/InvokeCustom8;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
007404: |[007404] invokecustom.InvokeCustom8.<init>:(I)V
007414: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
00741a: 1200 |0003: const/4 v0, #int 0 // #0
00741c: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
007420: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007424: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007428: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00742e: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
007432: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007438: 0c01 |0012: move-result-object v1
00743a: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007440: 0c01 |0016: move-result-object v1
007442: 1a02 0700 |0017: const-string v2, ")" // string@0007
007446: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00744c: 0c01 |001c: move-result-object v1
00744e: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007454: 0c01 |0020: move-result-object v1
007456: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00745c: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom8;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom8;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
007460: |[007460] invokecustom.InvokeCustom8.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
007470: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007474: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007478: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00747e: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
007482: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007488: 0c01 |000c: move-result-object v1
00748a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007490: 0c01 |0010: move-result-object v1
007492: 1a02 5200 |0011: const-string v2, "]" // string@0052
007496: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00749c: 0c01 |0016: move-result-object v1
00749e: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0074a4: 0c01 |001a: move-result-object v1
0074a6: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0074ac: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
0074b0: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0074b6: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom8;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
0074b8: |[0074b8] invokecustom.InvokeCustom8.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
0074c8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0074cc: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
0074d0: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0074d6: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0074dc: 0c00 |000a: move-result-object v0
0074de: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0074e4: 0c01 |000e: move-result-object v1
0074e6: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0074ec: 0c00 |0012: move-result-object v0
0074ee: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0074f2: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0074f8: 0c00 |0018: move-result-object v0
0074fa: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
007500: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom8;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
007504: |[007504] invokecustom.InvokeCustom8.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
007514: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007518: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
00751c: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007522: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
007526: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00752c: 0c01 |000c: move-result-object v1
00752e: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007534: 0c01 |0010: move-result-object v1
007536: 1a02 0800 |0011: const-string v2, ", " // string@0008
00753a: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007540: 0c01 |0016: move-result-object v1
007542: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
007548: 0c01 |001a: move-result-object v1
00754a: 1a02 0800 |001b: const-string v2, ", " // string@0008
00754e: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007554: 0c01 |0020: move-result-object v1
007556: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00755c: 0c01 |0024: move-result-object v1
00755e: 1a02 0800 |0025: const-string v2, ", " // string@0008
007562: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007568: 0c01 |002a: move-result-object v1
00756a: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007570: 0c01 |002e: move-result-object v1
007572: 1a02 5200 |002f: const-string v2, "]" // string@0052
007576: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00757c: 0c01 |0034: move-result-object v1
00757e: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007584: 0c01 |0038: move-result-object v1
007586: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00758c: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
007592: 0c00 |003f: move-result-object v0
007594: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
00759a: 0c01 |0043: move-result-object v1
00759c: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0075a2: 0c00 |0047: move-result-object v0
0075a4: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0075a8: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0075ae: 0c00 |004d: move-result-object v0
0075b0: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0075b6: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom8;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
0075b8: |[0075b8] invokecustom.InvokeCustom8.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
0075c8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0075cc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0075d0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0075d6: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
0075da: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0075e0: 0c01 |000c: move-result-object v1
0075e2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0075e8: 0c01 |0010: move-result-object v1
0075ea: 1a02 0800 |0011: const-string v2, ", " // string@0008
0075ee: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0075f4: 0c01 |0016: move-result-object v1
0075f6: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
0075fc: 0c01 |001a: move-result-object v1
0075fe: 1a02 0800 |001b: const-string v2, ", " // string@0008
007602: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007608: 0c01 |0020: move-result-object v1
00760a: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007610: 0c01 |0024: move-result-object v1
007612: 1a02 0800 |0025: const-string v2, ", " // string@0008
007616: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00761c: 0c01 |002a: move-result-object v1
00761e: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007624: 0c01 |002e: move-result-object v1
007626: 1a02 5200 |002f: const-string v2, "]" // string@0052
00762a: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007630: 0c01 |0034: move-result-object v1
007632: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007638: 0c01 |0038: move-result-object v1
00763a: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007640: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007644: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007648: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00764e: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007654: 0c01 |0046: move-result-object v1
007656: 1a02 0000 |0047: const-string v2, " " // string@0000
00765a: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007660: 0c01 |004c: move-result-object v1
007662: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007668: 0c01 |0050: move-result-object v1
00766a: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007670: 0c01 |0054: move-result-object v1
007672: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007678: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
00767e: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
007682: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
007688: 6f30 9a00 8009 |0060: invoke-super {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
00768e: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
007696: 1230 |0067: const/4 v0, #int 3 // #3
007698: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
0076a0: 0c00 |006c: move-result-object v0
0076a2: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
0076aa: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
0076b0: 0c00 |0074: move-result-object v0
0076b2: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
0076b8: 0c01 |0078: move-result-object v1
0076ba: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
0076c0: 0c00 |007c: move-result-object v0
0076c2: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
0076c6: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
0076cc: 0c00 |0082: move-result-object v0
0076ce: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
0076d4: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom8;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
0076d8: |[0076d8] invokecustom.InvokeCustom8.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
0076e8: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
0076ee: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
0076f6: 0a00 |0007: move-result v0
0076f8: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
007700: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
007708: 0a01 |0010: move-result v1
00770a: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00770e: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007712: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007718: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
00771c: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007722: 0c03 |001d: move-result-object v3
007724: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00772a: 0c00 |0021: move-result-object v0
00772c: 1a03 0600 |0022: const-string v3, " new " // string@0006
007730: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007736: 0c00 |0027: move-result-object v0
007738: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00773e: 0c00 |002b: move-result-object v0
007740: 1a03 0500 |002c: const-string v3, " expected " // string@0005
007744: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00774a: 0c00 |0031: move-result-object v0
00774c: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007752: 0c00 |0035: move-result-object v0
007754: 1a03 0000 |0036: const-string v3, " " // string@0000
007758: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00775e: 0c00 |003b: move-result-object v0
007760: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007766: 0c00 |003f: move-result-object v0
007768: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
00776e: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007772: 2d00 0105 |0045: cmpl-float v0, v1, v5
007776: 3900 0800 |0047: if-nez v0, 004f // +0008
00777a: 1a00 4000 |0049: const-string v0, "OK" // string@0040
00777e: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007784: 0e00 |004e: return-void
007786: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
00778a: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom8;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom8;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
00778c: |[00778c] invokecustom.InvokeCustom8.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
00779c: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
0077a2: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0077aa: 0a00 |0007: move-result v0
0077ac: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
0077b4: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
0077bc: 0a01 |0010: move-result v1
0077be: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0077c2: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0077c6: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0077cc: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
0077d0: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0077d6: 0c03 |001d: move-result-object v3
0077d8: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0077de: 0c00 |0021: move-result-object v0
0077e0: 1a03 0600 |0022: const-string v3, " new " // string@0006
0077e4: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0077ea: 0c00 |0027: move-result-object v0
0077ec: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0077f2: 0c00 |002b: move-result-object v0
0077f4: 1a03 0500 |002c: const-string v3, " expected " // string@0005
0077f8: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0077fe: 0c00 |0031: move-result-object v0
007800: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007806: 0c00 |0035: move-result-object v0
007808: 1a03 0000 |0036: const-string v3, " " // string@0000
00780c: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007812: 0c00 |003b: move-result-object v0
007814: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00781a: 0c00 |003f: move-result-object v0
00781c: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
007822: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007826: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
00782a: 1a00 4000 |0047: const-string v0, "OK" // string@0040
00782e: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007834: 0e00 |004c: return-void
007836: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
00783a: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
00783c: |[00783c] invokecustom.InvokeCustom8.targetMethodTest1:()V
00784c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007850: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
007854: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00785a: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#10 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
00785c: |[00785c] invokecustom.InvokeCustom8.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
00786c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007870: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
007876: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00787a: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
007880: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007884: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
00788a: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00788e: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
007894: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007898: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
00789e: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0078a2: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
0078a8: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0078ac: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
0078b2: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0078b6: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
0078bc: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0078c0: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0078c6: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#11 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0078c8: |[0078c8] invokecustom.InvokeCustom8.targetMethodTest3:()V
0078d8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0078dc: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
0078e0: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0078e6: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#12 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
0078e8: |[0078e8] invokecustom.InvokeCustom8.targetMethodTest5:(III)I
0078f8: 9000 0405 |0000: add-int v0, v4, v5
0078fc: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007900: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
007904: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00790a: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
00790e: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007914: 0c02 |000e: move-result-object v2
007916: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00791c: 0c02 |0012: move-result-object v2
00791e: 1a03 0300 |0013: const-string v3, " + " // string@0003
007922: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007928: 0c02 |0018: move-result-object v2
00792a: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007930: 0c02 |001c: move-result-object v2
007932: 1a03 0400 |001d: const-string v3, " = " // string@0004
007936: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00793c: 0c02 |0022: move-result-object v2
00793e: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007944: 0c02 |0026: move-result-object v2
007946: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00794c: 0c02 |002a: move-result-object v2
00794e: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007954: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
007958: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00795c: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
007960: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007966: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
00796a: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007970: 0c02 |003c: move-result-object v2
007972: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007978: 0c02 |0040: move-result-object v2
00797a: 1a03 0100 |0041: const-string v3, " != " // string@0001
00797e: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007984: 0c02 |0046: move-result-object v2
007986: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00798c: 0c02 |004a: move-result-object v2
00798e: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007994: 0c02 |004e: move-result-object v2
007996: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00799c: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#13 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
0079a0: |[0079a0] invokecustom.InvokeCustom8.targetMethodTest6:(JJJ)J
0079b0: 9b00 0608 |0000: add-long v0, v6, v8
0079b4: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0079b8: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0079bc: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0079c2: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
0079c6: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0079cc: 0c03 |000e: move-result-object v3
0079ce: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0079d4: 0c03 |0012: move-result-object v3
0079d6: 1a04 0300 |0013: const-string v4, " + " // string@0003
0079da: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0079e0: 0c03 |0018: move-result-object v3
0079e2: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0079e8: 0c03 |001c: move-result-object v3
0079ea: 1a04 0400 |001d: const-string v4, " = " // string@0004
0079ee: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0079f4: 0c03 |0022: move-result-object v3
0079f6: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0079fc: 0c03 |0026: move-result-object v3
0079fe: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007a04: 0c03 |002a: move-result-object v3
007a06: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007a0c: 3102 000a |002e: cmp-long v2, v0, v10
007a10: 3802 2400 |0030: if-eqz v2, 0054 // +0024
007a14: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007a18: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007a1c: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007a22: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
007a26: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007a2c: 0c03 |003e: move-result-object v3
007a2e: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
007a34: 0c03 |0042: move-result-object v3
007a36: 1a04 0100 |0043: const-string v4, " != " // string@0001
007a3a: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007a40: 0c03 |0048: move-result-object v3
007a42: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
007a48: 0c03 |004c: move-result-object v3
007a4a: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007a50: 0c03 |0050: move-result-object v3
007a52: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007a58: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#14 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
007a5c: |[007a5c] invokecustom.InvokeCustom8.targetMethodTest7:(FFD)D
007a6c: a800 0607 |0000: mul-float v0, v6, v7
007a70: 8900 |0002: float-to-double v0, v0
007a72: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007a76: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007a7a: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007a80: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
007a84: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007a8a: 0c03 |000f: move-result-object v3
007a8c: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007a92: 0c03 |0013: move-result-object v3
007a94: 1a04 0200 |0014: const-string v4, " * " // string@0002
007a98: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007a9e: 0c03 |0019: move-result-object v3
007aa0: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007aa6: 0c03 |001d: move-result-object v3
007aa8: 1a04 0400 |001e: const-string v4, " = " // string@0004
007aac: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007ab2: 0c03 |0023: move-result-object v3
007ab4: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007aba: 0c03 |0027: move-result-object v3
007abc: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007ac2: 0c03 |002b: move-result-object v3
007ac4: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007aca: 2f02 0008 |002f: cmpl-double v2, v0, v8
007ace: 3802 2400 |0031: if-eqz v2, 0055 // +0024
007ad2: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007ad6: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007ada: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007ae0: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
007ae4: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007aea: 0c03 |003f: move-result-object v3
007aec: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007af2: 0c03 |0043: move-result-object v3
007af4: 1a04 0100 |0044: const-string v4, " != " // string@0001
007af8: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007afe: 0c03 |0049: move-result-object v3
007b00: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007b06: 0c03 |004d: move-result-object v3
007b08: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007b0e: 0c03 |0051: move-result-object v3
007b10: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007b16: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#15 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
007b18: |[007b18] invokecustom.InvokeCustom8.targetMethodTest8:(Ljava/lang/String;)V
007b28: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007b2c: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007b30: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007b36: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
007b3a: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007b40: 0c01 |000c: move-result-object v1
007b42: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007b48: 0c01 |0010: move-result-object v1
007b4a: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007b50: 0c01 |0014: move-result-object v1
007b52: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007b58: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#16 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
007b5c: |[007b5c] invokecustom.InvokeCustom8.targetMethodTest9:()V
007b6c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007b70: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
007b74: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007b7a: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
#17 : (in Linvokecustom/InvokeCustom8;)
name : 'test8'
type : '()V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 1
ins : 0
outs : 1
insns size : 16 16-bit code units
007b7c: |[007b7c] invokecustom.InvokeCustom8.test8:()V
007b8c: 1a00 1400 |0000: const-string v0, "First invokedynamic invocation" // string@0014
007b90: fc10 0600 0000 |0002: invoke-custom {v0}, call_site@0006
007b96: 1a00 4200 |0005: const-string v0, "Second invokedynamic invocation" // string@0042
007b9a: fc10 0700 0000 |0007: invoke-custom {v0}, call_site@0007
007ba0: 1a00 0f00 |000a: const-string v0, "Dupe first invokedynamic invocation" // string@000f
007ba4: fc10 0800 0000 |000c: invoke-custom {v0}, call_site@0008
007baa: 0e00 |000f: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom8;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
007bac: |[007bac] invokecustom.InvokeCustom8.helperMethodTest9:()V
007bbc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007bc0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007bc4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007bca: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
007bce: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007bd4: 0c01 |000c: move-result-object v1
007bd6: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
007bda: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007be0: 0c01 |0012: move-result-object v1
007be2: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007be8: 0c01 |0016: move-result-object v1
007bea: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007bf0: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom8;
#1 : (in Linvokecustom/InvokeCustom8;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
007bf4: |[007bf4] invokecustom.InvokeCustom8.run:()V
007c04: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007c08: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
007c0c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007c12: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom8;
#2 : (in Linvokecustom/InvokeCustom8;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
007c14: |[007c14] invokecustom.InvokeCustom8.targetMethodTest4:()V
007c24: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007c28: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
007c2c: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007c32: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom8;
source_file_idx : 25 (InvokeCustom.java)
Class #8 -
Class descriptor : 'Linvokecustom/InvokeCustom;'
Access flags : 0x0001 (PUBLIC)
Superclass : 'Linvokecustom/Super;'
Interfaces -
#0 : 'Ljava/lang/Runnable;'
Static fields -
#0 : (in Linvokecustom/InvokeCustom;)
name : 'staticFieldTest9'
type : 'I'
access : 0x000a (PRIVATE STATIC)
Instance fields -
#0 : (in Linvokecustom/InvokeCustom;)
name : 'fieldTest9'
type : 'F'
access : 0x0002 (PRIVATE)
Direct methods -
#0 : (in Linvokecustom/InvokeCustom;)
name : '<clinit>'
type : '()V'
access : 0x10008 (STATIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 0
insns size : 4 16-bit code units
007c34: |[007c34] invokecustom.InvokeCustom.<clinit>:()V
007c44: 1200 |0000: const/4 v0, #int 0 // #0
007c46: 6700 0f00 |0001: sput v0, Linvokecustom/InvokeCustom;.staticFieldTest9:I // field@000f
007c4a: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=98
locals :
#1 : (in Linvokecustom/InvokeCustom;)
name : '<init>'
type : '()V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 2
ins : 1
outs : 1
insns size : 7 16-bit code units
007c4c: |[007c4c] invokecustom.InvokeCustom.<init>:()V
007c5c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.<init>:()V // method@00a8
007c62: 1200 |0003: const/4 v0, #int 0 // #0
007c64: 5910 0e00 |0004: iput v0, v1, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
007c68: 0e00 |0006: return-void
catches : (none)
positions :
0x0000 line=35
0x0003 line=111
0x0006 line=35
locals :
0x0000 - 0x0007 reg=1 this Linvokecustom/InvokeCustom;
#2 : (in Linvokecustom/InvokeCustom;)
name : '<init>'
type : '(I)V'
access : 0x10001 (PUBLIC CONSTRUCTOR)
code -
registers : 5
ins : 2
outs : 2
insns size : 37 16-bit code units
007c6c: |[007c6c] invokecustom.InvokeCustom.<init>:(I)V
007c7c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.<init>:()V // method@00a8
007c82: 1200 |0003: const/4 v0, #int 0 // #0
007c84: 5930 0e00 |0004: iput v0, v3, Linvokecustom/InvokeCustom;.fieldTest9:F // field@000e
007c88: 6200 1000 |0006: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007c8c: 2201 1700 |0008: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007c90: 7010 b400 0100 |000a: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007c96: 1a02 1800 |000d: const-string v2, "InvokeCustom.<init>(" // string@0018
007c9a: 6e20 ba00 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007ca0: 0c01 |0012: move-result-object v1
007ca2: 6e20 b700 4100 |0013: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007ca8: 0c01 |0016: move-result-object v1
007caa: 1a02 0700 |0017: const-string v2, ")" // string@0007
007cae: 6e20 ba00 2100 |0019: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007cb4: 0c01 |001c: move-result-object v1
007cb6: 6e10 bb00 0100 |001d: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007cbc: 0c01 |0020: move-result-object v1
007cbe: 6e20 b100 1000 |0021: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007cc4: 0e00 |0024: return-void
catches : (none)
positions :
0x0000 line=36
0x0003 line=111
0x0006 line=37
0x0024 line=38
locals :
0x0000 - 0x0025 reg=3 this Linvokecustom/InvokeCustom;
0x0000 - 0x0025 reg=4 (null) I
#3 : (in Linvokecustom/InvokeCustom;)
name : 'bsmCreateCallSite'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 4
outs : 2
insns size : 36 16-bit code units
007cc8: |[007cc8] invokecustom.InvokeCustom.bsmCreateCallSite:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
007cd8: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007cdc: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007ce0: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007ce6: 1a02 5600 |0007: const-string v2, "bsmCreateCallSite [" // string@0056
007cea: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007cf0: 0c01 |000c: move-result-object v1
007cf2: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007cf8: 0c01 |0010: move-result-object v1
007cfa: 1a02 5200 |0011: const-string v2, "]" // string@0052
007cfe: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007d04: 0c01 |0016: move-result-object v1
007d06: 6e10 bb00 0100 |0017: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007d0c: 0c01 |001a: move-result-object v1
007d0e: 6e20 b100 1000 |001b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007d14: 2200 1b00 |001e: new-instance v0, Ljava/lang/invoke/ConstantCallSite; // type@001b
007d18: 7020 bc00 6000 |0020: invoke-direct {v0, v6}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
007d1e: 1100 |0023: return-object v0
catches : (none)
positions :
0x0000 line=156
0x001e line=157
locals :
0x0000 - 0x0024 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0024 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0024 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0024 reg=6 (null) Ljava/lang/invoke/MethodHandle;
#4 : (in Linvokecustom/InvokeCustom;)
name : 'bsmLookupStatic'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 5
ins : 3
outs : 4
insns size : 29 16-bit code units
007d20: |[007d20] invokecustom.InvokeCustom.bsmLookupStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
007d30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007d34: 1a01 5800 |0002: const-string v1, "bsmLookupStatic []" // string@0058
007d38: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007d3e: 7100 c900 0000 |0007: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
007d44: 0c00 |000a: move-result-object v0
007d46: 6e10 c800 0000 |000b: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
007d4c: 0c01 |000e: move-result-object v1
007d4e: 6e40 c700 1043 |000f: invoke-virtual {v0, v1, v3, v4}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
007d54: 0c00 |0012: move-result-object v0
007d56: 2201 1b00 |0013: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
007d5a: 6e20 bd00 4000 |0015: invoke-virtual {v0, v4}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
007d60: 0c00 |0018: move-result-object v0
007d62: 7020 bc00 0100 |0019: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
007d68: 1101 |001c: return-object v1
catches : (none)
positions :
0x0000 line=138
0x0007 line=139
0x000b line=140
0x0013 line=141
locals :
0x0000 - 0x001d reg=2 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x001d reg=3 (null) Ljava/lang/String;
0x0000 - 0x001d reg=4 (null) Ljava/lang/invoke/MethodType;
#5 : (in Linvokecustom/InvokeCustom;)
name : 'bsmLookupStaticWithExtraArgs'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 9
outs : 4
insns size : 82 16-bit code units
007d6c: |[007d6c] invokecustom.InvokeCustom.bsmLookupStaticWithExtraArgs:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
007d7c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007d80: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007d84: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007d8a: 1a02 5a00 |0007: const-string v2, "bsmLookupStaticWithExtraArgs [" // string@005a
007d8e: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007d94: 0c01 |000c: move-result-object v1
007d96: 6e20 b700 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
007d9c: 0c01 |0010: move-result-object v1
007d9e: 1a02 0800 |0011: const-string v2, ", " // string@0008
007da2: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007da8: 0c01 |0016: move-result-object v1
007daa: 6e30 b800 7108 |0017: invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
007db0: 0c01 |001a: move-result-object v1
007db2: 1a02 0800 |001b: const-string v2, ", " // string@0008
007db6: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007dbc: 0c01 |0020: move-result-object v1
007dbe: 6e20 b600 9100 |0021: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007dc4: 0c01 |0024: move-result-object v1
007dc6: 1a02 0800 |0025: const-string v2, ", " // string@0008
007dca: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007dd0: 0c01 |002a: move-result-object v1
007dd2: 6e30 b500 a10b |002b: invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
007dd8: 0c01 |002e: move-result-object v1
007dda: 1a02 5200 |002f: const-string v2, "]" // string@0052
007dde: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007de4: 0c01 |0034: move-result-object v1
007de6: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007dec: 0c01 |0038: move-result-object v1
007dee: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007df4: 7100 c900 0000 |003c: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
007dfa: 0c00 |003f: move-result-object v0
007dfc: 6e10 c800 0000 |0040: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
007e02: 0c01 |0043: move-result-object v1
007e04: 6e40 c700 1054 |0044: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
007e0a: 0c00 |0047: move-result-object v0
007e0c: 2201 1b00 |0048: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
007e10: 6e20 bd00 5000 |004a: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
007e16: 0c00 |004d: move-result-object v0
007e18: 7020 bc00 0100 |004e: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
007e1e: 1101 |0051: return-object v1
catches : (none)
positions :
0x0000 line=147
0x003c line=148
0x0040 line=149
0x0048 line=150
locals :
0x0000 - 0x0052 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0052 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0052 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0052 reg=6 (null) I
0x0000 - 0x0052 reg=7 (null) J
0x0000 - 0x0052 reg=9 (null) F
0x0000 - 0x0052 reg=10 (null) D
#6 : (in Linvokecustom/InvokeCustom;)
name : 'bsmLookupTest9'
type : '(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 13
ins : 10
outs : 4
insns size : 135 16-bit code units
007e20: |[007e20] invokecustom.InvokeCustom.bsmLookupTest9:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite;
007e30: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007e34: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007e38: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007e3e: 1a02 5c00 |0007: const-string v2, "bsmLookupTest9 [" // string@005c
007e42: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007e48: 0c01 |000c: move-result-object v1
007e4a: 6e20 b900 6100 |000d: invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007e50: 0c01 |0010: move-result-object v1
007e52: 1a02 0800 |0011: const-string v2, ", " // string@0008
007e56: 6e20 ba00 2100 |0013: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007e5c: 0c01 |0016: move-result-object v1
007e5e: 6e20 b900 7100 |0017: invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007e64: 0c01 |001a: move-result-object v1
007e66: 1a02 0800 |001b: const-string v2, ", " // string@0008
007e6a: 6e20 ba00 2100 |001d: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007e70: 0c01 |0020: move-result-object v1
007e72: 6e20 b900 8100 |0021: invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007e78: 0c01 |0024: move-result-object v1
007e7a: 1a02 0800 |0025: const-string v2, ", " // string@0008
007e7e: 6e20 ba00 2100 |0027: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007e84: 0c01 |002a: move-result-object v1
007e86: 6e20 b900 9100 |002b: invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007e8c: 0c01 |002e: move-result-object v1
007e8e: 1a02 5200 |002f: const-string v2, "]" // string@0052
007e92: 6e20 ba00 2100 |0031: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007e98: 0c01 |0034: move-result-object v1
007e9a: 6e10 bb00 0100 |0035: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007ea0: 0c01 |0038: move-result-object v1
007ea2: 6e20 b100 1000 |0039: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007ea8: 6200 1000 |003c: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007eac: 2201 1700 |003e: new-instance v1, Ljava/lang/StringBuilder; // type@0017
007eb0: 7010 b400 0100 |0040: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007eb6: 6e20 ba00 4100 |0043: invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007ebc: 0c01 |0046: move-result-object v1
007ebe: 1a02 0000 |0047: const-string v2, " " // string@0000
007ec2: 6e20 ba00 2100 |0049: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007ec8: 0c01 |004c: move-result-object v1
007eca: 6e20 b900 5100 |004d: invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
007ed0: 0c01 |0050: move-result-object v1
007ed2: 6e10 bb00 0100 |0051: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007ed8: 0c01 |0054: move-result-object v1
007eda: 6e20 b100 1000 |0055: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007ee0: 7120 9b00 7600 |0058: invoke-static {v6, v7}, Linvokecustom/InvokeCustom;.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009b
007ee6: 2200 0e00 |005b: new-instance v0, Linvokecustom/InvokeCustom; // type@000e
007eea: 7010 9400 0000 |005d: invoke-direct {v0}, Linvokecustom/InvokeCustom;.<init>:()V // method@0094
007ef0: 7030 9a00 8009 |0060: invoke-direct {v0, v8, v9}, Linvokecustom/InvokeCustom;.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V // method@009a
007ef6: fa20 c300 0a00 1c00 |0063: invoke-polymorphic {v10, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00c3, proto@001c
007efe: 1230 |0067: const/4 v0, #int 3 // #3
007f00: fa20 c300 0b00 0500 |0068: invoke-polymorphic {v11, v0}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)Linvokecustom/InvokeCustom; // method@00c3, proto@0005
007f08: 0c00 |006c: move-result-object v0
007f0a: fa20 be00 0c00 1c00 |006d: invoke-polymorphic {v12, v0}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)V // method@00be, proto@001c
007f12: 7100 c900 0000 |0071: invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@00c9
007f18: 0c00 |0074: move-result-object v0
007f1a: 6e10 c800 0000 |0075: invoke-virtual {v0}, Ljava/lang/invoke/MethodHandles$Lookup;.lookupClass:()Ljava/lang/Class; // method@00c8
007f20: 0c01 |0078: move-result-object v1
007f22: 6e40 c700 1054 |0079: invoke-virtual {v0, v1, v4, v5}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00c7
007f28: 0c00 |007c: move-result-object v0
007f2a: 2201 1b00 |007d: new-instance v1, Ljava/lang/invoke/ConstantCallSite; // type@001b
007f2e: 6e20 bd00 5000 |007f: invoke-virtual {v0, v5}, Ljava/lang/invoke/MethodHandle;.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@00bd
007f34: 0c00 |0082: move-result-object v0
007f36: 7020 bc00 0100 |0083: invoke-direct {v1, v0}, Ljava/lang/invoke/ConstantCallSite;.<init>:(Ljava/lang/invoke/MethodHandle;)V // method@00bc
007f3c: 1101 |0086: return-object v1
catches : (none)
positions :
0x0000 line=166
0x003c line=168
0x0058 line=171
0x005b line=172
0x0060 line=173
0x0063 line=176
0x0067 line=178
0x006d line=179
0x0071 line=181
0x0075 line=182
0x007d line=183
locals :
0x0000 - 0x0087 reg=3 (null) Ljava/lang/invoke/MethodHandles$Lookup;
0x0000 - 0x0087 reg=4 (null) Ljava/lang/String;
0x0000 - 0x0087 reg=5 (null) Ljava/lang/invoke/MethodType;
0x0000 - 0x0087 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=8 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=9 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=10 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=11 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0087 reg=12 (null) Ljava/lang/invoke/MethodHandle;
#7 : (in Linvokecustom/InvokeCustom;)
name : 'checkFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x0002 (PRIVATE)
code -
registers : 9
ins : 3
outs : 3
insns size : 82 16-bit code units
007f40: |[007f40] invokecustom.InvokeCustom.checkFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
007f50: 1405 0ff0 6a20 |0000: const v5, #float 1.99e-19 // #206af00f
007f56: fa20 c300 6700 0100 |0003: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
007f5e: 0a00 |0007: move-result v0
007f60: fa30 c300 6805 1d00 |0008: invoke-polymorphic {v8, v6, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;F)V // method@00c3, proto@001d
007f68: fa20 c300 6700 0100 |000c: invoke-polymorphic {v7, v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (Linvokecustom/InvokeCustom;)F // method@00c3, proto@0001
007f70: 0a01 |0010: move-result v1
007f72: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007f76: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
007f7a: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
007f80: 1a04 5e00 |0018: const-string v4, "checkFieldTest9: old " // string@005e
007f84: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007f8a: 0c03 |001d: move-result-object v3
007f8c: 6e20 b600 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007f92: 0c00 |0021: move-result-object v0
007f94: 1a03 0600 |0022: const-string v3, " new " // string@0006
007f98: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007f9e: 0c00 |0027: move-result-object v0
007fa0: 6e20 b600 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007fa6: 0c00 |002b: move-result-object v0
007fa8: 1a03 0500 |002c: const-string v3, " expected " // string@0005
007fac: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007fb2: 0c00 |0031: move-result-object v0
007fb4: 6e20 b600 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
007fba: 0c00 |0035: move-result-object v0
007fbc: 1a03 0000 |0036: const-string v3, " " // string@0000
007fc0: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
007fc6: 0c00 |003b: move-result-object v0
007fc8: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
007fce: 0c00 |003f: move-result-object v0
007fd0: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
007fd6: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
007fda: 2d00 0105 |0045: cmpl-float v0, v1, v5
007fde: 3900 0800 |0047: if-nez v0, 004f // +0008
007fe2: 1a00 4000 |0049: const-string v0, "OK" // string@0040
007fe6: 6e20 b100 0200 |004b: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
007fec: 0e00 |004e: return-void
007fee: 1a00 1000 |004f: const-string v0, "ERROR" // string@0010
007ff2: 28fa |0051: goto 004b // -0006
catches : (none)
positions :
0x0003 line=116
0x0008 line=117
0x000c line=118
0x0011 line=119
0x0043 line=121
0x004e line=122
0x004f line=121
locals :
0x0000 - 0x0052 reg=6 this Linvokecustom/InvokeCustom;
0x0000 - 0x0052 reg=7 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0052 reg=8 (null) Ljava/lang/invoke/MethodHandle;
#8 : (in Linvokecustom/InvokeCustom;)
name : 'checkStaticFieldTest9'
type : '(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 8
ins : 2
outs : 2
insns size : 80 16-bit code units
007ff4: |[007ff4] invokecustom.InvokeCustom.checkStaticFieldTest9:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
008004: 1405 1032 5476 |0000: const v5, #float 1.07596e+33 // #76543210
00800a: fa10 c300 0600 0200 |0003: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
008012: 0a00 |0007: move-result v0
008014: fa20 c300 5700 1a00 |0008: invoke-polymorphic {v7, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, (I)V // method@00c3, proto@001a
00801c: fa10 c300 0600 0200 |000c: invoke-polymorphic {v6}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ()I // method@00c3, proto@0002
008024: 0a01 |0010: move-result v1
008026: 6202 1000 |0011: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00802a: 2203 1700 |0013: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00802e: 7010 b400 0300 |0015: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
008034: 1a04 6000 |0018: const-string v4, "checkStaticFieldTest9: old " // string@0060
008038: 6e20 ba00 4300 |001a: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00803e: 0c03 |001d: move-result-object v3
008040: 6e20 b700 0300 |001e: invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
008046: 0c00 |0021: move-result-object v0
008048: 1a03 0600 |0022: const-string v3, " new " // string@0006
00804c: 6e20 ba00 3000 |0024: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008052: 0c00 |0027: move-result-object v0
008054: 6e20 b700 1000 |0028: invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00805a: 0c00 |002b: move-result-object v0
00805c: 1a03 0500 |002c: const-string v3, " expected " // string@0005
008060: 6e20 ba00 3000 |002e: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008066: 0c00 |0031: move-result-object v0
008068: 6e20 b700 5000 |0032: invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00806e: 0c00 |0035: move-result-object v0
008070: 1a03 0000 |0036: const-string v3, " " // string@0000
008074: 6e20 ba00 3000 |0038: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00807a: 0c00 |003b: move-result-object v0
00807c: 6e10 bb00 0000 |003c: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
008082: 0c00 |003f: move-result-object v0
008084: 6e20 ab00 0200 |0040: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.print:(Ljava/lang/String;)V // method@00ab
00808a: 6202 1000 |0043: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00808e: 3351 0800 |0045: if-ne v1, v5, 004d // +0008
008092: 1a00 4000 |0047: const-string v0, "OK" // string@0040
008096: 6e20 b100 0200 |0049: invoke-virtual {v2, v0}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00809c: 0e00 |004c: return-void
00809e: 1a00 1000 |004d: const-string v0, "ERROR" // string@0010
0080a2: 28fa |004f: goto 0049 // -0006
catches : (none)
positions :
0x0003 line=103
0x0008 line=104
0x000c line=105
0x0011 line=106
0x0043 line=108
0x004c line=109
0x004d line=108
locals :
0x0000 - 0x0050 reg=6 (null) Ljava/lang/invoke/MethodHandle;
0x0000 - 0x0050 reg=7 (null) Ljava/lang/invoke/MethodHandle;
#9 : (in Linvokecustom/InvokeCustom;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 1
ins : 1
outs : 0
insns size : 22 16-bit code units
0080a4: |[0080a4] invokecustom.InvokeCustom.main:([Ljava/lang/String;)V
0080b4: 7100 1400 0000 |0000: invoke-static {}, Linvokecustom/InvokeCustom1;.test1:()V // method@0014
0080ba: 7100 2900 0000 |0003: invoke-static {}, Linvokecustom/InvokeCustom2;.test2:()V // method@0029
0080c0: 7100 3e00 0000 |0006: invoke-static {}, Linvokecustom/InvokeCustom3;.test3:()V // method@003e
0080c6: 7100 5300 0000 |0009: invoke-static {}, Linvokecustom/InvokeCustom5;.test5:()V // method@0053
0080cc: 7100 6800 0000 |000c: invoke-static {}, Linvokecustom/InvokeCustom6;.test6:()V // method@0068
0080d2: 7100 7d00 0000 |000f: invoke-static {}, Linvokecustom/InvokeCustom7;.test7:()V // method@007d
0080d8: 7100 9200 0000 |0012: invoke-static {}, Linvokecustom/InvokeCustom8;.test8:()V // method@0092
0080de: 0e00 |0015: return-void
catches : (none)
positions :
locals :
#10 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest1'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
0080e0: |[0080e0] invokecustom.InvokeCustom.targetMethodTest1:()V
0080f0: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0080f4: 1a01 1500 |0002: const-string v1, "Hello World!" // string@0015
0080f8: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0080fe: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=41
0x0007 line=42
locals :
#11 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest2'
type : '(ZBCSIFJDLjava/lang/String;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 13
ins : 11
outs : 3
insns size : 46 16-bit code units
008100: |[008100] invokecustom.InvokeCustom.targetMethodTest2:(ZBCSIFJDLjava/lang/String;)V
008110: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008114: 6e20 b200 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Z)V // method@00b2
00811a: 6200 1000 |0005: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00811e: 6e20 af00 3000 |0007: invoke-virtual {v0, v3}, Ljava/io/PrintStream;.println:(I)V // method@00af
008124: 6200 1000 |000a: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008128: 6e20 ac00 4000 |000c: invoke-virtual {v0, v4}, Ljava/io/PrintStream;.println:(C)V // method@00ac
00812e: 6200 1000 |000f: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008132: 6e20 af00 5000 |0011: invoke-virtual {v0, v5}, Ljava/io/PrintStream;.println:(I)V // method@00af
008138: 6200 1000 |0014: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00813c: 6e20 af00 6000 |0016: invoke-virtual {v0, v6}, Ljava/io/PrintStream;.println:(I)V // method@00af
008142: 6200 1000 |0019: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008146: 6e20 ae00 7000 |001b: invoke-virtual {v0, v7}, Ljava/io/PrintStream;.println:(F)V // method@00ae
00814c: 6200 1000 |001e: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008150: 6e30 b000 8009 |0020: invoke-virtual {v0, v8, v9}, Ljava/io/PrintStream;.println:(J)V // method@00b0
008156: 6200 1000 |0023: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00815a: 6e30 ad00 a00b |0025: invoke-virtual {v0, v10, v11}, Ljava/io/PrintStream;.println:(D)V // method@00ad
008160: 6200 1000 |0028: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008164: 6e20 b100 c000 |002a: invoke-virtual {v0, v12}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00816a: 0e00 |002d: return-void
catches : (none)
positions :
0x0000 line=46
0x0005 line=47
0x000a line=48
0x000f line=49
0x0014 line=50
0x0019 line=51
0x001e line=52
0x0023 line=53
0x0028 line=54
0x002d line=55
locals :
0x0000 - 0x002e reg=2 (null) Z
0x0000 - 0x002e reg=3 (null) B
0x0000 - 0x002e reg=4 (null) C
0x0000 - 0x002e reg=5 (null) S
0x0000 - 0x002e reg=6 (null) I
0x0000 - 0x002e reg=7 (null) F
0x0000 - 0x002e reg=8 (null) J
0x0000 - 0x002e reg=10 (null) D
0x0000 - 0x002e reg=12 (null) Ljava/lang/String;
#12 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest3'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
00816c: |[00816c] invokecustom.InvokeCustom.targetMethodTest3:()V
00817c: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008180: 1a01 7300 |0002: const-string v1, "targetMethodTest3 from InvokeCustom" // string@0073
008184: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00818a: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=58
0x0007 line=59
locals :
#13 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest5'
type : '(III)I'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 7
ins : 3
outs : 2
insns size : 83 16-bit code units
00818c: |[00818c] invokecustom.InvokeCustom.targetMethodTest5:(III)I
00819c: 9000 0405 |0000: add-int v0, v4, v5
0081a0: 6201 1000 |0002: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0081a4: 2202 1700 |0004: new-instance v2, Ljava/lang/StringBuilder; // type@0017
0081a8: 7010 b400 0200 |0006: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0081ae: 1a03 7800 |0009: const-string v3, "targetMethodTest5 " // string@0078
0081b2: 6e20 ba00 3200 |000b: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0081b8: 0c02 |000e: move-result-object v2
0081ba: 6e20 b700 4200 |000f: invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0081c0: 0c02 |0012: move-result-object v2
0081c2: 1a03 0300 |0013: const-string v3, " + " // string@0003
0081c6: 6e20 ba00 3200 |0015: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0081cc: 0c02 |0018: move-result-object v2
0081ce: 6e20 b700 5200 |0019: invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0081d4: 0c02 |001c: move-result-object v2
0081d6: 1a03 0400 |001d: const-string v3, " = " // string@0004
0081da: 6e20 ba00 3200 |001f: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0081e0: 0c02 |0022: move-result-object v2
0081e2: 6e20 b700 0200 |0023: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
0081e8: 0c02 |0026: move-result-object v2
0081ea: 6e10 bb00 0200 |0027: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0081f0: 0c02 |002a: move-result-object v2
0081f2: 6e20 b100 2100 |002b: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0081f8: 3260 2400 |002e: if-eq v0, v6, 0052 // +0024
0081fc: 6201 1000 |0030: sget-object v1, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008200: 2202 1700 |0032: new-instance v2, Ljava/lang/StringBuilder; // type@0017
008204: 7010 b400 0200 |0034: invoke-direct {v2}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00820a: 1a03 1300 |0037: const-string v3, "Failed " // string@0013
00820e: 6e20 ba00 3200 |0039: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008214: 0c02 |003c: move-result-object v2
008216: 6e20 b700 0200 |003d: invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
00821c: 0c02 |0040: move-result-object v2
00821e: 1a03 0100 |0041: const-string v3, " != " // string@0001
008222: 6e20 ba00 3200 |0043: invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008228: 0c02 |0046: move-result-object v2
00822a: 6e20 b700 6200 |0047: invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;.append:(I)Ljava/lang/StringBuilder; // method@00b7
008230: 0c02 |004a: move-result-object v2
008232: 6e10 bb00 0200 |004b: invoke-virtual {v2}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
008238: 0c02 |004e: move-result-object v2
00823a: 6e20 b100 2100 |004f: invoke-virtual {v1, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
008240: 0f00 |0052: return v0
catches : (none)
positions :
0x0000 line=68
0x0002 line=69
0x002e line=70
0x0030 line=71
0x0052 line=73
locals :
0x0000 - 0x0053 reg=4 (null) I
0x0000 - 0x0053 reg=5 (null) I
0x0000 - 0x0053 reg=6 (null) I
#14 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest6'
type : '(JJJ)J'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 12
ins : 6
outs : 3
insns size : 85 16-bit code units
008244: |[008244] invokecustom.InvokeCustom.targetMethodTest6:(JJJ)J
008254: 9b00 0608 |0000: add-long v0, v6, v8
008258: 6202 1000 |0002: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00825c: 2203 1700 |0004: new-instance v3, Ljava/lang/StringBuilder; // type@0017
008260: 7010 b400 0300 |0006: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
008266: 1a04 7b00 |0009: const-string v4, "targetMethodTest6 " // string@007b
00826a: 6e20 ba00 4300 |000b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008270: 0c03 |000e: move-result-object v3
008272: 6e30 b800 6307 |000f: invoke-virtual {v3, v6, v7}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
008278: 0c03 |0012: move-result-object v3
00827a: 1a04 0300 |0013: const-string v4, " + " // string@0003
00827e: 6e20 ba00 4300 |0015: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008284: 0c03 |0018: move-result-object v3
008286: 6e30 b800 8309 |0019: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
00828c: 0c03 |001c: move-result-object v3
00828e: 1a04 0400 |001d: const-string v4, " = " // string@0004
008292: 6e20 ba00 4300 |001f: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008298: 0c03 |0022: move-result-object v3
00829a: 6e30 b800 0301 |0023: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0082a0: 0c03 |0026: move-result-object v3
0082a2: 6e10 bb00 0300 |0027: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0082a8: 0c03 |002a: move-result-object v3
0082aa: 6e20 b100 3200 |002b: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0082b0: 3102 000a |002e: cmp-long v2, v0, v10
0082b4: 3802 2400 |0030: if-eqz v2, 0054 // +0024
0082b8: 6202 1000 |0032: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0082bc: 2203 1700 |0034: new-instance v3, Ljava/lang/StringBuilder; // type@0017
0082c0: 7010 b400 0300 |0036: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0082c6: 1a04 1300 |0039: const-string v4, "Failed " // string@0013
0082ca: 6e20 ba00 4300 |003b: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0082d0: 0c03 |003e: move-result-object v3
0082d2: 6e30 b800 0301 |003f: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0082d8: 0c03 |0042: move-result-object v3
0082da: 1a04 0100 |0043: const-string v4, " != " // string@0001
0082de: 6e20 ba00 4300 |0045: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0082e4: 0c03 |0048: move-result-object v3
0082e6: 6e30 b800 a30b |0049: invoke-virtual {v3, v10, v11}, Ljava/lang/StringBuilder;.append:(J)Ljava/lang/StringBuilder; // method@00b8
0082ec: 0c03 |004c: move-result-object v3
0082ee: 6e10 bb00 0300 |004d: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0082f4: 0c03 |0050: move-result-object v3
0082f6: 6e20 b100 3200 |0051: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0082fc: 1000 |0054: return-wide v0
catches : (none)
positions :
0x0000 line=77
0x0002 line=78
0x002e line=79
0x0032 line=80
0x0054 line=82
locals :
0x0000 - 0x0055 reg=6 (null) J
0x0000 - 0x0055 reg=8 (null) J
0x0000 - 0x0055 reg=10 (null) J
#15 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest7'
type : '(FFD)D'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 10
ins : 4
outs : 3
insns size : 86 16-bit code units
008300: |[008300] invokecustom.InvokeCustom.targetMethodTest7:(FFD)D
008310: a800 0607 |0000: mul-float v0, v6, v7
008314: 8900 |0002: float-to-double v0, v0
008316: 6202 1000 |0003: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00831a: 2203 1700 |0005: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00831e: 7010 b400 0300 |0007: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
008324: 1a04 7e00 |000a: const-string v4, "targetMethodTest7 " // string@007e
008328: 6e20 ba00 4300 |000c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00832e: 0c03 |000f: move-result-object v3
008330: 6e20 b600 6300 |0010: invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
008336: 0c03 |0013: move-result-object v3
008338: 1a04 0200 |0014: const-string v4, " * " // string@0002
00833c: 6e20 ba00 4300 |0016: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008342: 0c03 |0019: move-result-object v3
008344: 6e20 b600 7300 |001a: invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;.append:(F)Ljava/lang/StringBuilder; // method@00b6
00834a: 0c03 |001d: move-result-object v3
00834c: 1a04 0400 |001e: const-string v4, " = " // string@0004
008350: 6e20 ba00 4300 |0020: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008356: 0c03 |0023: move-result-object v3
008358: 6e30 b500 0301 |0024: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
00835e: 0c03 |0027: move-result-object v3
008360: 6e10 bb00 0300 |0028: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
008366: 0c03 |002b: move-result-object v3
008368: 6e20 b100 3200 |002c: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00836e: 2f02 0008 |002f: cmpl-double v2, v0, v8
008372: 3802 2400 |0031: if-eqz v2, 0055 // +0024
008376: 6202 1000 |0033: sget-object v2, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00837a: 2203 1700 |0035: new-instance v3, Ljava/lang/StringBuilder; // type@0017
00837e: 7010 b400 0300 |0037: invoke-direct {v3}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
008384: 1a04 1300 |003a: const-string v4, "Failed " // string@0013
008388: 6e20 ba00 4300 |003c: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
00838e: 0c03 |003f: move-result-object v3
008390: 6e30 b500 0301 |0040: invoke-virtual {v3, v0, v1}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
008396: 0c03 |0043: move-result-object v3
008398: 1a04 0100 |0044: const-string v4, " != " // string@0001
00839c: 6e20 ba00 4300 |0046: invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0083a2: 0c03 |0049: move-result-object v3
0083a4: 6e30 b500 8309 |004a: invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder; // method@00b5
0083aa: 0c03 |004d: move-result-object v3
0083ac: 6e10 bb00 0300 |004e: invoke-virtual {v3}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0083b2: 0c03 |0051: move-result-object v3
0083b4: 6e20 b100 3200 |0052: invoke-virtual {v2, v3}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0083ba: 1000 |0055: return-wide v0
catches : (none)
positions :
0x0000 line=86
0x0003 line=87
0x002f line=88
0x0033 line=89
0x0055 line=91
locals :
0x0000 - 0x0056 reg=6 (null) F
0x0000 - 0x0056 reg=7 (null) F
0x0000 - 0x0056 reg=8 (null) D
#16 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest8'
type : '(Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16-bit code units
0083bc: |[0083bc] invokecustom.InvokeCustom.targetMethodTest8:(Ljava/lang/String;)V
0083cc: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
0083d0: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
0083d4: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
0083da: 1a02 8000 |0007: const-string v2, "targetMethodTest8 " // string@0080
0083de: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0083e4: 0c01 |000c: move-result-object v1
0083e6: 6e20 ba00 3100 |000d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
0083ec: 0c01 |0010: move-result-object v1
0083ee: 6e10 bb00 0100 |0011: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
0083f4: 0c01 |0014: move-result-object v1
0083f6: 6e20 b100 1000 |0015: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0083fc: 0e00 |0018: return-void
catches : (none)
positions :
0x0000 line=95
0x0018 line=96
locals :
0x0000 - 0x0019 reg=3 (null) Ljava/lang/String;
#17 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest9'
type : '()V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 8 16-bit code units
008400: |[008400] invokecustom.InvokeCustom.targetMethodTest9:()V
008410: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008414: 1a01 8200 |0002: const-string v1, "targetMethodTest9()" // string@0082
008418: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
00841e: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=129
0x0007 line=130
locals :
Virtual methods -
#0 : (in Linvokecustom/InvokeCustom;)
name : 'helperMethodTest9'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 4
ins : 1
outs : 2
insns size : 27 16-bit code units
008420: |[008420] invokecustom.InvokeCustom.helperMethodTest9:()V
008430: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
008434: 2201 1700 |0002: new-instance v1, Ljava/lang/StringBuilder; // type@0017
008438: 7010 b400 0100 |0004: invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@00b4
00843e: 1a02 6400 |0007: const-string v2, "helperMethodTest9 in " // string@0064
008442: 6e20 ba00 2100 |0009: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@00ba
008448: 0c01 |000c: move-result-object v1
00844a: 1c02 0e00 |000d: const-class v2, Linvokecustom/InvokeCustom; // type@000e
00844e: 6e20 b900 2100 |000f: invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@00b9
008454: 0c01 |0012: move-result-object v1
008456: 6e10 bb00 0100 |0013: invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@00bb
00845c: 0c01 |0016: move-result-object v1
00845e: 6e20 b100 1000 |0017: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
008464: 0e00 |001a: return-void
catches : (none)
positions :
0x0000 line=125
0x001a line=126
locals :
0x0000 - 0x001b reg=3 this Linvokecustom/InvokeCustom;
#1 : (in Linvokecustom/InvokeCustom;)
name : 'run'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
008468: |[008468] invokecustom.InvokeCustom.run:()V
008478: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00847c: 1a01 6e00 |0002: const-string v1, "run() for Test9" // string@006e
008480: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
008486: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=133
0x0007 line=134
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom;
#2 : (in Linvokecustom/InvokeCustom;)
name : 'targetMethodTest4'
type : '()V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 1
outs : 2
insns size : 8 16-bit code units
008488: |[008488] invokecustom.InvokeCustom.targetMethodTest4:()V
008498: 6200 1000 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0010
00849c: 1a01 7500 |0002: const-string v1, "targetMethodTest4 from InvokeCustom (oops!)" // string@0075
0084a0: 6e20 b100 1000 |0004: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@00b1
0084a6: 0e00 |0007: return-void
catches : (none)
positions :
0x0000 line=64
0x0007 line=65
locals :
0x0000 - 0x0008 reg=2 this Linvokecustom/InvokeCustom;
source_file_idx : 25 (InvokeCustom.java)
Method handle #0:
type : invoke-static
target : Linvokecustom/InvokeCustom; bsmLookupStatic
target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method handle #1:
type : invoke-static
target : Linvokecustom/InvokeCustom; bsmLookupStaticWithExtraArgs
target_type : (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;IJFD)Ljava/lang/invoke/CallSite;
Call site #0: // offset 57196
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest1 (String)
link_argument[2] : ()V (MethodType)
Call site #1: // offset 57203
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest2 (String)
link_argument[2] : (ZBCSIFJDLjava/lang/String;)V (MethodType)
Call site #2: // offset 57210
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest3 (String)
link_argument[2] : ()V (MethodType)
link_argument[3] : 1 (int)
link_argument[4] : 123456789 (long)
link_argument[5] : 123.456 (float)
link_argument[6] : 123457 (double)
Call site #3: // offset 57238
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest5 (String)
link_argument[2] : (III)I (MethodType)
Call site #4: // offset 57245
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest6 (String)
link_argument[2] : (JJJ)J (MethodType)
Call site #5: // offset 57252
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest7 (String)
link_argument[2] : (FFD)D (MethodType)
Call site #6: // offset 57259
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest8 (String)
link_argument[2] : (Ljava/lang/String;)V (MethodType)
Call site #7: // offset 57259
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest8 (String)
link_argument[2] : (Ljava/lang/String;)V (MethodType)
Call site #8: // offset 57259
link_argument[0] : 0 (MethodHandle)
link_argument[1] : targetMethodTest8 (String)
link_argument[2] : (Ljava/lang/String;)V (MethodType)