Skip to content

Instantly share code, notes, and snippets.

@scientific-coder
Last active December 24, 2015 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scientific-coder/6778173 to your computer and use it in GitHub Desktop.
Save scientific-coder/6778173 to your computer and use it in GitHub Desktop.
amap & areduce
Decoding compiled method 0x00007fe951138a90:
Code:
[Entry Point]
[Constants]
# {method} '<init>' '(Ljava/net/URLClassLoader;Ljava/lang/String;)V' in 'java/net/URLClassLoader$1'
# this: rsi:rsi = 'java/net/URLClassLoader$1'
# parm0: rdx:rdx = 'java/net/URLClassLoader'
# parm1: rcx:rcx = 'java/lang/String'
# [sp+0x20] (sp of caller)
0x00007fe951138bc0: mov 0x8(%rsi),%r10d
0x00007fe951138bc4: shl $0x3,%r10
0x00007fe951138bc8: cmp %r10,%rax
0x00007fe951138bcb: jne 0x00007fe951037960 ; {runtime_call}
0x00007fe951138bd1: xchg %ax,%ax
0x00007fe951138bd4: nopl 0x0(%rax,%rax,1)
0x00007fe951138bdc: xchg %ax,%ax
[Verified Entry Point]
0x00007fe951138be0: sub $0x18,%rsp
0x00007fe951138be7: mov %rbp,0x10(%rsp) ;*synchronization entry
; - java.net.URLClassLoader$1::<init>@-1 (line 355)
0x00007fe951138bec: mov %rsi,%r10
0x00007fe951138bef: mov %rdx,%r8
0x00007fe951138bf2: shr $0x3,%r8
0x00007fe951138bf6: mov %r8d,0x10(%rsi) ;*putfield this$0
; - java.net.URLClassLoader$1::<init>@2 (line 355)
0x00007fe951138bfa: shr $0x9,%r10
0x00007fe951138bfe: mov %rcx,%r11
0x00007fe951138c01: shr $0x3,%r11
0x00007fe951138c05: mov %r11d,0xc(%rsi) ;*putfield val$name
; - java.net.URLClassLoader$1::<init>@7 (line 355)
0x00007fe951138c09: mov $0x7fe94cfff000,%r11
0x00007fe951138c13: mov %r12b,(%r11,%r10,1) ;*putfield this$0
; - java.net.URLClassLoader$1::<init>@2 (line 355)
0x00007fe951138c17: add $0x10,%rsp
0x00007fe951138c1b: pop %rbp
0x00007fe951138c1c: test %eax,0xa0603de(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe951138c22: retq
0x00007fe951138c23: hlt
0x00007fe951138c24: hlt
0x00007fe951138c25: hlt
0x00007fe951138c26: hlt
0x00007fe951138c27: hlt
0x00007fe951138c28: hlt
0x00007fe951138c29: hlt
0x00007fe951138c2a: hlt
0x00007fe951138c2b: hlt
0x00007fe951138c2c: hlt
0x00007fe951138c2d: hlt
0x00007fe951138c2e: hlt
0x00007fe951138c2f: hlt
0x00007fe951138c30: hlt
0x00007fe951138c31: hlt
0x00007fe951138c32: hlt
0x00007fe951138c33: hlt
0x00007fe951138c34: hlt
0x00007fe951138c35: hlt
0x00007fe951138c36: hlt
0x00007fe951138c37: hlt
0x00007fe951138c38: hlt
0x00007fe951138c39: hlt
0x00007fe951138c3a: hlt
0x00007fe951138c3b: hlt
0x00007fe951138c3c: hlt
0x00007fe951138c3d: hlt
0x00007fe951138c3e: hlt
0x00007fe951138c3f: hlt
[Exception Handler]
[Stub Code]
0x00007fe951138c40: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe951138c45: callq 0x00007fe951138c4a
0x00007fe951138c4a: subq $0x5,(%rsp)
0x00007fe951138c4f: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe951138c54: hlt
0x00007fe951138c55: hlt
0x00007fe951138c56: hlt
0x00007fe951138c57: hlt
Decoding compiled method 0x00007fe9511a68d0:
Code:
[Entry Point]
[Constants]
# {method} 'run' '()Ljava/lang/Object;' in 'java/net/URLClassLoader$1'
# [sp+0x50] (sp of caller)
0x00007fe9511a6a80: mov 0x8(%rsi),%r10d
0x00007fe9511a6a84: shl $0x3,%r10
0x00007fe9511a6a88: cmp %r10,%rax
0x00007fe9511a6a8b: jne 0x00007fe951037960 ; {runtime_call}
0x00007fe9511a6a91: xchg %ax,%ax
0x00007fe9511a6a94: nopl 0x0(%rax,%rax,1)
0x00007fe9511a6a9c: xchg %ax,%ax
[Verified Entry Point]
0x00007fe9511a6aa0: mov %eax,-0x14000(%rsp)
0x00007fe9511a6aa7: push %rbp
0x00007fe9511a6aa8: sub $0x40,%rsp ;*synchronization entry
; - java.net.URLClassLoader$1::run@-1 (line 355)
0x00007fe9511a6aac: mov %rsi,(%rsp)
0x00007fe9511a6ab0: mov 0xc(%rsi),%r10d ;*getfield val$name
; - java.net.URLClassLoader$1::run@1 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ab4: test %r10d,%r10d
0x00007fe9511a6ab7: je 0x00007fe9511a6dd1 ;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6abd: lea (%r12,%r10,8),%rsi ;*getfield val$name
; - java.net.URLClassLoader$1::run@1 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ac1: mov $0x2e,%edx
0x00007fe9511a6ac6: mov $0x2f,%ecx
0x00007fe9511a6acb: callq 0x00007fe951037b60 ; OopMap{[0]=Oop off=80}
;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {optimized virtual_call}
0x00007fe9511a6ad0: mov 0xc(%rax),%r8d ;*getfield value
; - java.lang.String::concat@12 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; implicit exception: dispatches to 0x00007fe9511a6e54
0x00007fe9511a6ad4: mov 0xc(%r12,%r8,8),%edi ;*arraylength
; - java.lang.String::concat@15 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; implicit exception: dispatches to 0x00007fe9511a6e69
0x00007fe9511a6ad9: mov %edi,%r10d
0x00007fe9511a6adc: add $0x6,%r10d ;*iadd
; - java.lang.String::concat@23 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ae0: movslq %edi,%rbx
0x00007fe9511a6ae3: shl %rbx ;*invokestatic arraycopy
; - java.lang.String::getChars@12 (line 783)
; - java.lang.String::concat@33 (line 1976)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ae6: mov %rbx,%r11
0x00007fe9511a6ae9: add $0x23,%r11
0x00007fe9511a6aed: mov %r11,%rdx
0x00007fe9511a6af0: and $0xfffffffffffffff8,%rdx
0x00007fe9511a6af4: cmp $0x80000,%r10d
0x00007fe9511a6afb: ja 0x00007fe9511a6d60
0x00007fe9511a6b01: mov 0x60(%r15),%rbp
0x00007fe9511a6b05: mov %rbp,%r9
0x00007fe9511a6b08: add %rdx,%r9
0x00007fe9511a6b0b: cmp 0x70(%r15),%r9
0x00007fe9511a6b0f: jae 0x00007fe9511a6d60
0x00007fe9511a6b15: mov %r9,0x60(%r15)
0x00007fe9511a6b19: prefetchnta 0xc0(%r9)
0x00007fe9511a6b21: movq $0x1,0x0(%rbp)
0x00007fe9511a6b29: prefetchnta 0x100(%r9)
0x00007fe9511a6b31: movl $0xe02400c5,0x8(%rbp) ; {oop({type array char})}
0x00007fe9511a6b38: mov %r10d,0xc(%rbp)
0x00007fe9511a6b3c: prefetchnta 0x140(%r9)
0x00007fe9511a6b44: prefetchnta 0x180(%r9) ;*newarray
; - java.util.Arrays::copyOf@1 (line 2367)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6b4c: cmp %r10d,%edi
0x00007fe9511a6b4f: mov %r10d,%r9d
0x00007fe9511a6b52: cmovl %edi,%r9d ;*invokestatic min
; - java.util.Arrays::copyOf@11 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6b56: mov %rbp,%r13
0x00007fe9511a6b59: add $0x10,%r13
0x00007fe9511a6b5d: shr $0x3,%r11 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6b61: lea (%r12,%r8,8),%rsi ;*getfield value
; - java.lang.String::concat@12 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6b65: mov %r11,%rcx
0x00007fe9511a6b68: add $0xfffffffffffffffe,%rcx
0x00007fe9511a6b6c: cmp %r9d,%edi
0x00007fe9511a6b6f: jb 0x00007fe9511a6dfd
0x00007fe9511a6b75: cmp %r9d,%r10d
0x00007fe9511a6b78: jb 0x00007fe9511a6dfd
0x00007fe9511a6b7e: test %r9d,%r9d
0x00007fe9511a6b81: jle 0x00007fe9511a6e2a
0x00007fe9511a6b87: lea 0x10(%r12,%r8,8),%r8
0x00007fe9511a6b8c: cmp %r10d,%r9d
0x00007fe9511a6b8f: jl 0x00007fe9511a6d00
0x00007fe9511a6b95: add $0xfffffffffffffff0,%rdx
0x00007fe9511a6b99: shr $0x3,%rdx
0x00007fe9511a6b9d: mov %r8,%rdi
0x00007fe9511a6ba0: mov %r13,%rsi
0x00007fe9511a6ba3: mov $0x7fe951042360,%r10
0x00007fe9511a6bad: callq *%r10 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6bb0: lea 0x10(%rbp,%rbx,1),%rsi
0x00007fe9511a6bb5: mov $0x6,%edx
0x00007fe9511a6bba: mov $0x7066c06e0,%rdi ; {oop([C)}
0x00007fe9511a6bc4: add $0x10,%rdi
0x00007fe9511a6bc8: mov $0x7fe951042120,%r10
0x00007fe9511a6bd2: callq *%r10 ;*invokestatic arraycopy
; - java.lang.String::getChars@12 (line 783)
; - java.lang.String::concat@33 (line 1976)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6bd5: mov 0x60(%r15),%rdx
0x00007fe9511a6bd9: mov %rdx,%r10
0x00007fe9511a6bdc: add $0x18,%r10
0x00007fe9511a6be0: cmp 0x70(%r15),%r10
0x00007fe9511a6be4: jae 0x00007fe9511a6d46
0x00007fe9511a6bea: mov %r10,0x60(%r15)
0x00007fe9511a6bee: prefetchnta 0xc0(%r10)
0x00007fe9511a6bf6: mov $0xe02415bb,%r10d ; {oop('java/lang/String')}
0x00007fe9511a6bfc: mov 0xb0(%r12,%r10,8),%r10
0x00007fe9511a6c04: mov %r10,(%rdx)
0x00007fe9511a6c07: movl $0xe02415bb,0x8(%rdx) ; {oop('java/lang/String')}
0x00007fe9511a6c0e: mov %r12d,0xc(%rdx)
0x00007fe9511a6c12: mov %r12,0x10(%rdx) ;*new ; - java.lang.String::concat@36 (line 1977)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c16: mov %rbp,%r11
0x00007fe9511a6c19: shr $0x3,%r11
0x00007fe9511a6c1d: mov %r11d,0xc(%rdx)
0x00007fe9511a6c21: mov %rdx,%r10
0x00007fe9511a6c24: shr $0x9,%r10
0x00007fe9511a6c28: mov $0x7fe94cfff000,%r11
0x00007fe9511a6c32: mov %r12b,(%r11,%r10,1) ;*synchronization entry
; - java.lang.String::concat@-1 (line 1970)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c36: mov (%rsp),%r10
0x00007fe9511a6c3a: mov 0x10(%r10),%r10d ;*getfield this$0
; - java.net.URLClassLoader$1::run@18 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c3e: mov 0x44(%r12,%r10,8),%r11d ;*getfield ucp
; - java.net.URLClassLoader::access$000@1 (line 71)
; - java.net.URLClassLoader$1::run@21 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
; implicit exception: dispatches to 0x00007fe9511a6e7d
0x00007fe9511a6c43: test %r11d,%r11d
0x00007fe9511a6c46: je 0x00007fe9511a6de5 ;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c4c: lea (%r12,%r11,8),%rsi ;*getfield ucp
; - java.net.URLClassLoader::access$000@1 (line 71)
; - java.net.URLClassLoader$1::run@21 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c50: xor %ecx,%ecx
0x00007fe9511a6c52: nop
0x00007fe9511a6c53: callq 0x00007fe951037b60 ; OopMap{[0]=Oop off=472}
;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {optimized virtual_call}
0x00007fe9511a6c58: mov (%rsp),%r10
0x00007fe9511a6c5c: mov 0xc(%r10),%r10d
0x00007fe9511a6c60: shl $0x3,%r10 ;*getfield val$name
; - java.net.URLClassLoader$1::run@39 (line 361)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c64: mov %r10,0x8(%rsp)
0x00007fe9511a6c69: mov $0xe02452d9,%ebp ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511a6c6e: test %rax,%rax
0x00007fe9511a6c71: jne 0x00007fe9511a6cd5 ;*ifnull
; - java.net.URLClassLoader$1::run@31 (line 359)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6c73: mov 0x60(%r15),%rax
0x00007fe9511a6c77: mov %rax,%r10
0x00007fe9511a6c7a: add $0x28,%r10
0x00007fe9511a6c7e: cmp 0x70(%r15),%r10
0x00007fe9511a6c82: jae 0x00007fe9511a6db9
0x00007fe9511a6c88: mov %r10,0x60(%r15)
0x00007fe9511a6c8c: prefetchnta 0xc0(%r10)
0x00007fe9511a6c94: mov 0xb0(%r12,%rbp,8),%r10
0x00007fe9511a6c9c: mov %r10,(%rax)
0x00007fe9511a6c9f: movl $0xe02452d9,0x8(%rax) ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511a6ca6: mov %r12d,0xc(%rax)
0x00007fe9511a6caa: mov %r12,0x10(%rax)
0x00007fe9511a6cae: mov %r12,0x18(%rax)
0x00007fe9511a6cb2: mov %r12,0x20(%rax)
0x00007fe9511a6cb6: mov %rax,%rbp ;*new ; - java.net.URLClassLoader$1::run@61 (line 366)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6cb9: mov %rbp,%rsi
0x00007fe9511a6cbc: mov 0x8(%rsp),%rdx
0x00007fe9511a6cc1: xchg %ax,%ax
0x00007fe9511a6cc3: callq 0x00007fe951037b60 ; OopMap{rbp=Oop off=584}
;*invokespecial <init>
; - java.net.URLClassLoader$1::run@69 (line 366)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {optimized virtual_call}
0x00007fe9511a6cc8: mov %rbp,%rsi ;*invokespecial <init>
; - java.net.URLClassLoader$1::run@57 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ccb: add $0x40,%rsp
0x00007fe9511a6ccf: pop %rbp
0x00007fe9511a6cd0: jmpq 0x00007fe9510623a0 ; {runtime_call}
0x00007fe9511a6cd5: mov (%rsp),%r10
0x00007fe9511a6cd9: mov 0x10(%r10),%r11d
0x00007fe9511a6cdd: mov %r11,%rsi
0x00007fe9511a6ce0: shl $0x3,%rsi ;*getfield this$0
; - java.net.URLClassLoader$1::run@35 (line 361)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ce4: mov 0x8(%rsp),%rdx
0x00007fe9511a6ce9: mov %rax,%rcx
0x00007fe9511a6cec: xchg %ax,%ax
0x00007fe9511a6cef: callq 0x00007fe951037f60 ; OopMap{rbp=NarrowOop [0]=Oop off=628}
;*invokestatic access$100
; - java.net.URLClassLoader$1::run@43 (line 361)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {static_call}
0x00007fe9511a6cf4: add $0x40,%rsp
0x00007fe9511a6cf8: pop %rbp
0x00007fe9511a6cf9: test %eax,0x9ff2301(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe9511a6cff: retq
0x00007fe9511a6d00: movslq %r9d,%rdx
0x00007fe9511a6d03: mov %rdx,%r10
0x00007fe9511a6d06: shl %r10
0x00007fe9511a6d09: add $0x10,%r10
0x00007fe9511a6d0d: mov %r10,%r9
0x00007fe9511a6d10: and $0xfffffffffffffff9,%r9
0x00007fe9511a6d14: mov %rbp,%rdi
0x00007fe9511a6d17: add %r9,%rdi
0x00007fe9511a6d1a: shr $0x3,%r10
0x00007fe9511a6d1e: sub %r10,%r11
0x00007fe9511a6d21: mov %r11,%rcx
0x00007fe9511a6d24: xor %rax,%rax
0x00007fe9511a6d27: shl $0x3,%rcx
0x00007fe9511a6d2b: rex.W rep stos %al,%es:(%rdi)
0x00007fe9511a6d2e: mov %r8,%rdi
0x00007fe9511a6d31: mov %r13,%rsi
0x00007fe9511a6d34: mov $0x7fe951042040,%r10
0x00007fe9511a6d3e: callq *%r10 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6d41: jmpq 0x00007fe9511a6bb0
0x00007fe9511a6d46: mov $0x70120add8,%rsi ; {oop('java/lang/String')}
0x00007fe9511a6d50: xchg %ax,%ax
0x00007fe9511a6d53: callq 0x00007fe95105f560 ; OopMap{rbp=Oop [0]=Oop off=728}
;*new ; - java.lang.String::concat@36 (line 1977)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6d58: mov %rax,%rdx
0x00007fe9511a6d5b: jmpq 0x00007fe9511a6c16
0x00007fe9511a6d60: mov %rbx,0x28(%rsp)
0x00007fe9511a6d65: mov %edi,0x20(%rsp)
0x00007fe9511a6d69: mov %rdx,0x18(%rsp)
0x00007fe9511a6d6e: mov %r11,0x10(%rsp)
0x00007fe9511a6d73: mov %r10d,0xc(%rsp)
0x00007fe9511a6d78: mov %r8d,0x8(%rsp)
0x00007fe9511a6d7d: mov (%rsp),%rbp
0x00007fe9511a6d81: mov $0x701200628,%rsi ; {oop({type array char})}
0x00007fe9511a6d8b: mov %r10d,%edx
0x00007fe9511a6d8e: nop
0x00007fe9511a6d8f: callq 0x00007fe95105f3e0 ; OopMap{rbp=Oop [0]=Oop [8]=NarrowOop off=788}
;*newarray
; - java.util.Arrays::copyOf@1 (line 2367)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6d94: mov 0x8(%rsp),%r8d
0x00007fe9511a6d99: mov 0xc(%rsp),%r10d
0x00007fe9511a6d9e: mov 0x10(%rsp),%r11
0x00007fe9511a6da3: mov 0x18(%rsp),%rdx
0x00007fe9511a6da8: mov %rax,%rbp
0x00007fe9511a6dab: mov 0x20(%rsp),%edi
0x00007fe9511a6daf: mov 0x28(%rsp),%rbx
0x00007fe9511a6db4: jmpq 0x00007fe9511a6b4c
0x00007fe9511a6db9: mov $0x7012296c8,%rsi ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511a6dc3: mov (%rsp),%rbp
0x00007fe9511a6dc7: callq 0x00007fe95105f560 ; OopMap{rbp=Oop [8]=Oop off=844}
;*new ; - java.net.URLClassLoader$1::run@61 (line 366)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6dcc: jmpq 0x00007fe9511a6cb6
0x00007fe9511a6dd1: mov $0xfffffff6,%esi
0x00007fe9511a6dd6: mov (%rsp),%rbp
0x00007fe9511a6dda: nop
0x00007fe9511a6ddb: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=864}
;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6de0: callq 0x00007fe959f3fb10 ;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6de5: mov $0xfffffff6,%esi
0x00007fe9511a6dea: mov (%rsp),%rbp
0x00007fe9511a6dee: mov %rdx,(%rsp)
0x00007fe9511a6df2: nop
0x00007fe9511a6df3: callq 0x00007fe951039320 ; OopMap{rbp=Oop [0]=Oop off=888}
;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6df8: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511a6dfd: mov %rbx,0x10(%rsp)
0x00007fe9511a6e02: mov %edi,0x8(%rsp)
0x00007fe9511a6e06: mov %r13,%rdi
0x00007fe9511a6e09: xor %rax,%rax
0x00007fe9511a6e0c: shl $0x3,%rcx
0x00007fe9511a6e10: rex.W rep stos %al,%es:(%rdi)
0x00007fe9511a6e13: xor %edx,%edx
0x00007fe9511a6e15: mov %rbp,%rcx
0x00007fe9511a6e18: xor %r8d,%r8d
0x00007fe9511a6e1b: callq 0x00007fe9510624a0 ; OopMap{rbp=Oop [0]=Oop off=928}
;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6e20: mov 0x10(%rsp),%rbx
0x00007fe9511a6e25: jmpq 0x00007fe9511a6bb0
0x00007fe9511a6e2a: mov %r13,%rdi
0x00007fe9511a6e2d: xor %rax,%rax
0x00007fe9511a6e30: shl $0x3,%rcx
0x00007fe9511a6e34: rex.W rep stos %al,%es:(%rdi) ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6e37: jmpq 0x00007fe9511a6bb0 ;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6e3c: mov %rax,%rsi
0x00007fe9511a6e3f: jmpq 0x00007fe9511a6ccb ;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6e44: mov %rax,%rsi
0x00007fe9511a6e47: jmpq 0x00007fe9511a6ccb ;*invokespecial <init>
; - java.net.URLClassLoader$1::run@69 (line 366)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6e4c: mov %rax,%rsi
0x00007fe9511a6e4f: jmpq 0x00007fe9511a6ccb
0x00007fe9511a6e54: mov $0xfffffff6,%esi
0x00007fe9511a6e59: mov (%rsp),%rbp
0x00007fe9511a6e5d: xchg %ax,%ax
0x00007fe9511a6e5f: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=996}
;*invokevirtual concat
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6e64: callq 0x00007fe959f3fb10 ;*invokevirtual concat
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6e69: mov $0xfffffff6,%esi
0x00007fe9511a6e6e: mov (%rsp),%rbp
0x00007fe9511a6e72: nop
0x00007fe9511a6e73: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=1016}
;*arraylength
; - java.lang.String::concat@15 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6e78: callq 0x00007fe959f3fb10 ;*arraylength
; - java.lang.String::concat@15 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6e7d: mov $0xfffffff6,%esi
0x00007fe9511a6e82: mov (%rsp),%rbp
0x00007fe9511a6e86: mov %rdx,(%rsp)
0x00007fe9511a6e8a: nop
0x00007fe9511a6e8b: callq 0x00007fe951039320 ; OopMap{rbp=Oop [0]=Oop off=1040}
;*getfield ucp
; - java.net.URLClassLoader::access$000@1 (line 71)
; - java.net.URLClassLoader$1::run@21 (line 358)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6e90: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511a6e95: mov 0x8(%rax),%r11d
0x00007fe9511a6e99: mov 0x50(%r12,%r11,8),%r10
0x00007fe9511a6e9e: mov $0x7014239e0,%r11 ; {oop('java/io/IOException')}
0x00007fe9511a6ea8: cmp %r11,%r10
0x00007fe9511a6eab: jne 0x00007fe9511a6f1c
0x00007fe9511a6ead: mov %rax,%r10 ;*invokestatic access$100
; - java.net.URLClassLoader$1::run@43 (line 361)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6eb0: mov %r10,0x8(%rsp)
0x00007fe9511a6eb5: mov 0x60(%r15),%rax
0x00007fe9511a6eb9: mov %rax,%r10
0x00007fe9511a6ebc: add $0x28,%r10
0x00007fe9511a6ec0: cmp 0x70(%r15),%r10
0x00007fe9511a6ec4: jae 0x00007fe9511a6f24
0x00007fe9511a6ec6: mov %r10,0x60(%r15)
0x00007fe9511a6eca: prefetchnta 0xc0(%r10)
0x00007fe9511a6ed2: mov 0xb0(%r12,%rbp,8),%r10
0x00007fe9511a6eda: mov %r10,(%rax)
0x00007fe9511a6edd: movl $0xe02452d9,0x8(%rax) ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511a6ee4: mov %r12d,0xc(%rax)
0x00007fe9511a6ee8: mov %r12,0x10(%rax)
0x00007fe9511a6eec: mov %r12,0x18(%rax)
0x00007fe9511a6ef0: mov %r12,0x20(%rax)
0x00007fe9511a6ef4: mov %rax,%rbp ;*new ; - java.net.URLClassLoader$1::run@48 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6ef7: mov (%rsp),%r10
0x00007fe9511a6efb: mov 0xc(%r10),%r11d
0x00007fe9511a6eff: mov %r11,%rdx
0x00007fe9511a6f02: shl $0x3,%rdx ;*getfield val$name
; - java.net.URLClassLoader$1::run@53 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f06: mov %rbp,%rsi
0x00007fe9511a6f09: mov 0x8(%rsp),%rcx
0x00007fe9511a6f0e: nop
0x00007fe9511a6f0f: callq 0x00007fe951037b60 ; OopMap{rbp=Oop off=1172}
;*invokespecial <init>
; - java.net.URLClassLoader$1::run@57 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {optimized virtual_call}
0x00007fe9511a6f14: mov %rbp,%rsi
0x00007fe9511a6f17: jmpq 0x00007fe9511a6ccb
0x00007fe9511a6f1c: mov %rax,%rsi
0x00007fe9511a6f1f: jmpq 0x00007fe9511a6ccb
0x00007fe9511a6f24: mov $0x7012296c8,%rsi ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511a6f2e: mov (%rsp),%rbp
0x00007fe9511a6f32: nop
0x00007fe9511a6f33: callq 0x00007fe95105f560 ; OopMap{rbp=Oop [0]=Oop [8]=Oop off=1208}
;*new ; - java.net.URLClassLoader$1::run@48 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
; {runtime_call}
0x00007fe9511a6f38: jmp 0x00007fe9511a6ef4 ;*new
; - java.net.URLClassLoader$1::run@61 (line 366)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f3a: mov %rax,%rsi
0x00007fe9511a6f3d: jmpq 0x00007fe9511a6ccb ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f42: jmp 0x00007fe9511a6f46 ;*newarray
; - java.util.Arrays::copyOf@1 (line 2367)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f44: jmp 0x00007fe9511a6f46 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f46: mov %rax,%rsi
0x00007fe9511a6f49: jmpq 0x00007fe9511a6ccb ;*invokespecial <init>
; - java.net.URLClassLoader$1::run@57 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f4e: mov %rax,%rsi
0x00007fe9511a6f51: jmpq 0x00007fe9511a6ccb ;*new
; - java.net.URLClassLoader$1::run@48 (line 363)
; - java.net.URLClassLoader$1::run@1 (line 355)
0x00007fe9511a6f56: mov %rax,%rsi
0x00007fe9511a6f59: jmpq 0x00007fe9511a6ccb
0x00007fe9511a6f5e: hlt
0x00007fe9511a6f5f: hlt
[Stub Code]
0x00007fe9511a6f60: mov $0x0,%rbx ; {no_reloc}
0x00007fe9511a6f6a: jmpq 0x00007fe9511a6f6a ; {runtime_call}
0x00007fe9511a6f6f: mov $0x0,%rbx ; {static_stub}
0x00007fe9511a6f79: jmpq 0x00007fe9511a6f79 ; {runtime_call}
0x00007fe9511a6f7e: mov $0x0,%rbx ; {static_stub}
0x00007fe9511a6f88: jmpq 0x00007fe9511a6f88 ; {runtime_call}
0x00007fe9511a6f8d: mov $0x0,%rbx ; {static_stub}
0x00007fe9511a6f97: jmpq 0x00007fe9511a6f97 ; {runtime_call}
0x00007fe9511a6f9c: mov $0x0,%rbx ; {static_stub}
0x00007fe9511a6fa6: jmpq 0x00007fe9511a6fa6 ; {runtime_call}
[Exception Handler]
0x00007fe9511a6fab: jmpq 0x00007fe95105f620 ; {runtime_call}
[Deopt Handler Code]
0x00007fe9511a6fb0: callq 0x00007fe9511a6fb5
0x00007fe9511a6fb5: subq $0x5,(%rsp)
0x00007fe9511a6fba: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe9511a6fbf: hlt
Decoding compiled method 0x00007fe951135350:
Code:
[Entry Point]
[Constants]
# {method} 'run' '()Ljava/lang/Class;' in 'java/net/URLClassLoader$1'
# [sp+0x50] (sp of caller)
0x00007fe951135500: mov 0x8(%rsi),%r10d
0x00007fe951135504: shl $0x3,%r10
0x00007fe951135508: cmp %r10,%rax
0x00007fe95113550b: jne 0x00007fe951037960 ; {runtime_call}
0x00007fe951135511: xchg %ax,%ax
0x00007fe951135514: nopl 0x0(%rax,%rax,1)
0x00007fe95113551c: xchg %ax,%ax
[Verified Entry Point]
0x00007fe951135520: mov %eax,-0x14000(%rsp)
0x00007fe951135527: push %rbp
0x00007fe951135528: sub $0x40,%rsp ;*synchronization entry
; - java.net.URLClassLoader$1::run@-1 (line 357)
0x00007fe95113552c: mov %rsi,(%rsp)
0x00007fe951135530: mov 0xc(%rsi),%r11d ;*getfield val$name
; - java.net.URLClassLoader$1::run@1 (line 357)
0x00007fe951135534: test %r11d,%r11d
0x00007fe951135537: je 0x00007fe951135855 ;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
0x00007fe95113553d: lea (%r12,%r11,8),%rsi ;*getfield val$name
; - java.net.URLClassLoader$1::run@1 (line 357)
0x00007fe951135541: mov $0x2e,%edx
0x00007fe951135546: mov $0x2f,%ecx
0x00007fe95113554b: callq 0x00007fe951037b60 ; OopMap{[0]=Oop off=80}
;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; {optimized virtual_call}
0x00007fe951135550: mov 0xc(%rax),%r11d ;*getfield value
; - java.lang.String::concat@12 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; implicit exception: dispatches to 0x00007fe9511358d8
0x00007fe951135554: mov 0xc(%r12,%r11,8),%edi ;*arraylength
; - java.lang.String::concat@15 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; implicit exception: dispatches to 0x00007fe9511358ed
0x00007fe951135559: mov %edi,%r10d
0x00007fe95113555c: add $0x6,%r10d ;*iadd
; - java.lang.String::concat@23 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe951135560: movslq %edi,%rbx
0x00007fe951135563: shl %rbx ;*invokestatic arraycopy
; - java.lang.String::getChars@12 (line 783)
; - java.lang.String::concat@33 (line 1976)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe951135566: mov %rbx,%r8
0x00007fe951135569: add $0x23,%r8
0x00007fe95113556d: mov %r8,%rdx
0x00007fe951135570: and $0xfffffffffffffff8,%rdx
0x00007fe951135574: cmp $0x80000,%r10d
0x00007fe95113557b: ja 0x00007fe9511357e4
0x00007fe951135581: mov 0x60(%r15),%rbp
0x00007fe951135585: mov %rbp,%r9
0x00007fe951135588: add %rdx,%r9
0x00007fe95113558b: cmp 0x70(%r15),%r9
0x00007fe95113558f: jae 0x00007fe9511357e4
0x00007fe951135595: mov %r9,0x60(%r15)
0x00007fe951135599: prefetchnta 0xc0(%r9)
0x00007fe9511355a1: movq $0x1,0x0(%rbp)
0x00007fe9511355a9: prefetchnta 0x100(%r9)
0x00007fe9511355b1: movl $0xe02400c5,0x8(%rbp) ; {oop({type array char})}
0x00007fe9511355b8: mov %r10d,0xc(%rbp)
0x00007fe9511355bc: prefetchnta 0x140(%r9)
0x00007fe9511355c4: prefetchnta 0x180(%r9) ;*newarray
; - java.util.Arrays::copyOf@1 (line 2367)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511355cc: cmp %r10d,%edi
0x00007fe9511355cf: mov %r10d,%r9d
0x00007fe9511355d2: cmovl %edi,%r9d ;*invokestatic min
; - java.util.Arrays::copyOf@11 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511355d6: mov %rbp,%r13
0x00007fe9511355d9: add $0x10,%r13
0x00007fe9511355dd: shr $0x3,%r8 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511355e1: lea (%r12,%r11,8),%rsi ;*getfield value
; - java.lang.String::concat@12 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511355e5: mov %r8,%rcx
0x00007fe9511355e8: add $0xfffffffffffffffe,%rcx
0x00007fe9511355ec: cmp %r9d,%edi
0x00007fe9511355ef: jb 0x00007fe951135881
0x00007fe9511355f5: cmp %r9d,%r10d
0x00007fe9511355f8: jb 0x00007fe951135881
0x00007fe9511355fe: test %r9d,%r9d
0x00007fe951135601: jle 0x00007fe9511358ae
0x00007fe951135607: lea 0x10(%r12,%r11,8),%r11
0x00007fe95113560c: cmp %r10d,%r9d
0x00007fe95113560f: jl 0x00007fe951135784
0x00007fe951135615: add $0xfffffffffffffff0,%rdx
0x00007fe951135619: shr $0x3,%rdx
0x00007fe95113561d: mov %r11,%rdi
0x00007fe951135620: mov %r13,%rsi
0x00007fe951135623: mov $0x7fe951042360,%r10
0x00007fe95113562d: callq *%r10 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe951135630: lea 0x10(%rbp,%rbx,1),%rsi
0x00007fe951135635: mov $0x6,%edx
0x00007fe95113563a: mov $0x7066c06e0,%rdi ; {oop([C)}
0x00007fe951135644: add $0x10,%rdi
0x00007fe951135648: mov $0x7fe951042120,%r10
0x00007fe951135652: callq *%r10 ;*invokestatic arraycopy
; - java.lang.String::getChars@12 (line 783)
; - java.lang.String::concat@33 (line 1976)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe951135655: mov 0x60(%r15),%rdx
0x00007fe951135659: mov %rdx,%r10
0x00007fe95113565c: add $0x18,%r10
0x00007fe951135660: cmp 0x70(%r15),%r10
0x00007fe951135664: jae 0x00007fe9511357ca
0x00007fe95113566a: mov %r10,0x60(%r15)
0x00007fe95113566e: prefetchnta 0xc0(%r10)
0x00007fe951135676: mov $0xe02415bb,%r11d ; {oop('java/lang/String')}
0x00007fe95113567c: mov 0xb0(%r12,%r11,8),%r10
0x00007fe951135684: mov %r10,(%rdx)
0x00007fe951135687: movl $0xe02415bb,0x8(%rdx) ; {oop('java/lang/String')}
0x00007fe95113568e: mov %r12d,0xc(%rdx)
0x00007fe951135692: mov %r12,0x10(%rdx) ;*new ; - java.lang.String::concat@36 (line 1977)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe951135696: mov %rbp,%r10
0x00007fe951135699: shr $0x3,%r10
0x00007fe95113569d: mov %r10d,0xc(%rdx)
0x00007fe9511356a1: mov %rdx,%r10
0x00007fe9511356a4: shr $0x9,%r10
0x00007fe9511356a8: mov $0x7fe94cfff000,%r11
0x00007fe9511356b2: mov %r12b,(%r11,%r10,1) ;*synchronization entry
; - java.lang.String::concat@-1 (line 1970)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511356b6: mov (%rsp),%r10
0x00007fe9511356ba: mov 0x10(%r10),%r11d ;*getfield this$0
; - java.net.URLClassLoader$1::run@18 (line 358)
0x00007fe9511356be: mov 0x44(%r12,%r11,8),%r10d ;*getfield ucp
; - java.net.URLClassLoader::access$000@1 (line 71)
; - java.net.URLClassLoader$1::run@21 (line 358)
; implicit exception: dispatches to 0x00007fe951135901
0x00007fe9511356c3: test %r10d,%r10d
0x00007fe9511356c6: je 0x00007fe951135869 ;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
0x00007fe9511356cc: lea (%r12,%r10,8),%rsi ;*getfield ucp
; - java.net.URLClassLoader::access$000@1 (line 71)
; - java.net.URLClassLoader$1::run@21 (line 358)
0x00007fe9511356d0: xor %ecx,%ecx
0x00007fe9511356d2: nop
0x00007fe9511356d3: callq 0x00007fe951037b60 ; OopMap{[0]=Oop off=472}
;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
; {optimized virtual_call}
0x00007fe9511356d8: mov (%rsp),%r10
0x00007fe9511356dc: mov 0xc(%r10),%r11d
0x00007fe9511356e0: mov %r11,%r10
0x00007fe9511356e3: shl $0x3,%r10 ;*getfield val$name
; - java.net.URLClassLoader$1::run@39 (line 361)
0x00007fe9511356e7: mov %r10,0x8(%rsp)
0x00007fe9511356ec: mov $0xe02452d9,%ebp ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511356f1: test %rax,%rax
0x00007fe9511356f4: jne 0x00007fe951135759 ;*ifnull
; - java.net.URLClassLoader$1::run@31 (line 359)
0x00007fe9511356f6: mov 0x60(%r15),%rax
0x00007fe9511356fa: mov %rax,%r10
0x00007fe9511356fd: add $0x28,%r10
0x00007fe951135701: cmp 0x70(%r15),%r10
0x00007fe951135705: jae 0x00007fe95113583d
0x00007fe95113570b: mov %r10,0x60(%r15)
0x00007fe95113570f: prefetchnta 0xc0(%r10)
0x00007fe951135717: mov 0xb0(%r12,%rbp,8),%r10
0x00007fe95113571f: mov %r10,(%rax)
0x00007fe951135722: movl $0xe02452d9,0x8(%rax) ; {oop('java/lang/ClassNotFoundException')}
0x00007fe951135729: mov %r12d,0xc(%rax)
0x00007fe95113572d: mov %r12,0x10(%rax)
0x00007fe951135731: mov %r12,0x18(%rax)
0x00007fe951135735: mov %r12,0x20(%rax)
0x00007fe951135739: mov %rax,%rbp ;*synchronization entry
; - java.lang.ClassNotFoundException::<init>@-1 (line 82)
; - java.net.URLClassLoader$1::run@69 (line 366)
0x00007fe95113573c: xor %ecx,%ecx
0x00007fe95113573e: mov %rbp,%rsi
0x00007fe951135741: mov 0x8(%rsp),%rdx
0x00007fe951135746: nop
0x00007fe951135747: callq 0x00007fe951037b60 ; OopMap{rbp=Oop off=588}
;*invokespecial <init>
; - java.lang.ClassNotFoundException::<init>@3 (line 82)
; - java.net.URLClassLoader$1::run@69 (line 366)
; {optimized virtual_call}
0x00007fe95113574c: mov %rbp,%rsi ;*invokespecial <init>
; - java.net.URLClassLoader$1::run@57 (line 363)
0x00007fe95113574f: add $0x40,%rsp
0x00007fe951135753: pop %rbp
0x00007fe951135754: jmpq 0x00007fe9510623a0 ; {runtime_call}
0x00007fe951135759: mov (%rsp),%r10
0x00007fe95113575d: mov 0x10(%r10),%r11d
0x00007fe951135761: mov %r11,%rsi
0x00007fe951135764: shl $0x3,%rsi ;*getfield this$0
; - java.net.URLClassLoader$1::run@35 (line 361)
0x00007fe951135768: mov 0x8(%rsp),%rdx
0x00007fe95113576d: mov %rax,%rcx
0x00007fe951135770: xchg %ax,%ax
0x00007fe951135773: callq 0x00007fe951037f60 ; OopMap{rbp=NarrowOop [0]=Oop off=632}
;*invokestatic access$100
; - java.net.URLClassLoader$1::run@43 (line 361)
; {static_call}
0x00007fe951135778: add $0x40,%rsp
0x00007fe95113577c: pop %rbp
0x00007fe95113577d: test %eax,0xa06387d(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe951135783: retq
0x00007fe951135784: movslq %r9d,%rdx
0x00007fe951135787: mov %rdx,%r10
0x00007fe95113578a: shl %r10
0x00007fe95113578d: add $0x10,%r10
0x00007fe951135791: mov %r10,%r9
0x00007fe951135794: and $0xfffffffffffffff9,%r9
0x00007fe951135798: mov %rbp,%rdi
0x00007fe95113579b: add %r9,%rdi
0x00007fe95113579e: shr $0x3,%r10
0x00007fe9511357a2: sub %r10,%r8
0x00007fe9511357a5: mov %r8,%rcx
0x00007fe9511357a8: xor %rax,%rax
0x00007fe9511357ab: shl $0x3,%rcx
0x00007fe9511357af: rex.W rep stos %al,%es:(%rdi)
0x00007fe9511357b2: mov %r11,%rdi
0x00007fe9511357b5: mov %r13,%rsi
0x00007fe9511357b8: mov $0x7fe951042040,%r10
0x00007fe9511357c2: callq *%r10 ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511357c5: jmpq 0x00007fe951135630
0x00007fe9511357ca: mov $0x70120add8,%rsi ; {oop('java/lang/String')}
0x00007fe9511357d4: xchg %ax,%ax
0x00007fe9511357d7: callq 0x00007fe95105f560 ; OopMap{rbp=Oop [0]=Oop off=732}
;*new ; - java.lang.String::concat@36 (line 1977)
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe9511357dc: mov %rax,%rdx
0x00007fe9511357df: jmpq 0x00007fe951135696
0x00007fe9511357e4: mov %rbx,0x28(%rsp)
0x00007fe9511357e9: mov %edi,0x20(%rsp)
0x00007fe9511357ed: mov %rdx,0x18(%rsp)
0x00007fe9511357f2: mov %r8,0x10(%rsp)
0x00007fe9511357f7: mov %r10d,0xc(%rsp)
0x00007fe9511357fc: mov %r11d,0x8(%rsp)
0x00007fe951135801: mov (%rsp),%rbp
0x00007fe951135805: mov $0x701200628,%rsi ; {oop({type array char})}
0x00007fe95113580f: mov %r10d,%edx
0x00007fe951135812: nop
0x00007fe951135813: callq 0x00007fe95105f3e0 ; OopMap{rbp=Oop [0]=Oop [8]=NarrowOop off=792}
;*newarray
; - java.util.Arrays::copyOf@1 (line 2367)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe951135818: mov 0x8(%rsp),%r11d
0x00007fe95113581d: mov 0xc(%rsp),%r10d
0x00007fe951135822: mov 0x10(%rsp),%r8
0x00007fe951135827: mov 0x18(%rsp),%rdx
0x00007fe95113582c: mov %rax,%rbp
0x00007fe95113582f: mov 0x20(%rsp),%edi
0x00007fe951135833: mov 0x28(%rsp),%rbx
0x00007fe951135838: jmpq 0x00007fe9511355cc
0x00007fe95113583d: mov $0x7012296c8,%rsi ; {oop('java/lang/ClassNotFoundException')}
0x00007fe951135847: mov (%rsp),%rbp
0x00007fe95113584b: callq 0x00007fe95105f560 ; OopMap{rbp=Oop [8]=Oop off=848}
;*new ; - java.net.URLClassLoader$1::run@61 (line 366)
; {runtime_call}
0x00007fe951135850: jmpq 0x00007fe951135739
0x00007fe951135855: mov $0xfffffff6,%esi
0x00007fe95113585a: mov (%rsp),%rbp
0x00007fe95113585e: nop
0x00007fe95113585f: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=868}
;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; {runtime_call}
0x00007fe951135864: callq 0x00007fe959f3fb10 ;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
; {runtime_call}
0x00007fe951135869: mov $0xfffffff6,%esi
0x00007fe95113586e: mov (%rsp),%rbp
0x00007fe951135872: mov %rdx,(%rsp)
0x00007fe951135876: nop
0x00007fe951135877: callq 0x00007fe951039320 ; OopMap{rbp=Oop [0]=Oop off=892}
;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
; {runtime_call}
0x00007fe95113587c: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951135881: mov %rbx,0x10(%rsp)
0x00007fe951135886: mov %edi,0x8(%rsp)
0x00007fe95113588a: mov %r13,%rdi
0x00007fe95113588d: xor %rax,%rax
0x00007fe951135890: shl $0x3,%rcx
0x00007fe951135894: rex.W rep stos %al,%es:(%rdi)
0x00007fe951135897: xor %edx,%edx
0x00007fe951135899: mov %rbp,%rcx
0x00007fe95113589c: xor %r8d,%r8d
0x00007fe95113589f: callq 0x00007fe9510624a0 ; OopMap{rbp=Oop [0]=Oop off=932}
;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe9511358a4: mov 0x10(%rsp),%rbx
0x00007fe9511358a9: jmpq 0x00007fe951135630
0x00007fe9511358ae: mov %r13,%rdi
0x00007fe9511358b1: xor %rax,%rax
0x00007fe9511358b4: shl $0x3,%rcx
0x00007fe9511358b8: rex.W rep stos %al,%es:(%rdi) ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511358bb: jmpq 0x00007fe951135630 ;*invokevirtual replace
; - java.net.URLClassLoader$1::run@8 (line 357)
0x00007fe9511358c0: mov %rax,%rsi
0x00007fe9511358c3: jmpq 0x00007fe95113574f ;*invokevirtual getResource
; - java.net.URLClassLoader$1::run@26 (line 358)
0x00007fe9511358c8: mov %rax,%rsi
0x00007fe9511358cb: jmpq 0x00007fe95113574f ;*invokespecial <init>
; - java.lang.ClassNotFoundException::<init>@3 (line 82)
; - java.net.URLClassLoader$1::run@69 (line 366)
0x00007fe9511358d0: mov %rax,%rsi
0x00007fe9511358d3: jmpq 0x00007fe95113574f
0x00007fe9511358d8: mov $0xfffffff6,%esi
0x00007fe9511358dd: mov (%rsp),%rbp
0x00007fe9511358e1: xchg %ax,%ax
0x00007fe9511358e3: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=1000}
;*invokevirtual concat
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe9511358e8: callq 0x00007fe959f3fb10 ;*invokevirtual concat
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe9511358ed: mov $0xfffffff6,%esi
0x00007fe9511358f2: mov (%rsp),%rbp
0x00007fe9511358f6: nop
0x00007fe9511358f7: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=1020}
;*arraylength
; - java.lang.String::concat@15 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe9511358fc: callq 0x00007fe959f3fb10 ;*arraylength
; - java.lang.String::concat@15 (line 1974)
; - java.net.URLClassLoader$1::run@13 (line 357)
; {runtime_call}
0x00007fe951135901: mov $0xfffffff6,%esi
0x00007fe951135906: mov (%rsp),%rbp
0x00007fe95113590a: mov %rdx,(%rsp)
0x00007fe95113590e: nop
0x00007fe95113590f: callq 0x00007fe951039320 ; OopMap{rbp=Oop [0]=Oop off=1044}
;*getfield ucp
; - java.net.URLClassLoader::access$000@1 (line 71)
; - java.net.URLClassLoader$1::run@21 (line 358)
; {runtime_call}
0x00007fe951135914: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951135919: mov 0x8(%rax),%r11d
0x00007fe95113591d: mov 0x50(%r12,%r11,8),%r10
0x00007fe951135922: mov $0x7014239e0,%r11 ; {oop('java/io/IOException')}
0x00007fe95113592c: cmp %r11,%r10
0x00007fe95113592f: jne 0x00007fe9511359a0
0x00007fe951135931: mov %rax,%r10 ;*invokestatic access$100
; - java.net.URLClassLoader$1::run@43 (line 361)
0x00007fe951135934: mov %r10,0x8(%rsp)
0x00007fe951135939: mov 0x60(%r15),%rax
0x00007fe95113593d: mov %rax,%r10
0x00007fe951135940: add $0x28,%r10
0x00007fe951135944: cmp 0x70(%r15),%r10
0x00007fe951135948: jae 0x00007fe9511359a8
0x00007fe95113594a: mov %r10,0x60(%r15)
0x00007fe95113594e: prefetchnta 0xc0(%r10)
0x00007fe951135956: mov 0xb0(%r12,%rbp,8),%r10
0x00007fe95113595e: mov %r10,(%rax)
0x00007fe951135961: movl $0xe02452d9,0x8(%rax) ; {oop('java/lang/ClassNotFoundException')}
0x00007fe951135968: mov %r12d,0xc(%rax)
0x00007fe95113596c: mov %r12,0x10(%rax)
0x00007fe951135970: mov %r12,0x18(%rax)
0x00007fe951135974: mov %r12,0x20(%rax)
0x00007fe951135978: mov %rax,%rbp ;*new ; - java.net.URLClassLoader$1::run@48 (line 363)
0x00007fe95113597b: mov (%rsp),%r10
0x00007fe95113597f: mov 0xc(%r10),%r11d
0x00007fe951135983: mov %r11,%rdx
0x00007fe951135986: shl $0x3,%rdx ;*getfield val$name
; - java.net.URLClassLoader$1::run@53 (line 363)
0x00007fe95113598a: mov %rbp,%rsi
0x00007fe95113598d: mov 0x8(%rsp),%rcx
0x00007fe951135992: nop
0x00007fe951135993: callq 0x00007fe951037b60 ; OopMap{rbp=Oop off=1176}
;*invokespecial <init>
; - java.net.URLClassLoader$1::run@57 (line 363)
; {optimized virtual_call}
0x00007fe951135998: mov %rbp,%rsi
0x00007fe95113599b: jmpq 0x00007fe95113574f
0x00007fe9511359a0: mov %rax,%rsi
0x00007fe9511359a3: jmpq 0x00007fe95113574f
0x00007fe9511359a8: mov $0x7012296c8,%rsi ; {oop('java/lang/ClassNotFoundException')}
0x00007fe9511359b2: mov (%rsp),%rbp
0x00007fe9511359b6: nop
0x00007fe9511359b7: callq 0x00007fe95105f560 ; OopMap{rbp=Oop [0]=Oop [8]=Oop off=1212}
;*new ; - java.net.URLClassLoader$1::run@48 (line 363)
; {runtime_call}
0x00007fe9511359bc: jmp 0x00007fe951135978 ;*new
; - java.net.URLClassLoader$1::run@61 (line 366)
0x00007fe9511359be: mov %rax,%rsi
0x00007fe9511359c1: jmpq 0x00007fe95113574f ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511359c6: jmp 0x00007fe9511359ca ;*newarray
; - java.util.Arrays::copyOf@1 (line 2367)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511359c8: jmp 0x00007fe9511359ca ;*invokestatic arraycopy
; - java.util.Arrays::copyOf@14 (line 2368)
; - java.lang.String::concat@24 (line 1975)
; - java.net.URLClassLoader$1::run@13 (line 357)
0x00007fe9511359ca: mov %rax,%rsi
0x00007fe9511359cd: jmpq 0x00007fe95113574f ;*invokespecial <init>
; - java.net.URLClassLoader$1::run@57 (line 363)
0x00007fe9511359d2: mov %rax,%rsi
0x00007fe9511359d5: jmpq 0x00007fe95113574f ;*new
; - java.net.URLClassLoader$1::run@48 (line 363)
0x00007fe9511359da: mov %rax,%rsi
0x00007fe9511359dd: jmpq 0x00007fe95113574f
0x00007fe9511359e2: hlt
0x00007fe9511359e3: hlt
0x00007fe9511359e4: hlt
0x00007fe9511359e5: hlt
0x00007fe9511359e6: hlt
0x00007fe9511359e7: hlt
0x00007fe9511359e8: hlt
0x00007fe9511359e9: hlt
0x00007fe9511359ea: hlt
0x00007fe9511359eb: hlt
0x00007fe9511359ec: hlt
0x00007fe9511359ed: hlt
0x00007fe9511359ee: hlt
0x00007fe9511359ef: hlt
0x00007fe9511359f0: hlt
0x00007fe9511359f1: hlt
0x00007fe9511359f2: hlt
0x00007fe9511359f3: hlt
0x00007fe9511359f4: hlt
0x00007fe9511359f5: hlt
0x00007fe9511359f6: hlt
0x00007fe9511359f7: hlt
0x00007fe9511359f8: hlt
0x00007fe9511359f9: hlt
0x00007fe9511359fa: hlt
0x00007fe9511359fb: hlt
0x00007fe9511359fc: hlt
0x00007fe9511359fd: hlt
0x00007fe9511359fe: hlt
0x00007fe9511359ff: hlt
[Stub Code]
0x00007fe951135a00: mov $0x0,%rbx ; {no_reloc}
0x00007fe951135a0a: jmpq 0x00007fe951135a0a ; {runtime_call}
0x00007fe951135a0f: mov $0x0,%rbx ; {static_stub}
0x00007fe951135a19: jmpq 0x00007fe951135a19 ; {runtime_call}
0x00007fe951135a1e: mov $0x0,%rbx ; {static_stub}
0x00007fe951135a28: jmpq 0x00007fe951135a28 ; {runtime_call}
0x00007fe951135a2d: mov $0x0,%rbx ; {static_stub}
0x00007fe951135a37: jmpq 0x00007fe951135a37 ; {runtime_call}
0x00007fe951135a3c: mov $0x0,%rbx ; {static_stub}
0x00007fe951135a46: jmpq 0x00007fe951135a46 ; {runtime_call}
[Exception Handler]
0x00007fe951135a4b: jmpq 0x00007fe95105f620 ; {runtime_call}
[Deopt Handler Code]
0x00007fe951135a50: callq 0x00007fe951135a55
0x00007fe951135a55: subq $0x5,(%rsp)
0x00007fe951135a5a: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe951135a5f: hlt
Decoding compiled method 0x00007fe95115a010:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} 'uncheckedIntCast' '(J)I' in 'clojure/lang/RT'
# parm0: rsi:rsi = long
# [sp+0x20] (sp of caller)
0x00007fe95115a140: sub $0x18,%rsp
0x00007fe95115a147: mov %rbp,0x10(%rsp) ;*synchronization entry
; - clojure.lang.RT::uncheckedIntCast@-1 (line 1362)
0x00007fe95115a14c: mov %esi,%eax ;*l2i ; - clojure.lang.RT::uncheckedIntCast@1 (line 1362)
0x00007fe95115a14e: add $0x10,%rsp
0x00007fe95115a152: pop %rbp
0x00007fe95115a153: test %eax,0xa03eea7(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe95115a159: retq
0x00007fe95115a15a: hlt
0x00007fe95115a15b: hlt
0x00007fe95115a15c: hlt
0x00007fe95115a15d: hlt
0x00007fe95115a15e: hlt
0x00007fe95115a15f: hlt
[Exception Handler]
[Stub Code]
0x00007fe95115a160: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe95115a165: callq 0x00007fe95115a16a
0x00007fe95115a16a: subq $0x5,(%rsp)
0x00007fe95115a16f: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe95115a174: hlt
0x00007fe95115a175: hlt
0x00007fe95115a176: hlt
0x00007fe95115a177: hlt
Decoding compiled method 0x00007fe951159d90:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} 'aset' '([III)I' in 'clojure/lang/RT'
# parm0: rsi:rsi = '[I'
# parm1: rdx = int
# parm2: rcx = int
# [sp+0x30] (sp of caller)
0x00007fe951159ec0: mov %eax,-0x14000(%rsp)
0x00007fe951159ec7: push %rbp
0x00007fe951159ec8: sub $0x20,%rsp
0x00007fe951159ecc: mov 0xc(%rsi),%r10d ; implicit exception: dispatches to 0x00007fe951159f05
0x00007fe951159ed0: cmp %r10d,%edx
0x00007fe951159ed3: jae 0x00007fe951159ee7
0x00007fe951159ed5: mov %ecx,0x10(%rsi,%rdx,4) ;*synchronization entry
; - clojure.lang.RT::aset@-1 (line 2140)
0x00007fe951159ed9: mov %ecx,%eax
0x00007fe951159edb: add $0x20,%rsp
0x00007fe951159edf: pop %rbp
0x00007fe951159ee0: test %eax,0xa03f11a(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe951159ee6: retq
0x00007fe951159ee7: mov %rsi,(%rsp)
0x00007fe951159eeb: mov %edx,0x8(%rsp)
0x00007fe951159eef: mov %ecx,0xc(%rsp)
0x00007fe951159ef3: mov $0xffffffe4,%esi
0x00007fe951159ef8: xchg %ax,%ax
0x00007fe951159efb: callq 0x00007fe951039320 ; OopMap{[0]=Oop off=64}
;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; {runtime_call}
0x00007fe951159f00: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951159f05: mov $0xfffffff6,%esi
0x00007fe951159f0a: mov %edx,%ebp
0x00007fe951159f0c: mov %ecx,(%rsp)
0x00007fe951159f0f: callq 0x00007fe951039320 ; OopMap{off=84}
;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; {runtime_call}
0x00007fe951159f14: callq 0x00007fe959f3fb10 ;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; {runtime_call}
0x00007fe951159f19: hlt
0x00007fe951159f1a: hlt
0x00007fe951159f1b: hlt
0x00007fe951159f1c: hlt
0x00007fe951159f1d: hlt
0x00007fe951159f1e: hlt
0x00007fe951159f1f: hlt
[Exception Handler]
[Stub Code]
0x00007fe951159f20: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe951159f25: callq 0x00007fe951159f2a
0x00007fe951159f2a: subq $0x5,(%rsp)
0x00007fe951159f2f: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe951159f34: hlt
0x00007fe951159f35: hlt
0x00007fe951159f36: hlt
0x00007fe951159f37: hlt
Decoding compiled method 0x00007fe951134890:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} 'invoke' '()Ljava/lang/Object;' in 'user$eval1664$fn__1665$fn__1670'
0x00007fe951134a00: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134a05: nopw 0x0(%rax,%rax,1)
0x00007fe951134a10: mov %eax,-0x14000(%rsp)
0x00007fe951134a17: push %rbp
0x00007fe951134a18: sub $0x40,%rsp
0x00007fe951134a1c: mov (%rsi),%rbx
0x00007fe951134a1f: mov 0x10(%rsi),%r13
0x00007fe951134a23: mov %rsi,%rdi
0x00007fe951134a26: mov $0x7fe959fd7620,%r10
0x00007fe951134a30: callq *%r10
0x00007fe951134a33: test %r13,%r13
0x00007fe951134a36: je 0x00007fe951134c15
0x00007fe951134a3c: mov 0x8(%r13),%r11d
0x00007fe951134a40: cmp $0xe043746b,%r11d ; {oop('user$eval1664$fn__1665$fn__1670')}
0x00007fe951134a47: jne 0x00007fe951134c41 ;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
0x00007fe951134a4d: mov 0x18(%r13),%r11d ;*getfield a__4715__auto__
; - user$eval1664$fn__1665$fn__1670::invoke@4 (line 7)
0x00007fe951134a51: mov 0x8(%r12,%r11,8),%r10d ; implicit exception: dispatches to 0x00007fe951134c18
0x00007fe951134a56: cmp $0xe0240214,%r10d ; {oop({type array int})}
0x00007fe951134a5d: jne 0x00007fe951134c18 ;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
0x00007fe951134a63: mov 0x14(%r13),%r8d ;*getfield ret
; - user$eval1664$fn__1665$fn__1670::invoke@17 (line 7)
0x00007fe951134a67: mov %r8d,0x8(%rsp)
0x00007fe951134a6c: lea (%r12,%r11,8),%r10 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
0x00007fe951134a70: mov 0xc(%r10),%r11d
0x00007fe951134a74: movslq %r11d,%rsi ;*i2l ; - user$eval1664$fn__1665$fn__1670::invoke@11 (line 7)
0x00007fe951134a77: cmp %rsi,%rbx
0x00007fe951134a7a: jge 0x00007fe951134bfd ;*ifge
; - user$eval1664$fn__1665$fn__1670::invoke@13 (line 7)
0x00007fe951134a80: mov 0x8(%r12,%r8,8),%r11d ; implicit exception: dispatches to 0x00007fe951134cbd
0x00007fe951134a85: cmp $0xe0240214,%r11d ; {oop({type array int})}
0x00007fe951134a8c: jne 0x00007fe951134c59 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@20 (line 7)
0x00007fe951134a92: mov 0x1c(%r13),%ebp ;*getfield a
; - user$eval1664$fn__1665$fn__1670::invoke@26 (line 7)
0x00007fe951134a96: mov %ebx,%r10d ;*l2i ; - user$eval1664$fn__1665$fn__1670::invoke@24 (line 7)
0x00007fe951134a99: lea (%r12,%r8,8),%r11 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@20 (line 7)
0x00007fe951134a9d: mov 0x8(%r12,%rbp,8),%r8d ; implicit exception: dispatches to 0x00007fe951134cd5
0x00007fe951134aa2: cmp $0xe0240214,%r8d ; {oop({type array int})}
0x00007fe951134aa9: jne 0x00007fe951134c71
0x00007fe951134aaf: lea (%r12,%rbp,8),%rdx ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@29 (line 7)
0x00007fe951134ab3: mov 0xc(%rdx),%r8d
0x00007fe951134ab7: cmp %r8d,%r10d
0x00007fe951134aba: jae 0x00007fe951134bac
0x00007fe951134ac0: mov 0x10(%rdx,%r10,4),%edi ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
0x00007fe951134ac5: mov 0x10(%r13),%ecx ;*getfield b
; - user$eval1664$fn__1665$fn__1670::invoke@37 (line 7)
0x00007fe951134ac9: movslq %edi,%rbp ;*i2l ; - user$eval1664$fn__1665$fn__1670::invoke@35 (line 7)
0x00007fe951134acc: mov 0x8(%r12,%rcx,8),%r9d ; implicit exception: dispatches to 0x00007fe951134cf5
0x00007fe951134ad1: cmp $0xe0240214,%r9d ; {oop({type array int})}
0x00007fe951134ad8: jne 0x00007fe951134c95
0x00007fe951134ade: lea (%r12,%rcx,8),%rax ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@40 (line 7)
0x00007fe951134ae2: mov 0xc(%rax),%r9d
0x00007fe951134ae6: cmp %r9d,%r10d
0x00007fe951134ae9: jae 0x00007fe951134bd4 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
0x00007fe951134aef: add 0x10(%rax,%r10,4),%edi ;*l2i
; - clojure.lang.RT::uncheckedIntCast@1 (line 1362)
; - user$eval1664$fn__1665$fn__1670::invoke@48 (line 7)
0x00007fe951134af4: mov 0xc(%r11),%ecx
0x00007fe951134af8: cmp %ecx,%r10d
0x00007fe951134afb: jae 0x00007fe951134b84
0x00007fe951134b01: mov %edi,0x10(%r11,%r10,4) ;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
0x00007fe951134b06: mov %rbx,%r14
0x00007fe951134b09: add $0x1,%r14 ;*ladd
; - user$eval1664$fn__1665$fn__1670::invoke@57 (line 7)
0x00007fe951134b0d: cmp %rsi,%r14
0x00007fe951134b10: jge 0x00007fe951134bfd ;*ifge
; - user$eval1664$fn__1665$fn__1670::invoke@13 (line 7)
0x00007fe951134b16: mov %r14d,%r10d ;*l2i ; - user$eval1664$fn__1665$fn__1670::invoke@24 (line 7)
0x00007fe951134b19: cmp %r8d,%r10d
0x00007fe951134b1c: jae 0x00007fe951134ba9
0x00007fe951134b22: mov 0x10(%rdx,%r10,4),%edi ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
0x00007fe951134b27: cmp %r9d,%r10d
0x00007fe951134b2a: jae 0x00007fe951134c31 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
0x00007fe951134b30: add 0x10(%rax,%r10,4),%edi ;*l2i
; - clojure.lang.RT::uncheckedIntCast@1 (line 1362)
; - user$eval1664$fn__1665$fn__1670::invoke@48 (line 7)
0x00007fe951134b35: cmp %ecx,%r10d
0x00007fe951134b38: jae 0x00007fe951134c39
0x00007fe951134b3e: mov %edi,0x10(%r11,%r10,4) ;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
0x00007fe951134b43: add $0x2,%rbx ;*ladd
; - user$eval1664$fn__1665$fn__1670::invoke@57 (line 7)
0x00007fe951134b47: jmp 0x00007fe951134b5f
0x00007fe951134b49: nopl 0x0(%rax)
0x00007fe951134b50: mov %edi,0x10(%r11,%r10,4) ;*goto
; - user$eval1664$fn__1665$fn__1670::invoke@59 (line 7)
0x00007fe951134b55: add $0x1,%rbx ; OopMap{r11=Oop rdx=Oop rax=Oop r13=Oop [8]=NarrowOop off=345}
;*goto
; - user$eval1664$fn__1665$fn__1670::invoke@59 (line 7)
0x00007fe951134b59: test %eax,0xa0644a1(%rip) # 0x00007fe95b199000
;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
; {poll}
0x00007fe951134b5f: cmp %rsi,%rbx
0x00007fe951134b62: jge 0x00007fe951134bfd ;*ifge
; - user$eval1664$fn__1665$fn__1670::invoke@13 (line 7)
0x00007fe951134b68: mov %ebx,%r10d ;*l2i ; - user$eval1664$fn__1665$fn__1670::invoke@24 (line 7)
0x00007fe951134b6b: cmp %r8d,%r10d
0x00007fe951134b6e: jae 0x00007fe951134bac
0x00007fe951134b70: mov 0x10(%rdx,%r10,4),%edi ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
0x00007fe951134b75: cmp %r9d,%r10d
0x00007fe951134b78: jae 0x00007fe951134bd1 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
0x00007fe951134b7a: add 0x10(%rax,%r10,4),%edi ;*l2i
; - clojure.lang.RT::uncheckedIntCast@1 (line 1362)
; - user$eval1664$fn__1665$fn__1670::invoke@48 (line 7)
0x00007fe951134b7f: cmp %ecx,%r10d
0x00007fe951134b82: jb 0x00007fe951134b50
0x00007fe951134b84: mov $0xffffffe4,%esi
0x00007fe951134b89: mov %r13,%rbp
0x00007fe951134b8c: mov %rbx,(%rsp)
0x00007fe951134b90: mov %r11,0x10(%rsp)
0x00007fe951134b95: mov %r10d,0xc(%rsp)
0x00007fe951134b9a: mov %edi,0x18(%rsp)
0x00007fe951134b9e: nop
0x00007fe951134b9f: callq 0x00007fe951039320 ; OopMap{rbp=Oop [16]=Oop off=420}
;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
; {runtime_call}
0x00007fe951134ba4: callq 0x00007fe959f3fb10 ;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
; {runtime_call}
0x00007fe951134ba9: mov %r14,%rbx
0x00007fe951134bac: mov $0xffffffe4,%esi
0x00007fe951134bb1: mov %r13,%rbp
0x00007fe951134bb4: mov %rbx,(%rsp)
0x00007fe951134bb8: mov %r11,0x8(%rsp)
0x00007fe951134bbd: mov %rdx,0x18(%rsp)
0x00007fe951134bc2: mov %r10d,0x14(%rsp)
0x00007fe951134bc7: callq 0x00007fe951039320 ; OopMap{rbp=Oop [8]=Oop [24]=Oop off=460}
;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
; {runtime_call}
0x00007fe951134bcc: callq 0x00007fe959f3fb10 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
; {runtime_call}
0x00007fe951134bd1: movslq %edi,%rbp
0x00007fe951134bd4: mov $0xffffffe4,%esi
0x00007fe951134bd9: mov %r13,(%rsp)
0x00007fe951134bdd: mov %rbx,0x8(%rsp)
0x00007fe951134be2: mov %r11,0x10(%rsp)
0x00007fe951134be7: mov %rax,0x20(%rsp)
0x00007fe951134bec: mov %r10d,0x1c(%rsp)
0x00007fe951134bf1: xchg %ax,%ax
0x00007fe951134bf3: callq 0x00007fe951039320 ; OopMap{[0]=Oop [16]=Oop [32]=Oop off=504}
;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
; {runtime_call}
0x00007fe951134bf8: callq 0x00007fe959f3fb10 ;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
; {runtime_call}
0x00007fe951134bfd: mov 0x8(%rsp),%r10d
0x00007fe951134c02: mov %r10,%rax
0x00007fe951134c05: shl $0x3,%rax ;*getfield ret
; - user$eval1664$fn__1665$fn__1670::invoke@17 (line 7)
0x00007fe951134c09: add $0x40,%rsp
0x00007fe951134c0d: pop %rbp
0x00007fe951134c0e: test %eax,0xa0643ec(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe951134c14: retq
0x00007fe951134c15: xor %r13d,%r13d
0x00007fe951134c18: mov $0xffffff86,%esi
0x00007fe951134c1d: mov %r13,%rbp
0x00007fe951134c20: mov %rbx,(%rsp)
0x00007fe951134c24: xchg %ax,%ax
0x00007fe951134c27: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=556}
;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
; {runtime_call}
0x00007fe951134c2c: callq 0x00007fe959f3fb10 ;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
; {runtime_call}
0x00007fe951134c31: movslq %edi,%rbp ;*i2l ; - user$eval1664$fn__1665$fn__1670::invoke@35 (line 7)
0x00007fe951134c34: mov %r14,%rbx
0x00007fe951134c37: jmp 0x00007fe951134bd4
0x00007fe951134c39: mov %r14,%rbx
0x00007fe951134c3c: jmpq 0x00007fe951134b84
0x00007fe951134c41: mov $0xffffff9d,%esi
0x00007fe951134c46: mov %r13,%rbp
0x00007fe951134c49: mov %rbx,(%rsp)
0x00007fe951134c4d: xchg %ax,%ax
0x00007fe951134c4f: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=596}
;*lload_1
; - user$eval1664$fn__1665$fn__1670::invoke@2 (line 7)
; {runtime_call}
0x00007fe951134c54: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134c59: mov $0xffffffde,%esi
0x00007fe951134c5e: mov %r13,%rbp
0x00007fe951134c61: mov %rbx,(%rsp)
0x00007fe951134c65: xchg %ax,%ax
0x00007fe951134c67: callq 0x00007fe951039320 ; OopMap{rbp=Oop [8]=NarrowOop off=620}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@20 (line 7)
; {runtime_call}
0x00007fe951134c6c: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134c71: mov $0xffffffde,%esi
0x00007fe951134c76: mov %r13,(%rsp)
0x00007fe951134c7a: mov %rbx,0x8(%rsp)
0x00007fe951134c7f: mov %r11,0x10(%rsp)
0x00007fe951134c84: mov %r10d,0x18(%rsp)
0x00007fe951134c89: xchg %ax,%ax
0x00007fe951134c8b: callq 0x00007fe951039320 ; OopMap{rbp=NarrowOop [0]=Oop [16]=Oop off=656}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@29 (line 7)
; {runtime_call}
0x00007fe951134c90: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134c95: mov $0xffffffde,%esi
0x00007fe951134c9a: mov %r13,(%rsp)
0x00007fe951134c9e: mov %rbx,0x8(%rsp)
0x00007fe951134ca3: mov %r11,0x10(%rsp)
0x00007fe951134ca8: mov %r10d,0x18(%rsp)
0x00007fe951134cad: mov %ecx,0x1c(%rsp)
0x00007fe951134cb1: xchg %ax,%ax
0x00007fe951134cb3: callq 0x00007fe951039320 ; OopMap{[0]=Oop [16]=Oop [28]=NarrowOop off=696}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@40 (line 7)
; {runtime_call}
0x00007fe951134cb8: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134cbd: mov $0xfffffff4,%esi
0x00007fe951134cc2: mov %r13,%rbp
0x00007fe951134cc5: mov %rbx,(%rsp)
0x00007fe951134cc9: xchg %ax,%ax
0x00007fe951134ccb: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=720}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@20 (line 7)
; {runtime_call}
0x00007fe951134cd0: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134cd5: mov $0xfffffff4,%esi
0x00007fe951134cda: mov %r13,%rbp
0x00007fe951134cdd: mov %rbx,(%rsp)
0x00007fe951134ce1: mov %r11,0x8(%rsp)
0x00007fe951134ce6: mov %r10d,0x10(%rsp)
0x00007fe951134ceb: callq 0x00007fe951039320 ; OopMap{rbp=Oop [8]=Oop off=752}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@29 (line 7)
; {runtime_call}
0x00007fe951134cf0: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe951134cf5: mov $0xfffffff4,%esi
0x00007fe951134cfa: mov %r13,(%rsp)
0x00007fe951134cfe: mov %rbx,0x8(%rsp)
0x00007fe951134d03: mov %r11,0x10(%rsp)
0x00007fe951134d08: mov %r10d,0x18(%rsp)
0x00007fe951134d0d: xchg %ax,%ax
0x00007fe951134d0f: callq 0x00007fe951039320 ; OopMap{[0]=Oop [16]=Oop off=788}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@40 (line 7)
; {runtime_call}
0x00007fe951134d14: callq 0x00007fe959f3fb10 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@40 (line 7)
; {runtime_call}
0x00007fe951134d19: hlt
0x00007fe951134d1a: hlt
0x00007fe951134d1b: hlt
0x00007fe951134d1c: hlt
0x00007fe951134d1d: hlt
0x00007fe951134d1e: hlt
0x00007fe951134d1f: hlt
[Exception Handler]
[Stub Code]
0x00007fe951134d20: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe951134d25: callq 0x00007fe951134d2a
0x00007fe951134d2a: subq $0x5,(%rsp)
0x00007fe951134d2f: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe951134d34: hlt
0x00007fe951134d35: hlt
0x00007fe951134d36: hlt
0x00007fe951134d37: hlt
Decoding compiled method 0x00007fe951208050:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} 'invoke' '()Ljava/lang/Object;' in 'user$eval1664$fn__1665$fn__1672'
0x00007fe9512081a0: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9512081a5: nopw 0x0(%rax,%rax,1)
0x00007fe9512081b0: mov %eax,-0x14000(%rsp)
0x00007fe9512081b7: push %rbp
0x00007fe9512081b8: sub $0x30,%rsp
0x00007fe9512081bc: mov (%rsi),%rbx
0x00007fe9512081bf: mov 0x20(%rsi),%rbp
0x00007fe9512081c3: mov 0x10(%rsi),%r13
0x00007fe9512081c7: mov %rsi,%rdi
0x00007fe9512081ca: mov $0x7fe959fd7620,%r10
0x00007fe9512081d4: callq *%r10
0x00007fe9512081d7: test %rbp,%rbp
0x00007fe9512081da: je 0x00007fe951208289
0x00007fe9512081e0: mov 0x8(%rbp),%r10d
0x00007fe9512081e4: cmp $0xe04375ee,%r10d ; {oop('user$eval1664$fn__1665$fn__1672')}
0x00007fe9512081eb: jne 0x00007fe9512082a5 ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
0x00007fe9512081f1: mov 0x18(%rbp),%r10d ;*getfield a__4717__auto__
; - user$eval1664$fn__1665$fn__1672::invoke@12 (line 8)
0x00007fe9512081f5: mov 0x8(%r12,%r10,8),%r8d ; implicit exception: dispatches to 0x00007fe95120828b
0x00007fe9512081fa: cmp $0xe0240214,%r8d ; {oop({type array int})}
0x00007fe951208201: jne 0x00007fe95120828b ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
0x00007fe951208207: mov 0x10(%rbp),%r8d ;*getfield b
; - user$eval1664$fn__1665$fn__1672::invoke@29 (line 8)
0x00007fe95120820b: mov 0x8(%r12,%r8,8),%r11d ; implicit exception: dispatches to 0x00007fe95120828b
0x00007fe951208210: cmp $0xe0240214,%r11d ; {oop({type array int})}
0x00007fe951208217: jne 0x00007fe95120828b ;*goto
; - user$eval1664$fn__1665$fn__1672::invoke@42 (line 8)
0x00007fe95120821d: lea (%r12,%r8,8),%r9 ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@32 (line 8)
0x00007fe951208221: mov 0xc(%r9),%r11d ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
0x00007fe951208225: shl $0x3,%r10 ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@15 (line 8)
0x00007fe951208229: mov 0xc(%r10),%r10d ;*arraylength
; - user$eval1664$fn__1665$fn__1672::invoke@18 (line 8)
0x00007fe95120822d: movslq %r10d,%r10
0x00007fe951208230: jmp 0x00007fe951208240
0x00007fe951208232: movslq 0x10(%r9,%r8,4),%r8
0x00007fe951208237: add %r8,%rbx ; OopMap{r9=Oop rbp=Oop off=154}
;*goto
; - user$eval1664$fn__1665$fn__1672::invoke@42 (line 8)
0x00007fe95120823a: test %eax,0x9f90dc0(%rip) # 0x00007fe95b199000
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {poll}
0x00007fe951208240: cmp %r10,%r13
0x00007fe951208243: jge 0x00007fe951208275 ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
0x00007fe951208245: mov %r13d,%r8d ;*l2i ; - user$eval1664$fn__1665$fn__1672::invoke@36 (line 8)
0x00007fe951208248: add $0x1,%r13 ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@26 (line 8)
0x00007fe95120824c: cmp %r11d,%r8d
0x00007fe95120824f: jb 0x00007fe951208232
0x00007fe951208251: mov $0xffffffe4,%esi
0x00007fe951208256: mov %r13,(%rsp)
0x00007fe95120825a: mov %rbx,0x8(%rsp)
0x00007fe95120825f: mov %r9,0x10(%rsp)
0x00007fe951208264: mov %r8d,0x18(%rsp)
0x00007fe951208269: xchg %ax,%ax
0x00007fe95120826b: callq 0x00007fe951039320 ; OopMap{rbp=Oop [16]=Oop off=208}
;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
; {runtime_call}
0x00007fe951208270: callq 0x00007fe959f3fb10 ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
; {runtime_call}
0x00007fe951208275: mov $0x56,%esi
0x00007fe95120827a: mov %rbx,%rbp
0x00007fe95120827d: xchg %ax,%ax
0x00007fe95120827f: callq 0x00007fe951039320 ; OopMap{off=228}
;*invokestatic num
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe951208284: callq 0x00007fe959f3fb10 ;*invokestatic num
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe951208289: xor %ebp,%ebp
0x00007fe95120828b: mov $0xffffff86,%esi
0x00007fe951208290: mov %r13,(%rsp)
0x00007fe951208294: mov %rbx,0x8(%rsp)
0x00007fe951208299: xchg %ax,%ax
0x00007fe95120829b: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=256}
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {runtime_call}
0x00007fe9512082a0: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9512082a5: mov $0xffffff9d,%esi
0x00007fe9512082aa: mov %r13,(%rsp)
0x00007fe9512082ae: mov %rbx,0x8(%rsp)
0x00007fe9512082b3: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=280}
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {runtime_call}
0x00007fe9512082b8: callq 0x00007fe959f3fb10 ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {runtime_call}
0x00007fe9512082bd: hlt
0x00007fe9512082be: hlt
0x00007fe9512082bf: hlt
[Exception Handler]
[Stub Code]
0x00007fe9512082c0: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe9512082c5: callq 0x00007fe9512082ca
0x00007fe9512082ca: subq $0x5,(%rsp)
0x00007fe9512082cf: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe9512082d4: hlt
0x00007fe9512082d5: hlt
0x00007fe9512082d6: hlt
0x00007fe9512082d7: hlt
Decoding compiled method 0x00007fe9511a6150:
Code:
[Entry Point]
[Constants]
# {method} 'invoke' '()Ljava/lang/Object;' in 'user$eval1664$fn__1665$fn__1670'
# [sp+0x50] (sp of caller)
0x00007fe9511a62c0: mov 0x8(%rsi),%r10d
0x00007fe9511a62c4: shl $0x3,%r10
0x00007fe9511a62c8: cmp %r10,%rax
0x00007fe9511a62cb: jne 0x00007fe951037960 ; {runtime_call}
0x00007fe9511a62d1: xchg %ax,%ax
0x00007fe9511a62d4: nopl 0x0(%rax,%rax,1)
0x00007fe9511a62dc: xchg %ax,%ax
[Verified Entry Point]
0x00007fe9511a62e0: mov %eax,-0x14000(%rsp)
0x00007fe9511a62e7: push %rbp
0x00007fe9511a62e8: sub $0x40,%rsp ;*synchronization entry
; - user$eval1664$fn__1665$fn__1670::invoke@-1 (line 7)
0x00007fe9511a62ec: mov %rsi,%r13
0x00007fe9511a62ef: mov 0x18(%rsi),%ebp ;*getfield a__4715__auto__
; - user$eval1664$fn__1665$fn__1670::invoke@4 (line 7)
0x00007fe9511a62f2: mov 0x8(%r12,%rbp,8),%r10d ; implicit exception: dispatches to 0x00007fe9511a6461
0x00007fe9511a62f7: cmp $0xe0240214,%r10d ; {oop({type array int})}
0x00007fe9511a62fe: jne 0x00007fe9511a644d ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
0x00007fe9511a6304: mov 0x14(%rsi),%esi ;*getfield ret
; - user$eval1664$fn__1665$fn__1670::invoke@17 (line 7)
0x00007fe9511a6307: lea (%r12,%rbp,8),%r10
0x00007fe9511a630b: mov %r10,%r11 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
0x00007fe9511a630e: mov 0xc(%r11),%r8d
0x00007fe9511a6312: movslq %r8d,%r11
0x00007fe9511a6315: test %r11,%r11
0x00007fe9511a6318: jle 0x00007fe9511a63b0 ;*ifge
; - user$eval1664$fn__1665$fn__1670::invoke@13 (line 7)
0x00007fe9511a631e: mov 0x8(%r12,%rsi,8),%r8d ; implicit exception: dispatches to 0x00007fe9511a6439
0x00007fe9511a6323: cmp $0xe0240214,%r8d ; {oop({type array int})}
0x00007fe9511a632a: jne 0x00007fe9511a6439 ;*aload_0
; - user$eval1664$fn__1665$fn__1670::invoke@16 (line 7)
0x00007fe9511a6330: mov 0x1c(%r13),%r9d ;*getfield a
; - user$eval1664$fn__1665$fn__1670::invoke@26 (line 7)
0x00007fe9511a6334: mov 0x8(%r12,%r9,8),%r8d ; implicit exception: dispatches to 0x00007fe9511a6439
0x00007fe9511a6339: cmp $0xe0240214,%r8d ; {oop({type array int})}
0x00007fe9511a6340: jne 0x00007fe9511a6439 ;*aload_0
; - user$eval1664$fn__1665$fn__1670::invoke@16 (line 7)
0x00007fe9511a6346: mov 0x10(%r13),%r8d ;*getfield b
; - user$eval1664$fn__1665$fn__1670::invoke@37 (line 7)
0x00007fe9511a634a: mov 0x8(%r12,%r8,8),%r11d ; implicit exception: dispatches to 0x00007fe9511a6439
0x00007fe9511a634f: cmp $0xe0240214,%r11d ; {oop({type array int})}
0x00007fe9511a6356: jne 0x00007fe9511a6439 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
0x00007fe9511a635c: mov 0xc(%r10),%r11d ;*arraylength
; - user$eval1664$fn__1665$fn__1670::invoke@10 (line 7)
0x00007fe9511a6360: lea (%r12,%r8,8),%rdx ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@40 (line 7)
0x00007fe9511a6364: mov 0xc(%rdx),%r10d ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
0x00007fe9511a6368: movslq %r11d,%rbp
0x00007fe9511a636b: lea (%r12,%r9,8),%rax ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@29 (line 7)
0x00007fe9511a636f: mov 0xc(%rax),%r8d ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
0x00007fe9511a6373: lea (%r12,%rsi,8),%rbx ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@20 (line 7)
0x00007fe9511a6377: mov 0xc(%rbx),%r11d ;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
0x00007fe9511a637b: xor %ecx,%ecx
0x00007fe9511a637d: xor %edi,%edi
0x00007fe9511a637f: jmp 0x00007fe9511a6383
0x00007fe9511a6381: mov %edi,%ecx ;*aload_0
; - user$eval1664$fn__1665$fn__1670::invoke@16 (line 7)
0x00007fe9511a6383: cmp %r8d,%ecx
0x00007fe9511a6386: jae 0x00007fe9511a63c3
0x00007fe9511a6388: mov 0x10(%rax,%rcx,4),%r9d ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
0x00007fe9511a638d: cmp %r10d,%ecx
0x00007fe9511a6390: jae 0x00007fe9511a63e9 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
0x00007fe9511a6392: add 0x10(%rdx,%rcx,4),%r9d ;*l2i
; - clojure.lang.RT::uncheckedIntCast@1 (line 1362)
; - user$eval1664$fn__1665$fn__1670::invoke@48 (line 7)
0x00007fe9511a6397: cmp %r11d,%ecx
0x00007fe9511a639a: jae 0x00007fe9511a6415
0x00007fe9511a639c: mov %r9d,0x10(%rbx,%rcx,4) ;*goto
; - user$eval1664$fn__1665$fn__1670::invoke@59 (line 7)
0x00007fe9511a63a1: add $0x1,%rdi ; OopMap{rbx=Oop rdx=Oop rsi=NarrowOop rax=Oop r13=Oop off=229}
;*goto
; - user$eval1664$fn__1665$fn__1670::invoke@59 (line 7)
0x00007fe9511a63a5: test %eax,0x9ff2c55(%rip) # 0x00007fe95b199000
;*goto
; - user$eval1664$fn__1665$fn__1670::invoke@59 (line 7)
; {poll}
0x00007fe9511a63ab: cmp %rbp,%rdi
0x00007fe9511a63ae: jl 0x00007fe9511a6381 ;*synchronization entry
; - user$eval1664$fn__1665$fn__1670::invoke@-1 (line 7)
0x00007fe9511a63b0: mov %rsi,%rax
0x00007fe9511a63b3: shl $0x3,%rax ;*getfield ret
; - user$eval1664$fn__1665$fn__1670::invoke@17 (line 7)
0x00007fe9511a63b7: add $0x40,%rsp
0x00007fe9511a63bb: pop %rbp
0x00007fe9511a63bc: test %eax,0x9ff2c3e(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe9511a63c2: retq
0x00007fe9511a63c3: mov $0xffffffe4,%esi
0x00007fe9511a63c8: mov %r13,%rbp
0x00007fe9511a63cb: mov %rdi,(%rsp)
0x00007fe9511a63cf: mov %rbx,0x8(%rsp)
0x00007fe9511a63d4: mov %rax,0x18(%rsp)
0x00007fe9511a63d9: mov %ecx,0x14(%rsp)
0x00007fe9511a63dd: xchg %ax,%ax
0x00007fe9511a63df: callq 0x00007fe951039320 ; OopMap{rbp=Oop [8]=Oop [24]=Oop off=292}
;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
; {runtime_call}
0x00007fe9511a63e4: callq 0x00007fe959f3fb10 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@34 (line 7)
; {runtime_call}
0x00007fe9511a63e9: movslq %r9d,%rbp ;*i2l ; - user$eval1664$fn__1665$fn__1670::invoke@35 (line 7)
0x00007fe9511a63ec: mov $0xffffffe4,%esi
0x00007fe9511a63f1: mov %r13,(%rsp)
0x00007fe9511a63f5: mov %rdi,0x8(%rsp)
0x00007fe9511a63fa: mov %rbx,0x10(%rsp)
0x00007fe9511a63ff: mov %rdx,0x20(%rsp)
0x00007fe9511a6404: mov %ecx,0x1c(%rsp)
0x00007fe9511a6408: xchg %ax,%ax
0x00007fe9511a640b: callq 0x00007fe951039320 ; OopMap{[0]=Oop [16]=Oop [32]=Oop off=336}
;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
; {runtime_call}
0x00007fe9511a6410: callq 0x00007fe959f3fb10 ;*iaload
; - user$eval1664$fn__1665$fn__1670::invoke@45 (line 7)
; {runtime_call}
0x00007fe9511a6415: mov $0xffffffe4,%esi
0x00007fe9511a641a: mov %r13,%rbp
0x00007fe9511a641d: mov %rdi,(%rsp)
0x00007fe9511a6421: mov %rbx,0x10(%rsp)
0x00007fe9511a6426: mov %ecx,0xc(%rsp)
0x00007fe9511a642a: mov %r9d,0x18(%rsp)
0x00007fe9511a642f: callq 0x00007fe951039320 ; OopMap{rbp=Oop [16]=Oop off=372}
;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
; {runtime_call}
0x00007fe9511a6434: callq 0x00007fe959f3fb10 ;*iastore
; - clojure.lang.RT::aset@3 (line 2140)
; - user$eval1664$fn__1665$fn__1670::invoke@51 (line 7)
; {runtime_call}
0x00007fe9511a6439: mov $0xffffff86,%esi
0x00007fe9511a643e: mov %r13,%rbp
0x00007fe9511a6441: xchg %ax,%ax
0x00007fe9511a6443: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=392}
;*aload_0
; - user$eval1664$fn__1665$fn__1670::invoke@16 (line 7)
; {runtime_call}
0x00007fe9511a6448: callq 0x00007fe959f3fb10 ;*aload_0
; - user$eval1664$fn__1665$fn__1670::invoke@16 (line 7)
; {runtime_call}
0x00007fe9511a644d: mov $0xffffffde,%esi
0x00007fe9511a6452: mov %r13,(%rsp)
0x00007fe9511a6456: nop
0x00007fe9511a6457: callq 0x00007fe951039320 ; OopMap{rbp=NarrowOop [0]=Oop off=412}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
; {runtime_call}
0x00007fe9511a645c: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511a6461: mov $0xfffffff4,%esi
0x00007fe9511a6466: mov %r13,%rbp
0x00007fe9511a6469: xchg %ax,%ax
0x00007fe9511a646b: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=432}
;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
; {runtime_call}
0x00007fe9511a6470: callq 0x00007fe959f3fb10 ;*checkcast
; - user$eval1664$fn__1665$fn__1670::invoke@7 (line 7)
; {runtime_call}
0x00007fe9511a6475: hlt
0x00007fe9511a6476: hlt
0x00007fe9511a6477: hlt
0x00007fe9511a6478: hlt
0x00007fe9511a6479: hlt
0x00007fe9511a647a: hlt
0x00007fe9511a647b: hlt
0x00007fe9511a647c: hlt
0x00007fe9511a647d: hlt
0x00007fe9511a647e: hlt
0x00007fe9511a647f: hlt
[Exception Handler]
[Stub Code]
0x00007fe9511a6480: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe9511a6485: callq 0x00007fe9511a648a
0x00007fe9511a648a: subq $0x5,(%rsp)
0x00007fe9511a648f: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe9511a6494: hlt
0x00007fe9511a6495: hlt
0x00007fe9511a6496: hlt
0x00007fe9511a6497: hlt
Decoding compiled method 0x00007fe9511ae850:
Code:
[Entry Point]
[Constants]
# {method} 'invoke' '()Ljava/lang/Object;' in 'user$eval1664$fn__1665$fn__1672'
# [sp+0x40] (sp of caller)
0x00007fe9511ae9c0: mov 0x8(%rsi),%r10d
0x00007fe9511ae9c4: shl $0x3,%r10
0x00007fe9511ae9c8: cmp %r10,%rax
0x00007fe9511ae9cb: jne 0x00007fe951037960 ; {runtime_call}
0x00007fe9511ae9d1: xchg %ax,%ax
0x00007fe9511ae9d4: nopl 0x0(%rax,%rax,1)
0x00007fe9511ae9dc: xchg %ax,%ax
[Verified Entry Point]
0x00007fe9511ae9e0: mov %eax,-0x14000(%rsp)
0x00007fe9511ae9e7: push %rbp
0x00007fe9511ae9e8: sub $0x30,%rsp ;*synchronization entry
; - user$eval1664$fn__1665$fn__1672::invoke@-1 (line 8)
0x00007fe9511ae9ec: mov %rsi,(%rsp)
0x00007fe9511ae9f0: mov 0x14(%rsi),%r10d
0x00007fe9511ae9f4: mov %r10,%rsi
0x00007fe9511ae9f7: shl $0x3,%rsi
0x00007fe9511ae9fb: callq 0x00007fe951037f60 ; OopMap{[0]=Oop off=64}
;*invokestatic longCast
; - user$eval1664$fn__1665$fn__1672::invoke@6 (line 8)
; {static_call}
0x00007fe9511aea00: mov (%rsp),%r10
0x00007fe9511aea04: mov 0x18(%r10),%ebp ;*getfield a__4717__auto__
; - user$eval1664$fn__1665$fn__1672::invoke@12 (line 8)
0x00007fe9511aea08: mov 0x8(%r12,%rbp,8),%r10d ; implicit exception: dispatches to 0x00007fe9511aeba5
0x00007fe9511aea0d: cmp $0xe0240214,%r10d ; {oop({type array int})}
0x00007fe9511aea14: jne 0x00007fe9511aeb91
0x00007fe9511aea1a: lea (%r12,%rbp,8),%r10
0x00007fe9511aea1e: mov %r10,%r11 ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@15 (line 8)
0x00007fe9511aea21: mov 0xc(%r11),%r8d
0x00007fe9511aea25: movslq %r8d,%r11
0x00007fe9511aea28: test %r11,%r11
0x00007fe9511aea2b: jle 0x00007fe9511aeb79 ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
0x00007fe9511aea31: mov (%rsp),%r11
0x00007fe9511aea35: mov 0x10(%r11),%r8d ;*getfield b
; - user$eval1664$fn__1665$fn__1672::invoke@29 (line 8)
0x00007fe9511aea39: mov 0x8(%r12,%r8,8),%r11d ; implicit exception: dispatches to 0x00007fe9511aeb62
0x00007fe9511aea3e: cmp $0xe0240214,%r11d ; {oop({type array int})}
0x00007fe9511aea45: jne 0x00007fe9511aeb62 ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@15 (line 8)
0x00007fe9511aea4b: mov 0xc(%r10),%r10d ;*arraylength
; - user$eval1664$fn__1665$fn__1672::invoke@18 (line 8)
0x00007fe9511aea4f: lea (%r12,%r8,8),%rcx ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@32 (line 8)
0x00007fe9511aea53: mov 0xc(%rcx),%r9d ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
0x00007fe9511aea57: movslq %r10d,%r11
0x00007fe9511aea5a: xor %r10d,%r10d
0x00007fe9511aea5d: mov $0x1,%r8d
0x00007fe9511aea63: jmp 0x00007fe9511aea7a
0x00007fe9511aea65: nopw 0x0(%rax,%rax,1)
0x00007fe9511aea70: mov %r8d,%r10d ;*l2i ; - user$eval1664$fn__1665$fn__1672::invoke@36 (line 8)
0x00007fe9511aea73: add $0x1,%r8 ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@26 (line 8)
0x00007fe9511aea77: mov %rbp,%rax ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@24 (line 8)
0x00007fe9511aea7a: cmp %r9d,%r10d
0x00007fe9511aea7d: jae 0x00007fe9511aeb28 ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
0x00007fe9511aea83: movslq 0x10(%rcx,%r10,4),%r10
0x00007fe9511aea88: mov %rax,%rbp
0x00007fe9511aea8b: add %r10,%rbp ; OopMap{rcx=Oop [0]=Oop off=206}
;*goto
; - user$eval1664$fn__1665$fn__1672::invoke@42 (line 8)
0x00007fe9511aea8e: test %eax,0x9fea56c(%rip) # 0x00007fe95b199000
;*goto
; - user$eval1664$fn__1665$fn__1672::invoke@42 (line 8)
; {poll}
0x00007fe9511aea94: cmp %r11,%r8
0x00007fe9511aea97: jl 0x00007fe9511aea70 ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
0x00007fe9511aea99: cmp $0xffffffffffffff80,%rbp
0x00007fe9511aea9d: jl 0x00007fe9511aeadb ;*iflt
; - java.lang.Long::valueOf@5 (line 574)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aea9f: cmp $0x7f,%rbp
0x00007fe9511aeaa3: jg 0x00007fe9511aeadb ;*ifgt
; - java.lang.Long::valueOf@13 (line 574)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aeaa5: mov %ebp,%r11d ;*l2i ; - java.lang.Long::valueOf@20 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aeaa8: mov %r11d,%ebp
0x00007fe9511aeaab: add $0x80,%ebp ;*iadd
; - java.lang.Long::valueOf@24 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aeab1: cmp $0x100,%ebp
0x00007fe9511aeab7: jae 0x00007fe9511aeb81
0x00007fe9511aeabd: movslq %r11d,%r10
0x00007fe9511aeac0: mov $0x7064f57a0,%r11 ; {oop(a 'java/lang/Long'[256] )}
0x00007fe9511aeaca: mov 0x210(%r11,%r10,4),%r11d
0x00007fe9511aead2: mov %r11,%rax
0x00007fe9511aead5: shl $0x3,%rax ;*aaload
; - java.lang.Long::valueOf@25 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aead9: jmp 0x00007fe9511aeb1c
0x00007fe9511aeadb: mov 0x60(%r15),%rax
0x00007fe9511aeadf: mov %rax,%r10
0x00007fe9511aeae2: add $0x18,%r10
0x00007fe9511aeae6: cmp 0x70(%r15),%r10
0x00007fe9511aeaea: jae 0x00007fe9511aeb51
0x00007fe9511aeaec: mov %r10,0x60(%r15)
0x00007fe9511aeaf0: prefetchnta 0xc0(%r10)
0x00007fe9511aeaf8: mov $0xe02543dd,%r10d ; {oop('java/lang/Long')}
0x00007fe9511aeafe: mov 0xb0(%r12,%r10,8),%r10
0x00007fe9511aeb06: mov %r10,(%rax)
0x00007fe9511aeb09: movl $0xe02543dd,0x8(%rax) ; {oop('java/lang/Long')}
0x00007fe9511aeb10: mov %r12d,0xc(%rax)
0x00007fe9511aeb14: mov %r12,0x10(%rax) ;*new ; - java.lang.Long::valueOf@27 (line 577)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aeb18: mov %rbp,0x10(%rax) ;*invokestatic valueOf
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511aeb1c: add $0x30,%rsp
0x00007fe9511aeb20: pop %rbp
0x00007fe9511aeb21: test %eax,0x9fea4d9(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe9511aeb27: retq
0x00007fe9511aeb28: mov $0xffffffe4,%esi
0x00007fe9511aeb2d: mov (%rsp),%rbp
0x00007fe9511aeb31: mov %r8,(%rsp)
0x00007fe9511aeb35: mov %rax,0x8(%rsp)
0x00007fe9511aeb3a: mov %rcx,0x10(%rsp)
0x00007fe9511aeb3f: mov %r10d,0x18(%rsp)
0x00007fe9511aeb44: xchg %ax,%ax
0x00007fe9511aeb47: callq 0x00007fe951039320 ; OopMap{rbp=Oop [16]=Oop off=396}
;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
; {runtime_call}
0x00007fe9511aeb4c: callq 0x00007fe959f3fb10 ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
; {runtime_call}
0x00007fe9511aeb51: mov $0x7012a1ee8,%rsi ; {oop('java/lang/Long')}
0x00007fe9511aeb5b: callq 0x00007fe95105f560 ; OopMap{off=416}
;*new ; - java.lang.Long::valueOf@27 (line 577)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511aeb60: jmp 0x00007fe9511aeb18
0x00007fe9511aeb62: mov $0xffffff86,%esi
0x00007fe9511aeb67: mov (%rsp),%rbp
0x00007fe9511aeb6b: mov %rax,(%rsp)
0x00007fe9511aeb6f: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=436}
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@24 (line 8)
; {runtime_call}
0x00007fe9511aeb74: callq 0x00007fe959f3fb10 ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@24 (line 8)
; {runtime_call}
0x00007fe9511aeb79: mov %rax,%rbp
0x00007fe9511aeb7c: jmpq 0x00007fe9511aea99
0x00007fe9511aeb81: mov $0xffffffe4,%esi
0x00007fe9511aeb86: nop
0x00007fe9511aeb87: callq 0x00007fe951039320 ; OopMap{off=460}
;*aaload
; - java.lang.Long::valueOf@25 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511aeb8c: callq 0x00007fe959f3fb10 ;*aaload
; - java.lang.Long::valueOf@25 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511aeb91: mov $0xffffffde,%esi
0x00007fe9511aeb96: mov %rax,0x8(%rsp)
0x00007fe9511aeb9b: callq 0x00007fe951039320 ; OopMap{rbp=NarrowOop [0]=Oop off=480}
;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@15 (line 8)
; {runtime_call}
0x00007fe9511aeba0: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511aeba5: mov $0xfffffff4,%esi
0x00007fe9511aebaa: mov (%rsp),%rbp
0x00007fe9511aebae: mov %rax,(%rsp)
0x00007fe9511aebb2: nop
0x00007fe9511aebb3: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=504}
;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@15 (line 8)
; {runtime_call}
0x00007fe9511aebb8: callq 0x00007fe959f3fb10 ;*new
; - java.lang.Long::valueOf@27 (line 577)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511aebbd: mov %rax,%rsi
0x00007fe9511aebc0: jmp 0x00007fe9511aebc5
0x00007fe9511aebc2: mov %rax,%rsi ;*invokestatic longCast
; - user$eval1664$fn__1665$fn__1672::invoke@6 (line 8)
0x00007fe9511aebc5: add $0x30,%rsp
0x00007fe9511aebc9: pop %rbp
0x00007fe9511aebca: jmpq 0x00007fe9510623a0 ; {runtime_call}
0x00007fe9511aebcf: hlt
0x00007fe9511aebd0: hlt
0x00007fe9511aebd1: hlt
0x00007fe9511aebd2: hlt
0x00007fe9511aebd3: hlt
0x00007fe9511aebd4: hlt
0x00007fe9511aebd5: hlt
0x00007fe9511aebd6: hlt
0x00007fe9511aebd7: hlt
0x00007fe9511aebd8: hlt
0x00007fe9511aebd9: hlt
0x00007fe9511aebda: hlt
0x00007fe9511aebdb: hlt
0x00007fe9511aebdc: hlt
0x00007fe9511aebdd: hlt
0x00007fe9511aebde: hlt
0x00007fe9511aebdf: hlt
[Stub Code]
0x00007fe9511aebe0: mov $0x0,%rbx ; {no_reloc}
0x00007fe9511aebea: jmpq 0x00007fe9511aebea ; {runtime_call}
[Exception Handler]
0x00007fe9511aebef: jmpq 0x00007fe95105f620 ; {runtime_call}
[Deopt Handler Code]
0x00007fe9511aebf4: callq 0x00007fe9511aebf9
0x00007fe9511aebf9: subq $0x5,(%rsp)
0x00007fe9511aebfe: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe9511aec03: hlt
0x00007fe9511aec04: hlt
0x00007fe9511aec05: hlt
0x00007fe9511aec06: hlt
0x00007fe9511aec07: hlt
Decoding compiled method 0x00007fe9511b2d90:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} 'invoke' '()Ljava/lang/Object;' in 'user$eval1664$fn__1665$fn__1672'
0x00007fe9511b2f00: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511b2f05: nopw 0x0(%rax,%rax,1)
0x00007fe9511b2f10: mov %eax,-0x14000(%rsp)
0x00007fe9511b2f17: push %rbp
0x00007fe9511b2f18: sub $0x30,%rsp
0x00007fe9511b2f1c: mov (%rsi),%r10
0x00007fe9511b2f1f: mov %r10,0x10(%rsp)
0x00007fe9511b2f24: mov 0x20(%rsi),%rbx
0x00007fe9511b2f28: mov 0x10(%rsi),%r13
0x00007fe9511b2f2c: mov %rsi,%rdi
0x00007fe9511b2f2f: mov $0x7fe959fd7620,%r10
0x00007fe9511b2f39: callq *%r10
0x00007fe9511b2f3c: test %rbx,%rbx
0x00007fe9511b2f3f: je 0x00007fe9511b30ea
0x00007fe9511b2f45: mov 0x8(%rbx),%r10d
0x00007fe9511b2f49: cmp $0xe04375ee,%r10d ; {oop('user$eval1664$fn__1665$fn__1672')}
0x00007fe9511b2f50: jne 0x00007fe9511b3117 ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
0x00007fe9511b2f56: mov 0x18(%rbx),%r10d ;*getfield a__4717__auto__
; - user$eval1664$fn__1665$fn__1672::invoke@12 (line 8)
0x00007fe9511b2f5a: mov 0x8(%r12,%r10,8),%r8d ; implicit exception: dispatches to 0x00007fe9511b30ec
0x00007fe9511b2f5f: cmp $0xe0240214,%r8d ; {oop({type array int})}
0x00007fe9511b2f66: jne 0x00007fe9511b30ec ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
0x00007fe9511b2f6c: shl $0x3,%r10 ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@15 (line 8)
0x00007fe9511b2f70: mov 0xc(%r10),%r10d
0x00007fe9511b2f74: movslq %r10d,%r8 ;*i2l ; - user$eval1664$fn__1665$fn__1672::invoke@19 (line 8)
0x00007fe9511b2f77: cmp %r8,%r13
0x00007fe9511b2f7a: jge 0x00007fe9511b303e ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
0x00007fe9511b2f80: mov 0x10(%rbx),%r10d ;*getfield b
; - user$eval1664$fn__1665$fn__1672::invoke@29 (line 8)
0x00007fe9511b2f84: mov %r13,%rbp
0x00007fe9511b2f87: add $0x1,%rbp ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@26 (line 8)
0x00007fe9511b2f8b: mov 0x8(%r12,%r10,8),%r11d ; implicit exception: dispatches to 0x00007fe9511b315d
0x00007fe9511b2f90: cmp $0xe0240214,%r11d ; {oop({type array int})}
0x00007fe9511b2f97: jne 0x00007fe9511b313d
0x00007fe9511b2f9d: lea (%r12,%r10,8),%rcx ;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@32 (line 8)
0x00007fe9511b2fa1: mov 0xc(%rcx),%r10d ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
0x00007fe9511b2fa5: mov %r13d,%r11d ;*l2i ; - user$eval1664$fn__1665$fn__1672::invoke@36 (line 8)
0x00007fe9511b2fa8: cmp %r10d,%r11d
0x00007fe9511b2fab: jae 0x00007fe9511b3105 ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
0x00007fe9511b2fb1: movslq 0x10(%rcx,%r11,4),%r9
0x00007fe9511b2fb6: add 0x10(%rsp),%r9 ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@39 (line 8)
0x00007fe9511b2fbb: cmp %r8,%rbp
0x00007fe9511b2fbe: jge 0x00007fe9511b3039 ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
0x00007fe9511b2fc4: mov %ebp,%r11d ;*l2i ; - user$eval1664$fn__1665$fn__1672::invoke@36 (line 8)
0x00007fe9511b2fc7: add $0x2,%r13 ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@26 (line 8)
0x00007fe9511b2fcb: cmp %r10d,%r11d
0x00007fe9511b2fce: jae 0x00007fe9511b310d ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
0x00007fe9511b2fd4: movslq 0x10(%rcx,%r11,4),%r11 ;*goto
; - user$eval1664$fn__1665$fn__1672::invoke@42 (line 8)
0x00007fe9511b2fd9: add %r9,%r11
0x00007fe9511b2fdc: mov %r11,0x10(%rsp)
0x00007fe9511b2fe1: jmp 0x00007fe9511b2ffb
0x00007fe9511b2fe3: movslq 0x10(%rcx,%r11,4),%r11
0x00007fe9511b2fe8: mov 0x10(%rsp),%r9
0x00007fe9511b2fed: add %r11,%r9 ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@39 (line 8)
0x00007fe9511b2ff0: mov %r9,0x10(%rsp) ; OopMap{rcx=Oop rbx=Oop off=245}
;*goto
; - user$eval1664$fn__1665$fn__1672::invoke@42 (line 8)
0x00007fe9511b2ff5: test %eax,0x9fe6005(%rip) # 0x00007fe95b199000
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {poll}
0x00007fe9511b2ffb: cmp %r8,%r13
0x00007fe9511b2ffe: jge 0x00007fe9511b303e ;*ifge
; - user$eval1664$fn__1665$fn__1672::invoke@21 (line 8)
0x00007fe9511b3000: mov %r13d,%r11d ;*l2i ; - user$eval1664$fn__1665$fn__1672::invoke@36 (line 8)
0x00007fe9511b3003: add $0x1,%r13 ;*ladd
; - user$eval1664$fn__1665$fn__1672::invoke@26 (line 8)
0x00007fe9511b3007: cmp %r10d,%r11d
0x00007fe9511b300a: jb 0x00007fe9511b2fe3
0x00007fe9511b300c: mov $0xffffffe4,%esi
0x00007fe9511b3011: mov %rbx,%rbp
0x00007fe9511b3014: mov %r13,(%rsp)
0x00007fe9511b3018: rex.W pushq 0x10(%rsp)
0x00007fe9511b301d: rex.W popq 0x8(%rsp)
0x00007fe9511b3022: mov %rcx,0x10(%rsp)
0x00007fe9511b3027: mov %r11d,0x18(%rsp)
0x00007fe9511b302c: xchg %ax,%ax
0x00007fe9511b302f: callq 0x00007fe951039320 ; OopMap{rbp=Oop [16]=Oop off=308}
;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
; {runtime_call}
0x00007fe9511b3034: callq 0x00007fe959f3fb10 ;*iaload
; - user$eval1664$fn__1665$fn__1672::invoke@37 (line 8)
; {runtime_call}
0x00007fe9511b3039: mov %r9,0x10(%rsp)
0x00007fe9511b303e: mov 0x10(%rsp),%r10
0x00007fe9511b3043: cmp $0xffffffffffffff80,%r10
0x00007fe9511b3047: jl 0x00007fe9511b3085 ;*iflt
; - java.lang.Long::valueOf@5 (line 574)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b3049: cmp $0x7f,%r10
0x00007fe9511b304d: jg 0x00007fe9511b3085 ;*ifgt
; - java.lang.Long::valueOf@13 (line 574)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b304f: mov %r10d,%r10d ;*l2i ; - java.lang.Long::valueOf@20 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b3052: mov %r10d,%ebp
0x00007fe9511b3055: add $0x80,%ebp ;*iadd
; - java.lang.Long::valueOf@24 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b305b: cmp $0x100,%ebp
0x00007fe9511b3061: jae 0x00007fe9511b312d
0x00007fe9511b3067: movslq %r10d,%r10
0x00007fe9511b306a: mov $0x7064f57a0,%r11 ; {oop(a 'java/lang/Long'[256] )}
0x00007fe9511b3074: mov 0x210(%r11,%r10,4),%r10d
0x00007fe9511b307c: mov %r10,%rax
0x00007fe9511b307f: shl $0x3,%rax ;*aaload
; - java.lang.Long::valueOf@25 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b3083: jmp 0x00007fe9511b30cb
0x00007fe9511b3085: mov 0x60(%r15),%rax
0x00007fe9511b3089: mov %rax,%r10
0x00007fe9511b308c: add $0x18,%r10
0x00007fe9511b3090: cmp 0x70(%r15),%r10
0x00007fe9511b3094: jae 0x00007fe9511b30d7
0x00007fe9511b3096: mov %r10,0x60(%r15)
0x00007fe9511b309a: prefetchnta 0xc0(%r10)
0x00007fe9511b30a2: mov $0xe02543dd,%r11d ; {oop('java/lang/Long')}
0x00007fe9511b30a8: mov 0xb0(%r12,%r11,8),%r10
0x00007fe9511b30b0: mov %r10,(%rax)
0x00007fe9511b30b3: movl $0xe02543dd,0x8(%rax) ; {oop('java/lang/Long')}
0x00007fe9511b30ba: mov %r12d,0xc(%rax)
0x00007fe9511b30be: mov %r12,0x10(%rax) ;*new ; - java.lang.Long::valueOf@27 (line 577)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b30c2: mov 0x10(%rsp),%r10
0x00007fe9511b30c7: mov %r10,0x10(%rax) ;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
0x00007fe9511b30cb: add $0x30,%rsp
0x00007fe9511b30cf: pop %rbp
0x00007fe9511b30d0: test %eax,0x9fe5f2a(%rip) # 0x00007fe95b199000
; {poll_return}
0x00007fe9511b30d6: retq ;*iflt
; - java.lang.Long::valueOf@5 (line 574)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
0x00007fe9511b30d7: mov $0x7012a1ee8,%rsi ; {oop('java/lang/Long')}
0x00007fe9511b30e1: xchg %ax,%ax
0x00007fe9511b30e3: callq 0x00007fe95105f560 ; OopMap{off=488}
;*new ; - java.lang.Long::valueOf@27 (line 577)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511b30e8: jmp 0x00007fe9511b30c2
0x00007fe9511b30ea: xor %ebx,%ebx
0x00007fe9511b30ec: mov $0xffffff86,%esi
0x00007fe9511b30f1: mov %rbx,%rbp
0x00007fe9511b30f4: mov %r13,(%rsp)
0x00007fe9511b30f8: xchg %ax,%ax
0x00007fe9511b30fb: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=512}
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {runtime_call}
0x00007fe9511b3100: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511b3105: mov %rbp,%r13
0x00007fe9511b3108: jmpq 0x00007fe9511b300c
0x00007fe9511b310d: mov %r9,0x10(%rsp)
0x00007fe9511b3112: jmpq 0x00007fe9511b300c
0x00007fe9511b3117: mov $0xffffff9d,%esi
0x00007fe9511b311c: mov %rbx,%rbp
0x00007fe9511b311f: mov %r13,(%rsp)
0x00007fe9511b3123: callq 0x00007fe951039320 ; OopMap{rbp=Oop off=552}
;*lload_1
; - user$eval1664$fn__1665$fn__1672::invoke@10 (line 8)
; {runtime_call}
0x00007fe9511b3128: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511b312d: mov $0xffffffe4,%esi
0x00007fe9511b3132: nop
0x00007fe9511b3133: callq 0x00007fe951039320 ; OopMap{off=568}
;*aaload
; - java.lang.Long::valueOf@25 (line 575)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511b3138: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511b313d: mov $0xffffffde,%esi
0x00007fe9511b3142: mov %rbx,(%rsp)
0x00007fe9511b3146: mov %r13,0x8(%rsp)
0x00007fe9511b314b: mov %r10d,0x18(%rsp)
0x00007fe9511b3150: xchg %ax,%ax
0x00007fe9511b3153: callq 0x00007fe951039320 ; OopMap{[0]=Oop [24]=NarrowOop off=600}
;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@32 (line 8)
; {runtime_call}
0x00007fe9511b3158: callq 0x00007fe959f3fb10 ; {runtime_call}
0x00007fe9511b315d: mov $0xfffffff4,%esi
0x00007fe9511b3162: mov %rbx,(%rsp)
0x00007fe9511b3166: mov %r13,0x8(%rsp)
0x00007fe9511b316b: callq 0x00007fe951039320 ; OopMap{[0]=Oop off=624}
;*checkcast
; - user$eval1664$fn__1665$fn__1672::invoke@32 (line 8)
; {runtime_call}
0x00007fe9511b3170: callq 0x00007fe959f3fb10 ;*new
; - java.lang.Long::valueOf@27 (line 577)
; - clojure.lang.Numbers::num@1 (line 1625)
; - user$eval1664$fn__1665$fn__1672::invoke@50 (line 8)
; {runtime_call}
0x00007fe9511b3175: mov %rax,%rsi
0x00007fe9511b3178: add $0x30,%rsp
0x00007fe9511b317c: pop %rbp
0x00007fe9511b317d: jmpq 0x00007fe9510623a0 ; {runtime_call}
0x00007fe9511b3182: hlt
0x00007fe9511b3183: hlt
0x00007fe9511b3184: hlt
0x00007fe9511b3185: hlt
0x00007fe9511b3186: hlt
0x00007fe9511b3187: hlt
0x00007fe9511b3188: hlt
0x00007fe9511b3189: hlt
0x00007fe9511b318a: hlt
0x00007fe9511b318b: hlt
0x00007fe9511b318c: hlt
0x00007fe9511b318d: hlt
0x00007fe9511b318e: hlt
0x00007fe9511b318f: hlt
0x00007fe9511b3190: hlt
0x00007fe9511b3191: hlt
0x00007fe9511b3192: hlt
0x00007fe9511b3193: hlt
0x00007fe9511b3194: hlt
0x00007fe9511b3195: hlt
0x00007fe9511b3196: hlt
0x00007fe9511b3197: hlt
0x00007fe9511b3198: hlt
0x00007fe9511b3199: hlt
0x00007fe9511b319a: hlt
0x00007fe9511b319b: hlt
0x00007fe9511b319c: hlt
0x00007fe9511b319d: hlt
0x00007fe9511b319e: hlt
0x00007fe9511b319f: hlt
[Exception Handler]
[Stub Code]
0x00007fe9511b31a0: jmpq 0x00007fe95105f620 ; {no_reloc}
[Deopt Handler Code]
0x00007fe9511b31a5: callq 0x00007fe9511b31aa
0x00007fe9511b31aa: subq $0x5,(%rsp)
0x00007fe9511b31af: jmpq 0x00007fe951038f00 ; {runtime_call}
0x00007fe9511b31b4: hlt
0x00007fe9511b31b5: hlt
0x00007fe9511b31b6: hlt
0x00007fe9511b31b7: hlt
(time
(let [a ^ints a b ^ints b N ^int N]
(loop [count (long 0) sum (long 0)]
(if (== count 1000) sum
(do
;; (println count sum)
(let [b (amap a idx ret (+ (aget a idx) (aget b idx)))]
(recur (inc count) (areduce ^ints b i res (long sum) (unchecked-add res (aget ^ints b i))))))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment