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 : '' type : '()V' access : 0x10000 (CONSTRUCTOR) code - registers : 1 ins : 1 outs : 1 insns size : 4 16-bit code units 0040ac: |[0040ac] invokecustom.Super.:()V 0040bc: 7010 b300 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 0040e4: |[0040e4] invokecustom.InvokeCustom1.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 0040fc: |[0040fc] invokecustom.InvokeCustom1.:()V 00410c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 00412c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 004146: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 004934: |[004934] invokecustom.InvokeCustom2.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 00494c: |[00494c] invokecustom.InvokeCustom2.:()V 00495c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 00497c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 004996: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 0051b4: |[0051b4] invokecustom.InvokeCustom3.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 0051cc: |[0051cc] invokecustom.InvokeCustom3.:()V 0051dc: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 0051fc: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 005216: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 005a04: |[005a04] invokecustom.InvokeCustom5.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 005a1c: |[005a1c] invokecustom.InvokeCustom5.:()V 005a2c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 005a4c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 005a66: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 006294: |[006294] invokecustom.InvokeCustom6.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 0062ac: |[0062ac] invokecustom.InvokeCustom6.:()V 0062bc: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 0062dc: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 0062f6: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 006b34: |[006b34] invokecustom.InvokeCustom7.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 006b4c: |[006b4c] invokecustom.InvokeCustom7.:()V 006b5c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 006b7c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 006b96: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 0073cc: |[0073cc] invokecustom.InvokeCustom8.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 0073e4: |[0073e4] invokecustom.InvokeCustom8.:()V 0073f4: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 007414: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 00742e: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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 : '' type : '()V' access : 0x10008 (STATIC CONSTRUCTOR) code - registers : 1 ins : 0 outs : 0 insns size : 4 16-bit code units 007c34: |[007c34] invokecustom.InvokeCustom.:()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 : '' type : '()V' access : 0x10001 (PUBLIC CONSTRUCTOR) code - registers : 2 ins : 1 outs : 1 insns size : 7 16-bit code units 007c4c: |[007c4c] invokecustom.InvokeCustom.:()V 007c5c: 7010 a800 0100 |0000: invoke-direct {v1}, Linvokecustom/Super;.:()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 : '' 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.:(I)V 007c7c: 7010 a800 0300 |0000: invoke-direct {v3}, Linvokecustom/Super;.:()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;.:()V // method@00b4 007c96: 1a02 1800 |000d: const-string v2, "InvokeCustom.(" // 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;.:()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;.:(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;.:(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;.:()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;.:(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;.:()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;.:()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;.:()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;.:(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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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;.:()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)