# http://blogs.sun.com/jrose/entry/an_experiment_with_generic_arithmetic $ java -DMODE=0 -DKIND=1 -XX:Flags=../jvmg/tuning-flags -XX:CompileCommand=print,*.test -cp $HOME/Projects/kawa/kawa-1.9.90/Unmanaged/download-kawa.jar:$HOME/Projects/kawa/kawa-1.9.90/Unmanaged SumWithIndy CompilerOracle: print *.test OpenJDK Server VM warning: printing of assembly code is enabled; turning on DebugNonSafepoints to gain additional output polluting type profile... warming... profileArg 0 : class java.lang.Integer fastType -> (java.lang.Integer,int)java.lang.Object Compiled (c2) 2% nmethod (2) SumWithIndy::test @ 2 (91 bytes) total in heap [0x018825c8,0x01882c04] = 1596 relocation [0x0188268c,0x018826d4] = 72 main code [0x018826e0,0x01882820] = 320 stub code [0x01882820,0x0188284d] = 45 constants [0x0188284d,0x01882850] = 3 oops [0x01882850,0x018828a4] = 84 scopes data [0x018828a4,0x01882a2c] = 392 scopes pcs [0x01882a2c,0x01882bbc] = 400 dependencies [0x01882bbc,0x01882bc8] = 12 handler table [0x01882bc8,0x01882bf8] = 48 nul chk table [0x01882bf8,0x01882c04] = 12 oops [0x01882850,0x018828a4] = 84 Loaded disassembler from hsdis-i386.dylib Decoding compiled method 0x018825c8: Code: [Disassembling for mach='i386(base-hsdis)'] [Entry Point] [Verified Entry Point] # {method} 'test' '(Ljava/lang/Object;I)Ljava/lang/Object;' in 'SumWithIndy' 0x018826e0: call 0x00013fb0 ; {runtime_call} 0x018826e5: nop 0x018826e8: mov [esp-0x3000], eax 0x018826ef: push ebp 0x018826f0: sub esp, 0x00000038 0x018826f6: mov ebx, [ecx+0x8] 0x018826f9: mov esi, [ecx] 0x018826fb: mov ebp, [ecx+0x4] 0x018826fe: mov [esp], ecx 0x01882701: call 0x00627f10 ;*iload_2 ; - SumWithIndy::test@2 (line 88) ; {runtime_call} 0x01882706: cmp esi, ebp 0x01882708: jge 0x018827bd ;*if_icmpge ; - SumWithIndy::test@4 (line 88) 0x0188270e: mov eax, 1 0x01882713: jmp 0x0188272a 0x01882715: invalid 0x66 0x01882716: invalid 0x66 0x01882717: invalid 0x66 0x01882718: invalid 0x0f 0x01882719: pop ds 0x0188271a: test [eax], al 0x0188271c: add [eax], al 0x0188271e: add [eax], al 0x01882720: mov ebx, eax 0x01882722: mov ebp, [esp+0x14] 0x01882726: mov eax, [esp+0x18] ;*getstatic MODE ; - SumWithIndy::test@7 (line 89) 0x0188272a: mov ecx, 0x000002a8 0x0188272f: mov ecx, [ecx+0x1A8B8B30] ; {oop(cache [42] for constant pool [234]/invokedynamic for 'SumWithIndy' cache=0x1a8b8b30)} 0x01882735: mov edx, [ecx+0x10] 0x01882738: cmp edx, a 'sun/dyn/ToGeneric$A2' ; {oop(a 'sun/dyn/ToGeneric$A2')} 0x0188273e: jnz 0x018827c1 ;*invokedynamic ; - SumWithIndy::test@17 (line 90) 0x01882744: mov edi, 0x00000150 0x01882749: mov edx, [edi+0x1A8B9110] ;*getstatic cache ; - java.lang.Integer::valueOf@35 (line 651) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {oop('java/lang/Integer$IntegerCache')} 0x0188274f: mov edi, [edx+0x210] ;*aaload ; - java.lang.Integer::valueOf@43 (line 651) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882755: mov ecx, [ebx+0x4] ;*invokevirtual isInstance ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@16 (line 160) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; implicit exception: dispatches to 0x018827e0 0x01882758: cmp ecx, 'java/lang/Integer' ; {oop('java/lang/Integer')} 0x0188275e: jnz 0x01882792 ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882760: mov [esp+0x18], eax 0x01882764: mov [esp+0x14], ebp 0x01882768: mov [esp+0x10], esi ;*synchronization entry ; - java.dyn.MethodHandle::invoke@-1 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x0188276c: mov edx, [edx+0x210] ;*aaload ; - java.lang.Integer::valueOf@43 (line 651) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882772: mov ecx, ebx 0x01882774: nop 0x01882777: call 0x018484e0 ; OopMap{off=156} ;*invokestatic $Pl ; - java.dyn.MethodHandle::invoke@2 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {static_call} 0x0188277c: mov esi, [esp+0x10] 0x01882780: inc esi ;*iinc ; - SumWithIndy::test@83 (line 88) 0x01882781: cmp esi, [esp+0x14] 0x01882785: jl 0x01882720 0x01882787: add esp, 0x00000038 0x0188278a: pop ebp 0x0188278b: test [0xEE0000], eax ; {poll_return} 0x01882791: ret ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882792: xor edx, edx 0x01882794: cmp ecx, 'java/lang/Integer' ; {oop('java/lang/Integer')} 0x0188279a: cmovnz eax, edx ;*invokevirtual isInstance ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@16 (line 160) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x0188279d: mov [esp+0x10], esi 0x018827a1: mov [esp+0x14], ebx 0x018827a5: mov [esp+0x18], edi 0x018827a9: mov [esp+0x1C], eax 0x018827ad: mov ecx, 0xffffffad 0x018827b2: nop 0x018827b3: call 0x01847a20 ; OopMap{[20]=Oop [24]=Oop off=216} ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x018827b8: call 0x00013fb0 ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x018827bd: mov eax, ebx 0x018827bf: jmp 0x01882787 0x018827c1: mov [esp+0x18], eax 0x018827c5: mov [esp+0x14], ebp 0x018827c9: mov [esp+0x10], esi 0x018827cd: mov ecx, [ecx+0x10] 0x018827d0: mov edx, ebx 0x018827d2: mov [esp], eax 0x018827d5: mov ebp, esp 0x018827d7: call 0x01848060 ; OopMap{off=252} ;*invokedynamic ; - SumWithIndy::test@17 (line 90) ; {optimized virtual_call} 0x018827dc: mov esp, ebp ;*invokedynamic ; - SumWithIndy::test@17 (line 90) 0x018827de: jmp 0x0188277c ;*synchronization entry ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@-1 (line 159) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x018827e0: mov ecx, 0xffffffad 0x018827e5: mov [esp+0x10], esi 0x018827e9: mov [esp+0x18], edi 0x018827ed: mov [esp+0x1C], ebx 0x018827f1: mov [esp+0x20], ebx 0x018827f5: nop 0x018827f7: call 0x01847a20 ; OopMap{[24]=Oop [28]=Oop [32]=Oop off=284} ;*ifnonnull ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@1 (line 159) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x018827fc: call 0x00013fb0 ;*invokedynamic ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x01882801: mov ecx, eax 0x01882803: jmp 0x01882807 ;*invokestatic $Pl ; - java.dyn.MethodHandle::invoke@2 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882805: mov ecx, eax ;*new ; - java.lang.Integer::valueOf@45 (line 652) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882807: add esp, 0x00000038 0x0188280a: pop ebp 0x0188280b: jmp 0x01866300 ; {runtime_call} 0x01882810: hlt 0x01882811: hlt 0x01882812: hlt 0x01882813: hlt 0x01882814: hlt 0x01882815: hlt 0x01882816: hlt 0x01882817: hlt 0x01882818: hlt 0x01882819: hlt 0x0188281a: hlt 0x0188281b: hlt 0x0188281c: hlt 0x0188281d: hlt 0x0188281e: hlt 0x0188281f: hlt [Stub Code] 0x01882820: mov ebx, 0x00000000 ; {no_reloc} 0x01882825: jmp 0x01882825 ; {runtime_call} 0x0188282a: mov ebx, 0x00000000 ; {static_stub} 0x0188282f: jmp 0x0188282f ; {runtime_call} [Exception Handler] 0x01882834: jmp 0x01865060 ; {runtime_call} [Deopt Handler Code] 0x01882839: push 0x01882839 ; {section_word} 0x0188283e: jmp 0x018490a0 ; {runtime_call} [Deopt MH Handler Code] 0x01882843: push 0x01882843 ; {section_word} 0x01882848: jmp 0x018490a0 ; {runtime_call} [Constants] 0x0188284d: cld 0x0188284e: call [esi] OopMapSet contains 4 OopMaps #0 OopMap{off=156} #1 OopMap{[20]=Oop [24]=Oop off=216} #2 OopMap{off=252} #3 OopMap{[24]=Oop [28]=Oop [32]=Oop off=284} Compiled (c2) 37 nmethod (2) SumWithIndy::test (91 bytes) total in heap [0x01882c48,0x0188327c] = 1588 relocation [0x01882d0c,0x01882d50] = 68 main code [0x01882d60,0x01882e80] = 288 stub code [0x01882e80,0x01882ead] = 45 constants [0x01882ead,0x01882eb0] = 3 oops [0x01882eb0,0x01882f04] = 84 scopes data [0x01882f04,0x018830b4] = 432 scopes pcs [0x018830b4,0x01883234] = 384 dependencies [0x01883234,0x01883240] = 12 handler table [0x01883240,0x01883270] = 48 nul chk table [0x01883270,0x0188327c] = 12 oops [0x01882eb0,0x01882f04] = 84 Decoding compiled method 0x01882c48: Code: [Disassembling for mach='i386(base-hsdis)'] [Entry Point] [Verified Entry Point] # {method} 'test' '(Ljava/lang/Object;I)Ljava/lang/Object;' in 'SumWithIndy' # parm0: ecx = 'java/lang/Object' # parm1: edx = int # [sp+0x40] (sp of caller) 0x01882d60: mov [esp-0x3000], eax 0x01882d67: push ebp 0x01882d68: sub esp, 0x00000038 ;*synchronization entry ; - SumWithIndy::test@-1 (line 88) 0x01882d6e: mov edi, ecx 0x01882d70: test edx, edx 0x01882d72: jle 0x01882e21 ;*if_icmpge ; - SumWithIndy::test@4 (line 88) 0x01882d78: mov eax, 1 0x01882d7d: xor esi, esi 0x01882d7f: jmp 0x01882d8b 0x01882d81: mov edi, eax 0x01882d83: mov edx, [esp+0x10] 0x01882d87: mov eax, [esp+0x14] ;*getstatic MODE ; - SumWithIndy::test@7 (line 89) 0x01882d8b: mov ebx, 0x000002a8 0x01882d90: mov ebx, [ebx+0x1A8B8B30] ; {oop(cache [42] for constant pool [234]/invokedynamic for 'SumWithIndy' cache=0x1a8b8b30)} 0x01882d96: mov ecx, [ebx+0x10] 0x01882d99: cmp ecx, a 'sun/dyn/ToGeneric$A2' ; {oop(a 'sun/dyn/ToGeneric$A2')} 0x01882d9f: jnz 0x01882e25 ;*invokedynamic ; - SumWithIndy::test@17 (line 90) 0x01882da5: mov ecx, 0x00000150 0x01882daa: mov ecx, [ecx+0x1A8B9110] ;*getstatic cache ; - java.lang.Integer::valueOf@35 (line 651) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {oop('java/lang/Integer$IntegerCache')} 0x01882db0: mov ebx, [ecx+0x210] ;*aaload ; - java.lang.Integer::valueOf@43 (line 651) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882db6: mov ebp, [edi+0x4] ;*invokevirtual isInstance ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@16 (line 160) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; implicit exception: dispatches to 0x01882e44 0x01882db9: cmp ebp, 'java/lang/Integer' ; {oop('java/lang/Integer')} 0x01882dbf: jnz 0x01882df2 ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882dc1: mov [esp+0x18], esi 0x01882dc5: mov [esp+0x14], eax 0x01882dc9: mov [esp+0x10], edx ;*checkcast ; - java.dyn.MethodHandle::invokeExact@16 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882dcd: mov edx, [ecx+0x210] ;*aaload ; - java.lang.Integer::valueOf@43 (line 651) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882dd3: mov ecx, edi 0x01882dd5: nop 0x01882dd7: call 0x018484e0 ; OopMap{off=124} ;*invokestatic $Pl ; - java.dyn.MethodHandle::invoke@2 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {static_call} 0x01882ddc: mov esi, [esp+0x18] 0x01882de0: inc esi ;*iinc ; - SumWithIndy::test@83 (line 88) 0x01882de1: cmp esi, [esp+0x10] 0x01882de5: jl 0x01882d81 ;*if_icmpge ; - SumWithIndy::test@4 (line 88) 0x01882de7: add esp, 0x00000038 0x01882dea: pop ebp 0x01882deb: test [0xEE0000], eax ; {poll_return} 0x01882df1: ret 0x01882df2: xor ecx, ecx 0x01882df4: cmp ebp, 'java/lang/Integer' ; {oop('java/lang/Integer')} 0x01882dfa: cmovnz eax, ecx ;*invokevirtual isInstance ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@16 (line 160) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882dfd: mov ecx, 0xffffffad 0x01882e02: mov ebp, edx 0x01882e04: mov [esp+0x10], esi 0x01882e08: mov [esp+0x14], edi 0x01882e0c: mov [esp+0x18], ebx 0x01882e10: mov [esp+0x1C], eax 0x01882e14: nop 0x01882e17: call 0x01847a20 ; OopMap{[20]=Oop [24]=Oop off=188} ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x01882e1c: call 0x00013fb0 ;*ifeq ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@9 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x01882e21: mov eax, ecx 0x01882e23: jmp 0x01882de7 0x01882e25: mov [esp+0x18], esi 0x01882e29: mov [esp+0x14], eax 0x01882e2d: mov [esp+0x10], edx 0x01882e31: mov ecx, [ebx+0x10] 0x01882e34: mov edx, edi 0x01882e36: mov [esp], eax 0x01882e39: mov ebp, esp 0x01882e3b: call 0x01848060 ; OopMap{off=224} ;*invokedynamic ; - SumWithIndy::test@17 (line 90) ; {optimized virtual_call} 0x01882e40: mov esp, ebp ;*invokedynamic ; - SumWithIndy::test@17 (line 90) 0x01882e42: jmp 0x01882ddc 0x01882e44: mov ecx, 0xffffffad 0x01882e49: mov ebp, edx 0x01882e4b: mov [esp+0x10], esi 0x01882e4f: mov [esp+0x18], ebx 0x01882e53: mov [esp+0x1C], edi 0x01882e57: mov [esp+0x20], edi 0x01882e5b: call 0x01847a20 ; OopMap{[24]=Oop [28]=Oop [32]=Oop off=256} ;*ifnonnull ; - SumWithIndy$ClassProfilingCallSite::guardFastPath@1 (line 159) ; - java.dyn.MethodHandle::invokeExact@18 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@6 (line 973) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x01882e60: call 0x00013fb0 ;*invokedynamic ; - SumWithIndy::test@17 (line 90) ; {runtime_call} 0x01882e65: mov ecx, eax 0x01882e67: jmp 0x01882e6b ;*invokestatic $Pl ; - java.dyn.MethodHandle::invoke@2 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882e69: mov ecx, eax ;*new ; - java.lang.Integer::valueOf@45 (line 652) ; - sun.dyn.ToGeneric$A2::targetA2@3 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.MethodHandle::invokeExact@24 ; - sun.dyn.MethodHandleImpl$GuardWithTest::invoke_L2@18 (line 974) ; - java.dyn.MethodHandle::invoke@4 ; - java.dyn.MethodHandle::invokeExact@3 ; - sun.dyn.ToGeneric$A2::target@10 (line 661) ; - sun.dyn.ToGeneric$A2::targetA2@6 (line 663) ; - sun.dyn.ToGeneric$A2::invoke_L@4 (line 672) ; - java.dyn.InvokeDynamic::invokeExact@4 ; - SumWithIndy::test@17 (line 90) 0x01882e6b: add esp, 0x00000038 0x01882e6e: pop ebp 0x01882e6f: jmp 0x01866300 ; {runtime_call} 0x01882e74: hlt 0x01882e75: hlt 0x01882e76: hlt 0x01882e77: hlt 0x01882e78: hlt 0x01882e79: hlt 0x01882e7a: hlt 0x01882e7b: hlt 0x01882e7c: hlt 0x01882e7d: hlt 0x01882e7e: hlt 0x01882e7f: hlt [Stub Code] 0x01882e80: mov ebx, 0x00000000 ; {no_reloc} 0x01882e85: jmp 0x01882e85 ; {runtime_call} 0x01882e8a: mov ebx, 0x00000000 ; {static_stub} 0x01882e8f: jmp 0x01882e8f ; {runtime_call} [Exception Handler] 0x01882e94: jmp 0x01865060 ; {runtime_call} [Deopt Handler Code] 0x01882e99: push 0x01882e99 ; {section_word} 0x01882e9e: jmp 0x018490a0 ; {runtime_call} [Deopt MH Handler Code] 0x01882ea3: push 0x01882ea3 ; {section_word} 0x01882ea8: jmp 0x018490a0 ; {runtime_call} [Constants] 0x01882ead: add [eax], al 0x01882eaf: invalid 0xe9 OopMapSet contains 4 OopMaps #0 OopMap{off=124} #1 OopMap{[20]=Oop [24]=Oop off=188} #2 OopMap{off=224} #3 OopMap{[24]=Oop [28]=Oop [32]=Oop off=256} timing... elapsed time = 18585 for MODE=0 KIND=1 REPS=1000000000