Created
May 30, 2018 13:53
-
-
Save chrisseaton/0ff64344a3495580d3e6d28b8b595a50 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0x00000001088d9f40: mov DWORD PTR [rsp-0x14000],eax | |
0x00000001088d9f47: push rbp | |
0x00000001088d9f48: sub rsp,0x1f0 | |
0x00000001088d9f4f: mov QWORD PTR [rsp+0x190],rsi | |
0x00000001088d9f57: mov QWORD PTR [rsp+0x1a8],rcx | |
0x00000001088d9f5f: movabs rbx,0x119fe1928 | |
0x00000001088d9f69: mov eax,DWORD PTR [rbx+0x8] | |
0x00000001088d9f6c: add eax,0x8 | |
0x00000001088d9f6f: mov DWORD PTR [rbx+0x8],eax | |
0x00000001088d9f72: movabs rbx,0x119fe1008 ; {metadata({method} {0x0000000119fe1008} 'RUBY$method$core_min$2' '(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;' in 'test')} | |
0x00000001088d9f7c: and eax,0x3ff8 | |
0x00000001088d9f82: cmp eax,0x0 | |
0x00000001088d9f85: je 0x00000001088da591 ;*nop {reexecute=0 rethrow=0 return_oop=0} | |
; - test::RUBY$method$core_min$2@0 | |
0x00000001088d9f8b: mov QWORD PTR [rsp+0x1a0],r9 | |
0x00000001088d9f93: mov QWORD PTR [rsp+0x198],r8 | |
0x00000001088d9f9b: cmp rax,QWORD PTR [rsi] ; implicit exception: dispatches to 0x00000001088da5a8 | |
;*invokevirtual preBackrefMethod {reexecute=0 rethrow=0 return_oop=0} | |
; - test::RUBY$method$core_min$2@2 | |
0x00000001088d9f9e: mov rdi,rsi | |
0x00000001088d9fa1: mov rsi,rdi ;*invokespecial pushBackrefFrame {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.runtime.ThreadContext::preBackrefMethod@1 (line 934) | |
; ... | |
0x00000001088d9fa4: nop... | |
0x00000001088d9fa7: call 0x0000000107fbb0a0 ; OopMap{[400]=Oop [416]=Oop [408]=Oop [424]=Oop off=108} | |
;*invokespecial pushBackrefFrame {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.runtime.ThreadContext::preBackrefMethod@1 (line 934) | |
; ... | |
0x00000001088d9fac: mov rsi,QWORD PTR [rsp+0x190] | |
0x00000001088d9fb4: mov edx,DWORD PTR [rsi+0x28] | |
0x00000001088d9fb7: shl rdx,0x3 ;*getfield runtime {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.ir.runtime.IRRuntimeHelpers::newArray@1 (line 2069) | |
; ... | |
0x00000001088d9fbb: mov rsi,rdx | |
0x00000001088d9fbe: mov rdx,QWORD PTR [rsp+0x198] | |
0x00000001088d9fc6: mov rcx,QWORD PTR [rsp+0x1a0] | |
;*invokestatic newArray {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.ir.runtime.IRRuntimeHelpers::newArray@6 (line 2069) | |
; ... | |
0x00000001088d9fce: nop | |
0x00000001088d9fcf: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop off=148} | |
;*invokestatic newArray {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.ir.runtime.IRRuntimeHelpers::newArray@6 (line 2069) | |
; ... | |
0x00000001088d9fd4: mov QWORD PTR [rsp+0x1b0],rax | |
0x00000001088d9fdc: movabs rsi,0x7b80f1360 ; {oop(a 'java/lang/invoke/MutableCallSite')} | |
0x00000001088d9fe6: movabs rdx,0x7a0cc8570 ; {oop(a 'java/lang/invoke/MemberName' = {method} {0x00000001053f4e60} 'getTarget' '()Ljava/lang/invoke/MethodHandle;' in 'java/lang/invoke/CallSite')} | |
0x00000001088d9ff0: nop... | |
0x00000001088d9ff7: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [432]=Oop off=188} | |
;*invokestatic linkToVirtual {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/664740647::invokeVirtual_L_L@10 | |
; ... | |
0x00000001088d9ffc: mov QWORD PTR [rsp+0x1b8],rax | |
0x00000001088da004: cmp rax,0x0 | |
0x00000001088da008: je 0x00000001088da02e | |
0x00000001088da00e: movabs rbx,0x7c000b508 ; {metadata('java/lang/invoke/MethodHandle')} | |
0x00000001088da018: mov edx,DWORD PTR [rax+0x8] | |
0x00000001088da01b: shl rdx,0x3 | |
0x00000001088da01f: cmp rbx,QWORD PTR [rdx+0x30] | |
0x00000001088da023: jne 0x00000001088da5ad | |
0x00000001088da029: jmp 0x00000001088da02e | |
0x00000001088da02e: mov rsi,rax ;*checkcast {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkExactType@1 (line 305) | |
; ... | |
0x00000001088da031: mov edi,DWORD PTR [rsi+0x10] ; implicit exception: dispatches to 0x00000001088da5b6 | |
0x00000001088da034: shl rdi,0x3 ;*getfield type {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandle::type@1 (line 446) | |
; ... | |
0x00000001088da038: movabs rsi,0x7a0c327e8 ; {oop(a 'java/lang/invoke/MethodType' = ()Z)} | |
0x00000001088da042: cmp rdi,rsi | |
0x00000001088da045: jne 0x00000001088da527 ;*if_acmpeq {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkExactType@19 (line 308) | |
; ... | |
0x00000001088da04b: cmp rax,0x0 | |
0x00000001088da04f: je 0x00000001088da075 | |
0x00000001088da055: movabs rbx,0x7c000b508 ; {metadata('java/lang/invoke/MethodHandle')} | |
0x00000001088da05f: mov edx,DWORD PTR [rax+0x8] | |
0x00000001088da062: shl rdx,0x3 | |
0x00000001088da066: cmp rbx,QWORD PTR [rdx+0x30] | |
0x00000001088da06a: jne 0x00000001088da5bb | |
0x00000001088da070: jmp 0x00000001088da075 | |
0x00000001088da075: mov rsi,rax ;*checkcast {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@1 (line 396) | |
; ... | |
0x00000001088da078: mov edi,DWORD PTR [rsi+0x14] ; implicit exception: dispatches to 0x00000001088da5c4 | |
0x00000001088da07b: shl rdi,0x3 ;*getfield form {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@6 (line 397) | |
; ... | |
0x00000001088da07f: mov edi,DWORD PTR [rdi+0x1c] ; implicit exception: dispatches to 0x00000001088da5c9 | |
0x00000001088da082: shl rdi,0x3 ;*getfield customized {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@9 (line 397) | |
; ... | |
0x00000001088da086: cmp rdi,0x0 | |
0x00000001088da08a: jne 0x00000001088da0a4 ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@12 (line 397) | |
; ... | |
0x00000001088da090: nop... | |
0x00000001088da097: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [432]=Oop [440]=Oop off=348} | |
;*invokestatic maybeCustomize {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@16 (line 398) | |
; ... | |
0x00000001088da09c: mov rax,QWORD PTR [rsp+0x1b8] | |
0x00000001088da0a4: cmp rax,0x0 | |
0x00000001088da0a8: je 0x00000001088da0ce | |
0x00000001088da0ae: movabs rbx,0x7c000b508 ; {metadata('java/lang/invoke/MethodHandle')} | |
0x00000001088da0b8: mov esi,DWORD PTR [rax+0x8] | |
0x00000001088da0bb: shl rsi,0x3 | |
0x00000001088da0bf: cmp rbx,QWORD PTR [rsi+0x30] | |
0x00000001088da0c3: jne 0x00000001088da5ce | |
0x00000001088da0c9: jmp 0x00000001088da0ce | |
0x00000001088da0ce: mov rsi,rax ;*checkcast {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/110431793::exactInvoker@41 | |
; ... | |
0x00000001088da0d1: cmp rax,QWORD PTR [rsi] ; implicit exception: dispatches to 0x00000001088da5d7 | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/110431793::exactInvoker@47 | |
; ... | |
0x00000001088da0d4: nop... | |
0x00000001088da0d7: call 0x0000000107fbb0a0 ; OopMap{[424]=Oop [400]=Oop [432]=Oop off=412} | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/110431793::exactInvoker@47 | |
; ... | |
0x00000001088da0dc: and eax,0x1 | |
0x00000001088da0df: movabs rdx,0x7b8124aa0 ; {oop([I)} | |
0x00000001088da0e9: mov rsi,rax ;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@51 | |
; ... | |
0x00000001088da0ec: nop... | |
0x00000001088da0ef: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [432]=Oop off=436} | |
;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@51 | |
; ... | |
0x00000001088da0f4: and eax,0x1 | |
0x00000001088da0f7: cmp eax,0x0 | |
0x00000001088da0fa: je 0x00000001088da1f1 ;*ifeq {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@60 | |
; ... | |
0x00000001088da100: movabs rsi,0x7a0c768c0 ; {oop(a 'org/jruby/RubyClass')} | |
0x00000001088da10a: mov rdx,QWORD PTR [rsp+0x1b0] | |
0x00000001088da112: movabs rcx,0x7b804ef70 ;*invokestatic linkToStatic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/625576447::invokeStatic_LL_I@11 | |
; ... | |
0x00000001088da11c: nop... | |
0x00000001088da11f: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [432]=Oop off=484} | |
;*invokestatic linkToStatic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/625576447::invokeStatic_LL_I@11 | |
; ... | |
0x00000001088da124: and eax,0x1 | |
0x00000001088da127: movabs rdx,0x7b81194e8 ; {oop([I)} | |
0x00000001088da131: mov rsi,rax ;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@51 | |
; ... | |
0x00000001088da134: nop... | |
0x00000001088da137: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [432]=Oop off=508} | |
;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@51 | |
; ... | |
0x00000001088da13c: and eax,0x1 | |
0x00000001088da13f: cmp eax,0x0 | |
0x00000001088da142: mov rax,QWORD PTR [rsp+0x1b0] | |
0x00000001088da14a: je 0x00000001088da1c9 ;*ifeq {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@60 | |
; ... | |
0x00000001088da150: cmp rax,0x0 | |
0x00000001088da154: je 0x00000001088da19d ;*ifnull {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandleImpl::castReference@1 (line 355) | |
; ... | |
0x00000001088da15a: cmp rax,0x0 | |
0x00000001088da15e: je 0x00000001088da185 | |
0x00000001088da164: movabs rcx,0x7c00fcc50 ; {metadata('org/jruby/RubyArray')} | |
0x00000001088da16e: mov r8d,DWORD PTR [rax+0x8] | |
0x00000001088da172: shl r8,0x3 | |
0x00000001088da176: cmp rcx,QWORD PTR [r8+0x40] | |
0x00000001088da17a: jne 0x00000001088da185 | |
0x00000001088da180: jmp 0x00000001088da18a | |
0x00000001088da185: xor rsi,rsi | |
0x00000001088da188: jmp 0x00000001088da194 | |
0x00000001088da18a: movabs rsi,0x1 ;*invokevirtual isInstance {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandleImpl::castReference@6 (line 355) | |
; ... | |
0x00000001088da194: cmp esi,0x0 | |
0x00000001088da197: je 0x00000001088da4ff ;*ifne {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandleImpl::castReference@9 (line 355) | |
; ... | |
0x00000001088da19d: movabs rcx,0x7a0c3cb48 ; {oop(a 'org/jruby/runtime/Block')} | |
0x00000001088da1a7: mov rsi,rax | |
0x00000001088da1aa: mov rdx,QWORD PTR [rsp+0x190] | |
0x00000001088da1b2: movabs r8,0x7b80f3f68 ;*invokestatic linkToVirtual {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/1773206895::invokeVirtual_L3_L@14 | |
; ... | |
0x00000001088da1bc: nop... | |
0x00000001088da1bf: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop off=644} | |
;*invokestatic linkToVirtual {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/1773206895::invokeVirtual_L3_L@14 | |
; ... | |
0x00000001088da1c4: jmp 0x00000001088da21c ;*goto {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@81 | |
; ... | |
0x00000001088da1c9: movabs rsi,0x7b811c818 ; {oop(a 'java/lang/invoke/MethodHandleImpl$CountingWrapper')} | |
0x00000001088da1d3: mov rdx,QWORD PTR [rsp+0x190] | |
0x00000001088da1db: mov rcx,QWORD PTR [rsp+0x1a8] | |
0x00000001088da1e3: mov r8,rax ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@99 | |
; ... | |
0x00000001088da1e6: nop | |
0x00000001088da1e7: call 0x0000000107fbb0a0 ; OopMap{[424]=Oop [400]=Oop off=684} | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@99 | |
; ... | |
0x00000001088da1ec: jmp 0x00000001088da21c ;*areturn {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@102 | |
; ... | |
0x00000001088da1f1: mov rax,QWORD PTR [rsp+0x1b0] | |
0x00000001088da1f9: movabs rsi,0x7b8124ae8 ; {oop(a 'java/lang/invoke/MethodHandleImpl$CountingWrapper')} | |
0x00000001088da203: mov rdx,QWORD PTR [rsp+0x190] | |
0x00000001088da20b: mov rcx,QWORD PTR [rsp+0x1a8] | |
0x00000001088da213: mov r8,rax ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@99 | |
; ... | |
0x00000001088da216: nop | |
0x00000001088da217: call 0x0000000107fbb0a0 ; OopMap{[424]=Oop [400]=Oop off=732} | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/767010715::guard@99 | |
; ... | |
0x00000001088da21c: mov QWORD PTR [rsp+0x1c0],rax | |
0x00000001088da224: movabs rsi,0x7b80f1360 ; {oop(a 'java/lang/invoke/MutableCallSite')} | |
0x00000001088da22e: movabs rdx,0x7a0cc8570 ; {oop(a 'java/lang/invoke/MemberName' = {method} {0x00000001053f4e60} 'getTarget' '()Ljava/lang/invoke/MethodHandle;' in 'java/lang/invoke/CallSite')} | |
0x00000001088da238: nop... | |
0x00000001088da23f: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [448]=Oop off=772} | |
;*invokestatic linkToVirtual {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/664740647::invokeVirtual_L_L@10 | |
; ... | |
0x00000001088da244: mov QWORD PTR [rsp+0x1c8],rax | |
0x00000001088da24c: cmp rax,0x0 | |
0x00000001088da250: je 0x00000001088da276 | |
0x00000001088da256: movabs rbx,0x7c000b508 ; {metadata('java/lang/invoke/MethodHandle')} | |
0x00000001088da260: mov edx,DWORD PTR [rax+0x8] | |
0x00000001088da263: shl rdx,0x3 | |
0x00000001088da267: cmp rbx,QWORD PTR [rdx+0x30] | |
0x00000001088da26b: jne 0x00000001088da5dc | |
0x00000001088da271: jmp 0x00000001088da276 | |
0x00000001088da276: mov rsi,rax ;*checkcast {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkExactType@1 (line 305) | |
; ... | |
0x00000001088da279: mov edi,DWORD PTR [rsi+0x10] ; implicit exception: dispatches to 0x00000001088da5e5 | |
0x00000001088da27c: shl rdi,0x3 ;*getfield type {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandle::type@1 (line 446) | |
; ... | |
0x00000001088da280: movabs rsi,0x7a0c327e8 ; {oop(a 'java/lang/invoke/MethodType' = ()Z)} | |
0x00000001088da28a: cmp rdi,rsi | |
0x00000001088da28d: jne 0x00000001088da4d7 ;*if_acmpeq {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkExactType@19 (line 308) | |
; ... | |
0x00000001088da293: cmp rax,0x0 | |
0x00000001088da297: je 0x00000001088da2bd | |
0x00000001088da29d: movabs rbx,0x7c000b508 ; {metadata('java/lang/invoke/MethodHandle')} | |
0x00000001088da2a7: mov edx,DWORD PTR [rax+0x8] | |
0x00000001088da2aa: shl rdx,0x3 | |
0x00000001088da2ae: cmp rbx,QWORD PTR [rdx+0x30] | |
0x00000001088da2b2: jne 0x00000001088da5ea | |
0x00000001088da2b8: jmp 0x00000001088da2bd | |
0x00000001088da2bd: mov rsi,rax ;*checkcast {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@1 (line 396) | |
; ... | |
0x00000001088da2c0: mov edi,DWORD PTR [rsi+0x14] ; implicit exception: dispatches to 0x00000001088da5f3 | |
0x00000001088da2c3: shl rdi,0x3 ;*getfield form {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@6 (line 397) | |
; ... | |
0x00000001088da2c7: mov edi,DWORD PTR [rdi+0x1c] ; implicit exception: dispatches to 0x00000001088da5f8 | |
0x00000001088da2ca: shl rdi,0x3 ;*getfield customized {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@9 (line 397) | |
; ... | |
0x00000001088da2ce: cmp rdi,0x0 | |
0x00000001088da2d2: jne 0x00000001088da2ec ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@12 (line 397) | |
; ... | |
0x00000001088da2d8: nop... | |
0x00000001088da2df: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [448]=Oop [456]=Oop off=932} | |
;*invokestatic maybeCustomize {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.Invokers::checkCustomized@16 (line 398) | |
; ... | |
0x00000001088da2e4: mov rax,QWORD PTR [rsp+0x1c8] | |
0x00000001088da2ec: cmp rax,0x0 | |
0x00000001088da2f0: je 0x00000001088da316 | |
0x00000001088da2f6: movabs rbx,0x7c000b508 ; {metadata('java/lang/invoke/MethodHandle')} | |
0x00000001088da300: mov esi,DWORD PTR [rax+0x8] | |
0x00000001088da303: shl rsi,0x3 | |
0x00000001088da307: cmp rbx,QWORD PTR [rsi+0x30] | |
0x00000001088da30b: jne 0x00000001088da5fd | |
0x00000001088da311: jmp 0x00000001088da316 | |
0x00000001088da316: mov rsi,rax ;*checkcast {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/1728790703::exactInvoker@41 | |
; ... | |
0x00000001088da319: cmp rax,QWORD PTR [rsi] ; implicit exception: dispatches to 0x00000001088da606 | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/1728790703::exactInvoker@47 | |
; ... | |
0x00000001088da31c: nop... | |
0x00000001088da31f: call 0x0000000107fbb0a0 ; OopMap{[424]=Oop [400]=Oop [448]=Oop off=996} | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/1728790703::exactInvoker@47 | |
; ... | |
0x00000001088da324: and eax,0x1 | |
0x00000001088da327: movabs rdx,0x7b8143848 ; {oop([I)} | |
0x00000001088da331: mov rsi,rax ;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@53 | |
; ... | |
0x00000001088da334: nop... | |
0x00000001088da337: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [448]=Oop off=1020} | |
;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@53 | |
; ... | |
0x00000001088da33c: and eax,0x1 | |
0x00000001088da33f: cmp eax,0x0 | |
0x00000001088da342: je 0x00000001088da441 ;*ifeq {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@62 | |
; ... | |
0x00000001088da348: movabs rsi,0x7a0c768c0 ; {oop(a 'org/jruby/RubyClass')} | |
0x00000001088da352: mov rdx,QWORD PTR [rsp+0x1c0] | |
0x00000001088da35a: movabs rcx,0x7b804ef70 ;*invokestatic linkToStatic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/625576447::invokeStatic_LL_I@11 | |
; ... | |
0x00000001088da364: nop... | |
0x00000001088da367: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [448]=Oop off=1068} | |
;*invokestatic linkToStatic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/625576447::invokeStatic_LL_I@11 | |
; ... | |
0x00000001088da36c: and eax,0x1 | |
0x00000001088da36f: movabs rdx,0x7b8143358 ; {oop([I)} | |
0x00000001088da379: mov rsi,rax ;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@53 | |
; ... | |
0x00000001088da37c: nop... | |
0x00000001088da37f: call 0x0000000107fbb520 ; OopMap{[424]=Oop [400]=Oop [448]=Oop off=1092} | |
;*invokestatic profileBoolean {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@53 | |
; ... | |
0x00000001088da384: and eax,0x1 | |
0x00000001088da387: cmp eax,0x0 | |
0x00000001088da38a: mov rax,QWORD PTR [rsp+0x1c0] | |
0x00000001088da392: je 0x00000001088da409 ;*ifeq {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@62 | |
; ... | |
0x00000001088da398: cmp rax,0x0 | |
0x00000001088da39c: je 0x00000001088da3e4 ;*ifnull {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandleImpl::castReference@1 (line 355) | |
; ... | |
0x00000001088da3a2: cmp rax,0x0 | |
0x00000001088da3a6: je 0x00000001088da3cc | |
0x00000001088da3ac: movabs rcx,0x7c00fcc50 ; {metadata('org/jruby/RubyArray')} | |
0x00000001088da3b6: mov edi,DWORD PTR [rax+0x8] | |
0x00000001088da3b9: shl rdi,0x3 | |
0x00000001088da3bd: cmp rcx,QWORD PTR [rdi+0x40] | |
0x00000001088da3c1: jne 0x00000001088da3cc | |
0x00000001088da3c7: jmp 0x00000001088da3d1 | |
0x00000001088da3cc: xor rsi,rsi | |
0x00000001088da3cf: jmp 0x00000001088da3db | |
0x00000001088da3d1: movabs rsi,0x1 ;*invokevirtual isInstance {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandleImpl::castReference@6 (line 355) | |
; ... | |
0x00000001088da3db: cmp esi,0x0 | |
0x00000001088da3de: je 0x00000001088da4ab ;*ifne {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.MethodHandleImpl::castReference@9 (line 355) | |
; ... | |
0x00000001088da3e4: movabs rdx,0x7a0d7ea10 ; {oop(a 'org/jruby/RubyFixnum')} | |
0x00000001088da3ee: mov rsi,rax | |
0x00000001088da3f1: movabs rcx,0x7b8136610 ;*invokestatic linkToVirtual {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/1581781576::invokeVirtual_LL_L@11 | |
; ... | |
0x00000001088da3fb: nop... | |
0x00000001088da3ff: call 0x0000000107fbb520 ; OopMap{[400]=Oop off=1220} | |
;*invokestatic linkToVirtual {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$DMH/1581781576::invokeVirtual_LL_L@11 | |
; ... | |
0x00000001088da404: jmp 0x00000001088da47c ;*goto {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@85 | |
; ... | |
0x00000001088da409: movabs rsi,0x7b81433a0 ; {oop(a 'java/lang/invoke/MethodHandleImpl$CountingWrapper')} | |
0x00000001088da413: movabs r9,0x7a0d7ea10 ; {oop(a 'org/jruby/RubyFixnum')} | |
0x00000001088da41d: mov rdx,QWORD PTR [rsp+0x190] | |
0x00000001088da425: mov rcx,QWORD PTR [rsp+0x1a8] | |
0x00000001088da42d: mov r8,rax ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@105 | |
; ... | |
0x00000001088da430: nop... | |
0x00000001088da437: call 0x0000000107fbb0a0 ; OopMap{[400]=Oop off=1276} | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@105 | |
; ... | |
0x00000001088da43c: jmp 0x00000001088da47c ;*areturn {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@108 | |
; ... | |
0x00000001088da441: mov rax,QWORD PTR [rsp+0x1c0] | |
0x00000001088da449: movabs rsi,0x7b8143890 ; {oop(a 'java/lang/invoke/MethodHandleImpl$CountingWrapper')} | |
0x00000001088da453: movabs r9,0x7a0d7ea10 ; {oop(a 'org/jruby/RubyFixnum')} | |
0x00000001088da45d: mov rdx,QWORD PTR [rsp+0x190] | |
0x00000001088da465: mov rcx,QWORD PTR [rsp+0x1a8] | |
0x00000001088da46d: mov r8,rax ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@105 | |
; .. | |
0x00000001088da470: nop... | |
0x00000001088da477: call 0x0000000107fbb0a0 ; OopMap{[400]=Oop off=1340} | |
;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0} | |
; - java.lang.invoke.LambdaForm$MH/2619171::guard@105 | |
; ... | |
0x00000001088da47c: mov QWORD PTR [rsp+0x1d0],rax | |
0x00000001088da484: mov rsi,QWORD PTR [rsp+0x190] | |
;*invokespecial popBackrefFrame {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.runtime.ThreadContext::postBackrefMethod@1 (line 942) | |
; ... | |
0x00000001088da48c: nop... | |
0x00000001088da48f: call 0x0000000107fbb0a0 ; OopMap{[400]=Oop [464]=Oop off=1364} | |
;*invokespecial popBackrefFrame {reexecute=0 rethrow=0 return_oop=0} | |
; - org.jruby.runtime.ThreadContext::postBackrefMethod@1 (line 942) | |
; ... | |
0x00000001088da494: mov rax,QWORD PTR [rsp+0x1d0] | |
0x00000001088da49c: add rsp,0x1f0 | |
0x00000001088da4a3: pop rbp | |
0x00000001088da4a4: test DWORD PTR [rip+0xfffffffff990ec56],eax | |
0x00000001088da4aa: ret | |
...slow path code |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment