Created
December 22, 2017 12:38
Star
You must be signed in to star a gist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Code being analyzed | |
// | |
// 1. package ch.ethz.acl.ngen.saxpy; | |
// 2. | |
// 3. public class JSaxpy { | |
// 4. public void apply(int[] a, int[] b, int s, int n){ | |
// 5. for (int i = 0; i < n; i += 1) { | |
// 6. a[i] += b[i] * s; | |
// 7. } | |
// 8. } | |
// 9. } | |
Compiled method (c1) 15904 2751 % 3 ch.ethz.acl.ngen.saxpy.JSaxpy::apply @ 3 (30 bytes) | |
total in heap [0x000000010bcb6e10,0x000000010bcb7450] = 1600 | |
relocation [0x000000010bcb6f38,0x000000010bcb6f80] = 72 | |
main code [0x000000010bcb6f80,0x000000010bcb71c0] = 576 | |
stub code [0x000000010bcb71c0,0x000000010bcb7250] = 144 | |
oops [0x000000010bcb7250,0x000000010bcb7258] = 8 | |
metadata [0x000000010bcb7258,0x000000010bcb7260] = 8 | |
scopes data [0x000000010bcb7260,0x000000010bcb72e0] = 128 | |
scopes pcs [0x000000010bcb72e0,0x000000010bcb7420] = 320 | |
dependencies [0x000000010bcb7420,0x000000010bcb7428] = 8 | |
nul chk table [0x000000010bcb7428,0x000000010bcb7450] = 40 | |
Loaded disassembler from /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/server/hsdis-amd64.dylib | |
Decoding compiled method 0x000000010bcb6e10: | |
Code: | |
[Disassembling for mach='i386:x86-64'] | |
[Entry Point] | |
[Constants] | |
# {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
0x000000010bcb6f80: mov 0x8(%rsi),%r10d | |
0x000000010bcb6f84: shl $0x3,%r10 | |
0x000000010bcb6f88: cmp %rax,%r10 | |
0x000000010bcb6f8b: jne 0x000000010bbece20 ; {runtime_call} | |
0x000000010bcb6f91: data16 data16 nopw 0x0(%rax,%rax,1) | |
0x000000010bcb6f9c: data16 data16 xchg %ax,%ax | |
[Verified Entry Point] | |
0x000000010bcb6fa0: mov %eax,-0x14000(%rsp) | |
0x000000010bcb6fa7: push %rbp | |
0x000000010bcb6fa8: sub $0x60,%rsp | |
0x000000010bcb6fac: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010bcb6fb6: mov 0xdc(%rdi),%ebx | |
0x000000010bcb6fbc: add $0x8,%ebx | |
0x000000010bcb6fbf: mov %ebx,0xdc(%rdi) | |
0x000000010bcb6fc5: movabs $0x12b12abf0,%rdi ; {metadata({method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010bcb6fcf: and $0x1ff8,%ebx | |
0x000000010bcb6fd5: cmp $0x0,%ebx | |
0x000000010bcb6fd8: je 0x000000010bcb7114 ;*iconst_0 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@0 (line 5) | |
0x000000010bcb6fde: mov $0x0,%esi | |
0x000000010bcb6fe3: jmpq 0x000000010bcb7068 ;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
0x000000010bcb6fe8: movslq %esi,%rdi | |
0x000000010bcb6feb: cmp 0xc(%rdx),%esi ; implicit exception: dispatches to 0x000000010bcb712b | |
0x000000010bcb6fee: jae 0x000000010bcb7135 | |
0x000000010bcb6ff4: mov 0x10(%rdx,%rdi,4),%edi ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010bcb6ff8: movslq %esi,%rbx | |
0x000000010bcb6ffb: cmp 0xc(%rcx),%esi ; implicit exception: dispatches to 0x000000010bcb713e | |
0x000000010bcb6ffe: jae 0x000000010bcb7148 | |
0x000000010bcb7004: mov 0x10(%rcx,%rbx,4),%ebx ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010bcb7008: imul %r8d,%ebx | |
0x000000010bcb700c: add %ebx,%edi | |
0x000000010bcb700e: movslq %esi,%rbx | |
0x000000010bcb7011: cmp 0xc(%rdx),%esi | |
0x000000010bcb7014: jae 0x000000010bcb7151 | |
0x000000010bcb701a: mov %edi,0x10(%rdx,%rbx,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010bcb701e: inc %esi | |
0x000000010bcb7020: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010bcb702a: mov 0xe0(%rdi),%ebx | |
0x000000010bcb7030: add $0x8,%ebx | |
0x000000010bcb7033: mov %ebx,0xe0(%rdi) | |
0x000000010bcb7039: movabs $0x12b12abf0,%rdi ; {metadata({method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010bcb7043: and $0xfff8,%ebx | |
0x000000010bcb7049: cmp $0x0,%ebx | |
0x000000010bcb704c: je 0x000000010bcb715a ; OopMap{rcx=Oop rdx=Oop off=210} | |
;*goto | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@26 (line 5) | |
0x000000010bcb7052: test %eax,-0x2d54f58(%rip) # 0x0000000108f62100 | |
; {poll} | |
0x000000010bcb7058: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010bcb7062: incl 0x128(%rdi) ;*goto | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@26 (line 5) | |
0x000000010bcb7068: cmp %r9d,%esi | |
0x000000010bcb706b: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010bcb7075: movabs $0x108,%rbx | |
0x000000010bcb707f: jge 0x000000010bcb708f | |
0x000000010bcb7085: movabs $0x118,%rbx | |
0x000000010bcb708f: mov (%rdi,%rbx,1),%rax | |
0x000000010bcb7093: lea 0x1(%rax),%rax | |
0x000000010bcb7097: mov %rax,(%rdi,%rbx,1) | |
0x000000010bcb709b: jl 0x000000010bcb6fe8 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010bcb70a1: add $0x60,%rsp | |
0x000000010bcb70a5: pop %rbp | |
0x000000010bcb70a6: test %eax,-0x2d54fac(%rip) # 0x0000000108f62100 | |
; {poll_return} | |
0x000000010bcb70ac: retq ;*return | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@29 (line 8) | |
0x000000010bcb70ad: mov %eax,-0x14000(%rsp) | |
0x000000010bcb70b4: push %rbp | |
0x000000010bcb70b5: sub $0x60,%rsp | |
0x000000010bcb70b9: mov 0x20(%rsi),%rbx | |
0x000000010bcb70bd: mov 0x18(%rsi),%rax | |
0x000000010bcb70c1: mov 0x10(%rsi),%edx | |
0x000000010bcb70c4: mov 0x8(%rsi),%ecx | |
0x000000010bcb70c7: mov (%rsi),%r8d | |
0x000000010bcb70ca: mov %rsi,%rdi | |
0x000000010bcb70cd: mov %rbx,0x48(%rsp) | |
0x000000010bcb70d2: mov %rax,0x40(%rsp) | |
0x000000010bcb70d7: mov %edx,0x38(%rsp) | |
0x000000010bcb70db: mov %ecx,0x34(%rsp) | |
0x000000010bcb70df: mov %r8d,0x30(%rsp) | |
0x000000010bcb70e4: callq 0x000000010b0e5842 ; {runtime_call} | |
0x000000010bcb70e9: mov 0x30(%rsp),%r8d | |
0x000000010bcb70ee: mov %r8,%rsi | |
0x000000010bcb70f1: mov 0x34(%rsp),%ecx | |
0x000000010bcb70f5: mov %rcx,%r9 | |
0x000000010bcb70f8: mov 0x38(%rsp),%edx | |
0x000000010bcb70fc: mov %rdx,%r8 | |
0x000000010bcb70ff: mov 0x40(%rsp),%rax | |
0x000000010bcb7104: mov %rax,%rcx | |
0x000000010bcb7107: mov 0x48(%rsp),%rbx | |
0x000000010bcb710c: mov %rbx,%rdx | |
0x000000010bcb710f: jmpq 0x000000010bcb7068 | |
0x000000010bcb7114: mov %rdi,0x8(%rsp) | |
0x000000010bcb7119: movq $0xffffffffffffffff,(%rsp) | |
0x000000010bcb7121: callq 0x000000010bca4f60 ; OopMap{rsi=Oop rdx=Oop rcx=Oop off=422} | |
;*synchronization entry | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@-1 (line 5) | |
; {runtime_call} | |
0x000000010bcb7126: jmpq 0x000000010bcb6fde | |
0x000000010bcb712b: callq 0x000000010bca0a40 ; OopMap{rcx=Oop rdx=Oop off=432} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010bcb7130: callq 0x000000010bca0a40 ; OopMap{rcx=Oop rdx=Oop off=437} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010bcb7135: mov %rsi,(%rsp) | |
0x000000010bcb7139: callq 0x000000010bc13000 ; OopMap{rcx=Oop rdx=Oop off=446} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010bcb713e: callq 0x000000010bca0a40 ; OopMap{rcx=Oop rdx=Oop off=451} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010bcb7143: callq 0x000000010bca0a40 ; OopMap{rcx=Oop rdx=Oop off=456} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010bcb7148: mov %rsi,(%rsp) | |
0x000000010bcb714c: callq 0x000000010bc13000 ; OopMap{rcx=Oop rdx=Oop off=465} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010bcb7151: mov %rsi,(%rsp) | |
0x000000010bcb7155: callq 0x000000010bc13000 ; OopMap{rcx=Oop rdx=Oop off=474} | |
;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
; {runtime_call} | |
0x000000010bcb715a: mov %rdi,0x8(%rsp) | |
0x000000010bcb715f: movq $0x1a,(%rsp) | |
0x000000010bcb7167: callq 0x000000010bca4f60 ; OopMap{rcx=Oop rdx=Oop off=492} | |
;*goto | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@26 (line 5) | |
; {runtime_call} | |
0x000000010bcb716c: jmpq 0x000000010bcb7052 | |
0x000000010bcb7171: nop | |
0x000000010bcb7172: nop | |
0x000000010bcb7173: mov 0x2a8(%r15),%rax | |
0x000000010bcb717a: movabs $0x0,%r10 | |
0x000000010bcb7184: mov %r10,0x2a8(%r15) | |
0x000000010bcb718b: movabs $0x0,%r10 | |
0x000000010bcb7195: mov %r10,0x2b0(%r15) | |
0x000000010bcb719c: add $0x60,%rsp | |
0x000000010bcb71a0: pop %rbp | |
0x000000010bcb71a1: jmpq 0x000000010bc134a0 ; {runtime_call} | |
0x000000010bcb71a6: hlt | |
0x000000010bcb71a7: hlt | |
0x000000010bcb71a8: hlt | |
0x000000010bcb71a9: hlt | |
0x000000010bcb71aa: hlt | |
0x000000010bcb71ab: hlt | |
0x000000010bcb71ac: hlt | |
0x000000010bcb71ad: hlt | |
0x000000010bcb71ae: hlt | |
0x000000010bcb71af: hlt | |
0x000000010bcb71b0: hlt | |
0x000000010bcb71b1: hlt | |
0x000000010bcb71b2: hlt | |
0x000000010bcb71b3: hlt | |
0x000000010bcb71b4: hlt | |
0x000000010bcb71b5: hlt | |
0x000000010bcb71b6: hlt | |
0x000000010bcb71b7: hlt | |
0x000000010bcb71b8: hlt | |
0x000000010bcb71b9: hlt | |
0x000000010bcb71ba: hlt | |
0x000000010bcb71bb: hlt | |
0x000000010bcb71bc: hlt | |
0x000000010bcb71bd: hlt | |
0x000000010bcb71be: hlt | |
0x000000010bcb71bf: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x000000010bcb71c0: callq 0x000000010bca28e0 ; {no_reloc} | |
0x000000010bcb71c5: mov %rsp,-0x28(%rsp) | |
0x000000010bcb71ca: sub $0x80,%rsp | |
0x000000010bcb71d1: mov %rax,0x78(%rsp) | |
0x000000010bcb71d6: mov %rcx,0x70(%rsp) | |
0x000000010bcb71db: mov %rdx,0x68(%rsp) | |
0x000000010bcb71e0: mov %rbx,0x60(%rsp) | |
0x000000010bcb71e5: mov %rbp,0x50(%rsp) | |
0x000000010bcb71ea: mov %rsi,0x48(%rsp) | |
0x000000010bcb71ef: mov %rdi,0x40(%rsp) | |
0x000000010bcb71f4: mov %r8,0x38(%rsp) | |
0x000000010bcb71f9: mov %r9,0x30(%rsp) | |
0x000000010bcb71fe: mov %r10,0x28(%rsp) | |
0x000000010bcb7203: mov %r11,0x20(%rsp) | |
0x000000010bcb7208: mov %r12,0x18(%rsp) | |
0x000000010bcb720d: mov %r13,0x10(%rsp) | |
0x000000010bcb7212: mov %r14,0x8(%rsp) | |
0x000000010bcb7217: mov %r15,(%rsp) | |
0x000000010bcb721b: movabs $0x10b1d96ff,%rdi ; {external_word} | |
0x000000010bcb7225: movabs $0x10bcb71c5,%rsi ; {internal_word} | |
0x000000010bcb722f: mov %rsp,%rdx | |
0x000000010bcb7232: and $0xfffffffffffffff0,%rsp | |
0x000000010bcb7236: callq 0x000000010b00490a ; {runtime_call} | |
0x000000010bcb723b: hlt | |
[Deopt Handler Code] | |
0x000000010bcb723c: movabs $0x10bcb723c,%r10 ; {section_word} | |
0x000000010bcb7246: push %r10 | |
0x000000010bcb7248: jmpq 0x000000010bbee3c0 ; {runtime_call} | |
0x000000010bcb724d: hlt | |
0x000000010bcb724e: hlt | |
0x000000010bcb724f: hlt | |
OopMapSet contains 10 OopMaps | |
#0 | |
OopMap{rcx=Oop rdx=Oop off=210} | |
#1 | |
OopMap{rsi=Oop rdx=Oop rcx=Oop off=422} | |
#2 | |
OopMap{rcx=Oop rdx=Oop off=432} | |
#3 | |
OopMap{rcx=Oop rdx=Oop off=437} | |
#4 | |
OopMap{rcx=Oop rdx=Oop off=446} | |
#5 | |
OopMap{rcx=Oop rdx=Oop off=451} | |
#6 | |
OopMap{rcx=Oop rdx=Oop off=456} | |
#7 | |
OopMap{rcx=Oop rdx=Oop off=465} | |
#8 | |
OopMap{rcx=Oop rdx=Oop off=474} | |
#9 | |
OopMap{rcx=Oop rdx=Oop off=492} | |
Compiled method (c2) 15942 2752 % 4 ch.ethz.acl.ngen.saxpy.JSaxpy::apply @ 3 (30 bytes) | |
total in heap [0x000000010c3a0910,0x000000010c3a0fd8] = 1736 | |
relocation [0x000000010c3a0a38,0x000000010c3a0a60] = 40 | |
main code [0x000000010c3a0a60,0x000000010c3a0d00] = 672 | |
stub code [0x000000010c3a0d00,0x000000010c3a0d18] = 24 | |
oops [0x000000010c3a0d18,0x000000010c3a0d20] = 8 | |
metadata [0x000000010c3a0d20,0x000000010c3a0d30] = 16 | |
scopes data [0x000000010c3a0d30,0x000000010c3a0dc8] = 152 | |
scopes pcs [0x000000010c3a0dc8,0x000000010c3a0fb8] = 496 | |
dependencies [0x000000010c3a0fb8,0x000000010c3a0fc0] = 8 | |
nul chk table [0x000000010c3a0fc0,0x000000010c3a0fd8] = 24 | |
Decoding compiled method 0x000000010c3a0910: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
0x000000010c3a0a60: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a0a65: data16 data16 nopw 0x0(%rax,%rax,1) | |
0x000000010c3a0a70: mov %eax,-0x14000(%rsp) | |
0x000000010c3a0a77: push %rbp | |
0x000000010c3a0a78: sub $0x40,%rsp | |
0x000000010c3a0a7c: mov (%rsi),%r13d | |
0x000000010c3a0a7f: mov 0x8(%rsi),%ebx | |
0x000000010c3a0a82: mov 0x20(%rsi),%rbp | |
0x000000010c3a0a86: mov 0x18(%rsi),%r14 | |
0x000000010c3a0a8a: mov 0x10(%rsi),%r11d | |
0x000000010c3a0a8e: mov %r11d,0x8(%rsp) | |
0x000000010c3a0a93: mov %rsi,%rdi | |
0x000000010c3a0a96: vzeroupper | |
0x000000010c3a0a99: movabs $0x10b0e5842,%r10 | |
0x000000010c3a0aa3: callq *%r10 | |
0x000000010c3a0aa6: test %rbp,%rbp | |
0x000000010c3a0aa9: je 0x000000010c3a0c85 | |
0x000000010c3a0aaf: mov 0x8(%rbp),%r11d | |
0x000000010c3a0ab3: cmp $0xf800016d,%r11d ; {metadata({type array int})} | |
0x000000010c3a0aba: jne 0x000000010c3a0cae | |
0x000000010c3a0ac0: mov %rbp,%r11 | |
0x000000010c3a0ac3: test %r14,%r14 | |
0x000000010c3a0ac6: je 0x000000010c3a0c8d | |
0x000000010c3a0acc: mov 0x8(%r14),%r10d | |
0x000000010c3a0ad0: cmp $0xf800016d,%r10d ; {metadata({type array int})} | |
0x000000010c3a0ad7: jne 0x000000010c3a0cae ;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
0x000000010c3a0add: mov 0xc(%r11),%ecx ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; implicit exception: dispatches to 0x000000010c3a0ccd | |
0x000000010c3a0ae1: mov 0xc(%r14),%r8d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; implicit exception: dispatches to 0x000000010c3a0ccd | |
0x000000010c3a0ae5: cmp %ebx,%r13d | |
0x000000010c3a0ae8: jge 0x000000010c3a0c01 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a0aee: mov %r11d,%r10d | |
0x000000010c3a0af1: mov %r13d,%r9d | |
0x000000010c3a0af4: inc %r9d | |
0x000000010c3a0af7: shr $0x2,%r10d | |
0x000000010c3a0afb: and $0x7,%r10d | |
0x000000010c3a0aff: xor %edx,%edx | |
0x000000010c3a0b01: cmp %edx,%r9d | |
0x000000010c3a0b04: cmovl %edx,%r9d | |
0x000000010c3a0b08: cmp %ebx,%r9d | |
0x000000010c3a0b0b: cmovg %ebx,%r9d | |
0x000000010c3a0b0f: add %r9d,%r10d | |
0x000000010c3a0b12: mov $0x4,%edi | |
0x000000010c3a0b17: sub %r10d,%edi | |
0x000000010c3a0b1a: and $0x7,%edi | |
0x000000010c3a0b1d: add %r9d,%edi | |
0x000000010c3a0b20: cmp %ebx,%edi | |
0x000000010c3a0b22: cmovg %ebx,%edi ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a0b25: cmp %ecx,%r13d | |
0x000000010c3a0b28: jae 0x000000010c3a0c25 | |
0x000000010c3a0b2e: mov 0x10(%r11,%r13,4),%r10d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a0b33: cmp %r8d,%r13d | |
0x000000010c3a0b36: jae 0x000000010c3a0c55 | |
0x000000010c3a0b3c: mov 0x10(%r14,%r13,4),%edx ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a0b41: imul 0x8(%rsp),%edx | |
0x000000010c3a0b46: add %r10d,%edx | |
0x000000010c3a0b49: mov %edx,0x10(%r11,%r13,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a0b4e: mov %r13d,%esi | |
0x000000010c3a0b51: inc %esi ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a0b53: cmp %edi,%esi | |
0x000000010c3a0b55: jge 0x000000010c3a0b5c ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a0b57: mov %esi,%r13d | |
0x000000010c3a0b5a: jmp 0x000000010c3a0b25 | |
0x000000010c3a0b5c: cmp %r8d,%ecx | |
0x000000010c3a0b5f: mov %ecx,%r9d | |
0x000000010c3a0b62: cmovg %r8d,%r9d | |
0x000000010c3a0b66: cmp %ebx,%r9d | |
0x000000010c3a0b69: cmovg %ebx,%r9d | |
0x000000010c3a0b6d: mov %r9d,%r10d | |
0x000000010c3a0b70: add $0xfffffff9,%r10d | |
0x000000010c3a0b74: mov $0x80000000,%edi | |
0x000000010c3a0b79: cmp %r10d,%r9d | |
0x000000010c3a0b7c: cmovl %edi,%r10d | |
0x000000010c3a0b80: cmp %r10d,%esi | |
0x000000010c3a0b83: jge 0x000000010c3a0ca0 | |
0x000000010c3a0b89: vmovd 0x8(%rsp),%xmm0 | |
0x000000010c3a0b8f: vpshufd $0x0,%xmm0,%xmm0 | |
0x000000010c3a0b94: vinserti128 $0x1,%xmm0,%ymm0,%ymm0 | |
0x000000010c3a0b9a: jmp 0x000000010c3a0ba3 | |
0x000000010c3a0b9c: nopl 0x0(%rax) | |
0x000000010c3a0ba0: mov %r13d,%esi ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a0ba3: vmovdqu 0x10(%r14,%rsi,4),%ymm1 | |
0x000000010c3a0baa: vpmulld %ymm0,%ymm1,%ymm1 | |
0x000000010c3a0baf: vpaddd 0x10(%r11,%rsi,4),%ymm1,%ymm1 | |
0x000000010c3a0bb6: vmovdqu %ymm1,0x10(%r11,%rsi,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a0bbd: mov %esi,%r13d | |
0x000000010c3a0bc0: add $0x8,%r13d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a0bc4: cmp %r10d,%r13d | |
0x000000010c3a0bc7: jl 0x000000010c3a0ba0 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a0bc9: add $0x7,%esi ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a0bcc: cmp %ebx,%r13d | |
0x000000010c3a0bcf: jge 0x000000010c3a0c95 | |
0x000000010c3a0bd5: data16 xchg %ax,%ax ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a0bd8: cmp %ecx,%r13d | |
0x000000010c3a0bdb: jae 0x000000010c3a0c25 | |
0x000000010c3a0bdd: mov 0x10(%r11,%r13,4),%r10d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a0be2: cmp %r8d,%r13d | |
0x000000010c3a0be5: jae 0x000000010c3a0c55 | |
0x000000010c3a0be7: mov 0x10(%r14,%r13,4),%edi ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a0bec: imul 0x8(%rsp),%edi | |
0x000000010c3a0bf1: add %r10d,%edi | |
0x000000010c3a0bf4: mov %edi,0x10(%r11,%r13,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a0bf9: inc %r13d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a0bfc: cmp %ebx,%r13d | |
0x000000010c3a0bff: jl 0x000000010c3a0bd8 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a0c01: mov $0xffffff65,%esi | |
0x000000010c3a0c06: mov %r11,%rbp | |
0x000000010c3a0c09: mov %r14,(%rsp) | |
0x000000010c3a0c0d: mov %r13d,0x14(%rsp) | |
0x000000010c3a0c12: mov %ebx,0x18(%rsp) | |
0x000000010c3a0c16: xchg %ax,%ax | |
0x000000010c3a0c18: vzeroupper | |
0x000000010c3a0c1b: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=448} | |
;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
; {runtime_call} | |
0x000000010c3a0c20: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a0c25: mov $0xffffffe4,%esi | |
0x000000010c3a0c2a: mov %r14,(%rsp) | |
0x000000010c3a0c2e: mov %ebx,0xc(%rsp) | |
0x000000010c3a0c32: mov %r11,0x18(%rsp) | |
0x000000010c3a0c37: mov %r13d,0x14(%rsp) | |
0x000000010c3a0c3c: mov %r11,0x20(%rsp) | |
0x000000010c3a0c41: mov %r13d,0x28(%rsp) | |
0x000000010c3a0c46: xchg %ax,%ax | |
0x000000010c3a0c48: vzeroupper | |
0x000000010c3a0c4b: callq 0x000000010bbac1a0 ; OopMap{[0]=Oop [24]=Oop [32]=Oop off=496} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a0c50: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a0c55: mov $0xffffffe4,%esi | |
0x000000010c3a0c5a: mov %ebx,0xc(%rsp) | |
0x000000010c3a0c5e: mov %r11,0x18(%rsp) | |
0x000000010c3a0c63: mov %r13d,0x14(%rsp) | |
0x000000010c3a0c68: mov %r10d,0x20(%rsp) | |
0x000000010c3a0c6d: mov %r14,0x28(%rsp) | |
0x000000010c3a0c72: mov %r13d,0x24(%rsp) | |
0x000000010c3a0c77: nop | |
0x000000010c3a0c78: vzeroupper | |
0x000000010c3a0c7b: callq 0x000000010bbac1a0 ; OopMap{[24]=Oop [40]=Oop off=544} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a0c80: callq 0x000000010b087154 ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a0c85: xor %r11d,%r11d | |
0x000000010c3a0c88: jmpq 0x000000010c3a0ac3 | |
0x000000010c3a0c8d: xor %r14d,%r14d | |
0x000000010c3a0c90: jmpq 0x000000010c3a0add | |
0x000000010c3a0c95: mov %esi,%r13d | |
0x000000010c3a0c98: inc %r13d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a0c9b: jmpq 0x000000010c3a0c01 | |
0x000000010c3a0ca0: mov %r13d,%r10d | |
0x000000010c3a0ca3: mov %esi,%r13d | |
0x000000010c3a0ca6: mov %r10d,%esi | |
0x000000010c3a0ca9: jmpq 0x000000010c3a0bcc | |
0x000000010c3a0cae: mov $0xffffff9d,%esi | |
0x000000010c3a0cb3: mov %r14,(%rsp) | |
0x000000010c3a0cb7: mov %ebx,0xc(%rsp) | |
0x000000010c3a0cbb: mov %r13d,0x10(%rsp) | |
0x000000010c3a0cc0: vzeroupper | |
0x000000010c3a0cc3: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=616} | |
;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
; {runtime_call} | |
0x000000010c3a0cc8: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a0ccd: mov $0xffffff86,%esi | |
0x000000010c3a0cd2: mov %r11,%rbp | |
0x000000010c3a0cd5: mov %r14,(%rsp) | |
0x000000010c3a0cd9: mov %ebx,0xc(%rsp) | |
0x000000010c3a0cdd: mov %r13d,0x10(%rsp) | |
0x000000010c3a0ce2: xchg %ax,%ax | |
0x000000010c3a0ce4: vzeroupper | |
0x000000010c3a0ce7: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=652} | |
;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
; {runtime_call} | |
0x000000010c3a0cec: callq 0x000000010b087154 ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
; {runtime_call} | |
0x000000010c3a0cf1: hlt | |
0x000000010c3a0cf2: hlt | |
0x000000010c3a0cf3: hlt | |
0x000000010c3a0cf4: hlt | |
0x000000010c3a0cf5: hlt | |
0x000000010c3a0cf6: hlt | |
0x000000010c3a0cf7: hlt | |
0x000000010c3a0cf8: hlt | |
0x000000010c3a0cf9: hlt | |
0x000000010c3a0cfa: hlt | |
0x000000010c3a0cfb: hlt | |
0x000000010c3a0cfc: hlt | |
0x000000010c3a0cfd: hlt | |
0x000000010c3a0cfe: hlt | |
0x000000010c3a0cff: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x000000010c3a0d00: jmpq 0x000000010bc13760 ; {no_reloc} | |
[Deopt Handler Code] | |
0x000000010c3a0d05: callq 0x000000010c3a0d0a | |
0x000000010c3a0d0a: subq $0x5,(%rsp) | |
0x000000010c3a0d0f: jmpq 0x000000010bbee3c0 ; {runtime_call} | |
0x000000010c3a0d14: hlt | |
0x000000010c3a0d15: hlt | |
0x000000010c3a0d16: hlt | |
0x000000010c3a0d17: hlt | |
OopMapSet contains 5 OopMaps | |
#0 | |
OopMap{rbp=Oop [0]=Oop off=448} | |
#1 | |
OopMap{[0]=Oop [24]=Oop [32]=Oop off=496} | |
#2 | |
OopMap{[24]=Oop [40]=Oop off=544} | |
#3 | |
OopMap{rbp=Oop [0]=Oop off=616} | |
#4 | |
OopMap{rbp=Oop [0]=Oop off=652} | |
Compiled method (c2) 15960 2753 4 ch.ethz.acl.ngen.saxpy.JSaxpy::apply (30 bytes) | |
total in heap [0x000000010c3a49d0,0x000000010c3a4ef0] = 1312 | |
relocation [0x000000010c3a4af8,0x000000010c3a4b10] = 24 | |
main code [0x000000010c3a4b20,0x000000010c3a4ca0] = 384 | |
stub code [0x000000010c3a4ca0,0x000000010c3a4cb8] = 24 | |
oops [0x000000010c3a4cb8,0x000000010c3a4cc0] = 8 | |
metadata [0x000000010c3a4cc0,0x000000010c3a4cc8] = 8 | |
scopes data [0x000000010c3a4cc8,0x000000010c3a4d40] = 120 | |
scopes pcs [0x000000010c3a4d40,0x000000010c3a4ed0] = 400 | |
dependencies [0x000000010c3a4ed0,0x000000010c3a4ed8] = 8 | |
nul chk table [0x000000010c3a4ed8,0x000000010c3a4ef0] = 24 | |
Decoding compiled method 0x000000010c3a49d0: | |
Code: | |
[Entry Point] | |
[Constants] | |
# {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
# this: rsi:rsi = 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
# parm0: rdx:rdx = '[I' | |
# parm1: rcx:rcx = '[I' | |
# parm2: r8 = int | |
# parm3: r9 = int | |
# [sp+0x40] (sp of caller) | |
0x000000010c3a4b20: mov 0x8(%rsi),%r10d | |
0x000000010c3a4b24: shl $0x3,%r10 | |
0x000000010c3a4b28: cmp %r10,%rax | |
0x000000010c3a4b2b: jne 0x000000010bbece20 ; {runtime_call} | |
0x000000010c3a4b31: data16 xchg %ax,%ax | |
0x000000010c3a4b34: nopl 0x0(%rax,%rax,1) | |
0x000000010c3a4b3c: data16 data16 xchg %ax,%ax | |
[Verified Entry Point] | |
0x000000010c3a4b40: mov %eax,-0x14000(%rsp) | |
0x000000010c3a4b47: push %rbp | |
0x000000010c3a4b48: sub $0x30,%rsp ;*synchronization entry | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@-1 (line 5) | |
0x000000010c3a4b4c: test %r9d,%r9d | |
0x000000010c3a4b4f: jle 0x000000010c3a4c75 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a4b55: mov 0xc(%rdx),%r10d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; implicit exception: dispatches to 0x000000010c3a4c55 | |
0x000000010c3a4b59: test %r10d,%r10d | |
0x000000010c3a4b5c: jbe 0x000000010c3a4c55 | |
0x000000010c3a4b62: movslq %r10d,%r10 | |
0x000000010c3a4b65: movslq %r9d,%r11 | |
0x000000010c3a4b68: dec %r11 | |
0x000000010c3a4b6b: cmp %r10,%r11 | |
0x000000010c3a4b6e: jae 0x000000010c3a4c55 ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a4b74: mov 0xc(%rcx),%r10d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; implicit exception: dispatches to 0x000000010c3a4c55 | |
0x000000010c3a4b78: test %r10d,%r10d | |
0x000000010c3a4b7b: jbe 0x000000010c3a4c55 | |
0x000000010c3a4b81: movslq %r10d,%r10 | |
0x000000010c3a4b84: cmp %r10,%r11 | |
0x000000010c3a4b87: jae 0x000000010c3a4c55 | |
0x000000010c3a4b8d: mov %edx,%r11d | |
0x000000010c3a4b90: shr $0x2,%r11d | |
0x000000010c3a4b94: and $0x3,%r11d | |
0x000000010c3a4b98: mov $0xffffffff,%r10d | |
0x000000010c3a4b9e: sub %r11d,%r10d | |
0x000000010c3a4ba1: and $0x3,%r10d | |
0x000000010c3a4ba5: inc %r10d | |
0x000000010c3a4ba8: cmp %r9d,%r10d | |
0x000000010c3a4bab: cmovg %r9d,%r10d | |
0x000000010c3a4baf: xor %r11d,%r11d ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a4bb2: mov %r8d,%ebx | |
0x000000010c3a4bb5: imul 0x10(%rcx,%r11,4),%ebx | |
0x000000010c3a4bbb: add %ebx,0x10(%rdx,%r11,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a4bc0: inc %r11d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a4bc3: cmp %r10d,%r11d | |
0x000000010c3a4bc6: jl 0x000000010c3a4bb2 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a4bc8: mov %r9d,%ebx | |
0x000000010c3a4bcb: add $0xfffffffd,%ebx | |
0x000000010c3a4bce: mov $0x80000000,%edi | |
0x000000010c3a4bd3: cmp %ebx,%r9d | |
0x000000010c3a4bd6: cmovl %edi,%ebx | |
0x000000010c3a4bd9: cmp %ebx,%r11d | |
0x000000010c3a4bdc: jge 0x000000010c3a4c13 | |
0x000000010c3a4bde: vmovd %r8d,%xmm0 | |
0x000000010c3a4be3: vpshufd $0x0,%xmm0,%xmm0 | |
0x000000010c3a4be8: nopl 0x0(%rax,%rax,1) ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a4bf0: vmovdqu 0x10(%rcx,%r11,4),%xmm1 | |
0x000000010c3a4bf7: vpmulld %xmm0,%xmm1,%xmm1 | |
0x000000010c3a4bfc: vpaddd 0x10(%rdx,%r11,4),%xmm1,%xmm1 | |
0x000000010c3a4c03: vmovdqu %xmm1,0x10(%rdx,%r11,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a4c0a: add $0x4,%r11d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a4c0e: cmp %ebx,%r11d | |
0x000000010c3a4c11: jl 0x000000010c3a4bf0 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a4c13: cmp %r9d,%r11d | |
0x000000010c3a4c16: jge 0x000000010c3a4c2e ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a4c18: mov %r8d,%ebx | |
0x000000010c3a4c1b: imul 0x10(%rcx,%r11,4),%ebx | |
0x000000010c3a4c21: add %ebx,0x10(%rdx,%r11,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a4c26: inc %r11d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a4c29: cmp %r9d,%r11d | |
0x000000010c3a4c2c: jl 0x000000010c3a4c18 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a4c2e: mov $0xffffff65,%esi | |
0x000000010c3a4c33: mov %rdx,%rbp | |
0x000000010c3a4c36: mov %rcx,(%rsp) | |
0x000000010c3a4c3a: mov %r8d,0x8(%rsp) | |
0x000000010c3a4c3f: mov %r11d,0x14(%rsp) | |
0x000000010c3a4c44: mov %r9d,0x18(%rsp) | |
0x000000010c3a4c49: xchg %ax,%ax | |
0x000000010c3a4c4b: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=304} | |
;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
; {runtime_call} | |
0x000000010c3a4c50: callq 0x000000010b087154 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
; {runtime_call} | |
0x000000010c3a4c55: mov $0xffffff86,%esi | |
0x000000010c3a4c5a: mov %rdx,%rbp | |
0x000000010c3a4c5d: mov %rcx,(%rsp) | |
0x000000010c3a4c61: mov %r8d,0x8(%rsp) | |
0x000000010c3a4c66: mov %r9d,0xc(%rsp) | |
0x000000010c3a4c6b: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=336} | |
;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
; {runtime_call} | |
0x000000010c3a4c70: callq 0x000000010b087154 ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
; {runtime_call} | |
0x000000010c3a4c75: mov $0xffffff65,%esi | |
0x000000010c3a4c7a: mov %rdx,%rbp | |
0x000000010c3a4c7d: mov %rcx,(%rsp) | |
0x000000010c3a4c81: mov %r8d,0x8(%rsp) | |
0x000000010c3a4c86: mov %r9d,0x10(%rsp) | |
0x000000010c3a4c8b: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=368} | |
;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
; {runtime_call} | |
0x000000010c3a4c90: callq 0x000000010b087154 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
; {runtime_call} | |
0x000000010c3a4c95: hlt | |
0x000000010c3a4c96: hlt | |
0x000000010c3a4c97: hlt | |
0x000000010c3a4c98: hlt | |
0x000000010c3a4c99: hlt | |
0x000000010c3a4c9a: hlt | |
0x000000010c3a4c9b: hlt | |
0x000000010c3a4c9c: hlt | |
0x000000010c3a4c9d: hlt | |
0x000000010c3a4c9e: hlt | |
0x000000010c3a4c9f: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x000000010c3a4ca0: jmpq 0x000000010bc13760 ; {no_reloc} | |
[Deopt Handler Code] | |
0x000000010c3a4ca5: callq 0x000000010c3a4caa | |
0x000000010c3a4caa: subq $0x5,(%rsp) | |
0x000000010c3a4caf: jmpq 0x000000010bbee3c0 ; {runtime_call} | |
0x000000010c3a4cb4: hlt | |
0x000000010c3a4cb5: hlt | |
0x000000010c3a4cb6: hlt | |
0x000000010c3a4cb7: hlt | |
OopMapSet contains 3 OopMaps | |
#0 | |
OopMap{rbp=Oop [0]=Oop off=304} | |
#1 | |
OopMap{rbp=Oop [0]=Oop off=336} | |
#2 | |
OopMap{rbp=Oop [0]=Oop off=368} | |
Compiled method (c2) 15978 2756 % 4 ch.ethz.acl.ngen.saxpy.JSaxpy::apply @ 3 (30 bytes) | |
total in heap [0x000000010c3a4310,0x000000010c3a4988] = 1656 | |
relocation [0x000000010c3a4438,0x000000010c3a4460] = 40 | |
main code [0x000000010c3a4460,0x000000010c3a46e0] = 640 | |
stub code [0x000000010c3a46e0,0x000000010c3a46f8] = 24 | |
oops [0x000000010c3a46f8,0x000000010c3a4700] = 8 | |
metadata [0x000000010c3a4700,0x000000010c3a4710] = 16 | |
scopes data [0x000000010c3a4710,0x000000010c3a47c0] = 176 | |
scopes pcs [0x000000010c3a47c0,0x000000010c3a4970] = 432 | |
dependencies [0x000000010c3a4970,0x000000010c3a4978] = 8 | |
nul chk table [0x000000010c3a4978,0x000000010c3a4988] = 16 | |
Decoding compiled method 0x000000010c3a4310: | |
Code: | |
[Entry Point] | |
[Verified Entry Point] | |
[Constants] | |
# {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
0x000000010c3a4460: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a4465: data16 data16 nopw 0x0(%rax,%rax,1) | |
0x000000010c3a4470: mov %eax,-0x14000(%rsp) | |
0x000000010c3a4477: push %rbp | |
0x000000010c3a4478: sub $0x50,%rsp | |
0x000000010c3a447c: mov (%rsi),%r13d | |
0x000000010c3a447f: mov 0x8(%rsi),%r14d | |
0x000000010c3a4483: mov 0x20(%rsi),%rbp | |
0x000000010c3a4487: mov 0x18(%rsi),%rbx | |
0x000000010c3a448b: mov 0x10(%rsi),%r10d | |
0x000000010c3a448f: mov %r10d,0x2c(%rsp) | |
0x000000010c3a4494: mov %rsi,%rdi | |
0x000000010c3a4497: vzeroupper | |
0x000000010c3a449a: movabs $0x10b0e5842,%r10 | |
0x000000010c3a44a4: callq *%r10 | |
0x000000010c3a44a7: test %rbp,%rbp | |
0x000000010c3a44aa: je 0x000000010c3a4615 | |
0x000000010c3a44b0: mov %rbp,%r9 | |
0x000000010c3a44b3: mov 0x8(%rbp),%r11d | |
0x000000010c3a44b7: cmp $0xf800016d,%r11d ; {metadata({type array int})} | |
0x000000010c3a44be: jne 0x000000010c3a46a1 | |
0x000000010c3a44c4: mov %rbp,%r8 | |
0x000000010c3a44c7: test %rbx,%rbx | |
0x000000010c3a44ca: je 0x000000010c3a4620 | |
0x000000010c3a44d0: mov 0x8(%rbx),%r10d | |
0x000000010c3a44d4: cmp $0xf800016d,%r10d ; {metadata({type array int})} | |
0x000000010c3a44db: jne 0x000000010c3a46a1 ;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
0x000000010c3a44e1: mov %rbx,%rdx | |
0x000000010c3a44e4: add $0xc,%rdx ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a44e8: cmp %r14d,%r13d | |
0x000000010c3a44eb: jge 0x000000010c3a4606 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a44f1: mov %r8d,%r11d | |
0x000000010c3a44f4: mov %r13d,%r10d | |
0x000000010c3a44f7: inc %r10d | |
0x000000010c3a44fa: shr $0x2,%r11d | |
0x000000010c3a44fe: and $0x7,%r11d | |
0x000000010c3a4502: xor %ecx,%ecx | |
0x000000010c3a4504: cmp %ecx,%r10d | |
0x000000010c3a4507: cmovl %ecx,%r10d | |
0x000000010c3a450b: cmp %r14d,%r10d | |
0x000000010c3a450e: cmovg %r14d,%r10d | |
0x000000010c3a4512: add %r10d,%r11d | |
0x000000010c3a4515: mov $0x4,%ecx | |
0x000000010c3a451a: sub %r11d,%ecx | |
0x000000010c3a451d: and $0x7,%ecx | |
0x000000010c3a4520: add %r10d,%ecx | |
0x000000010c3a4523: cmp %r14d,%ecx | |
0x000000010c3a4526: cmovg %r14d,%ecx | |
0x000000010c3a452a: mov 0xc(%r8),%edi ; implicit exception: dispatches to 0x000000010c3a46c5 | |
0x000000010c3a452e: cmp %edi,%r13d | |
0x000000010c3a4531: jae 0x000000010c3a462c ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a4537: test %rbx,%rbx | |
0x000000010c3a453a: je 0x000000010c3a465d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a4540: mov 0x10(%r8,%r13,4),%ebp ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a4545: mov (%rdx),%r9d | |
0x000000010c3a4548: cmp %r9d,%r13d | |
0x000000010c3a454b: jae 0x000000010c3a4675 | |
0x000000010c3a4551: mov 0x10(%rbx,%r13,4),%r11d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a4556: imul 0x2c(%rsp),%r11d | |
0x000000010c3a455c: add %ebp,%r11d | |
0x000000010c3a455f: mov %r11d,0x10(%r8,%r13,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a4564: inc %r13d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a4567: cmp %ecx,%r13d | |
0x000000010c3a456a: jl 0x000000010c3a452a ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a456c: cmp %r9d,%edi | |
0x000000010c3a456f: mov %edi,%r11d | |
0x000000010c3a4572: cmovg %r9d,%r11d | |
0x000000010c3a4576: cmp %r14d,%r11d | |
0x000000010c3a4579: cmovg %r14d,%r11d | |
0x000000010c3a457d: mov %r11d,%r10d | |
0x000000010c3a4580: add $0xfffffff9,%r10d | |
0x000000010c3a4584: mov $0x80000000,%ecx | |
0x000000010c3a4589: cmp %r10d,%r11d | |
0x000000010c3a458c: cmovl %ecx,%r10d | |
0x000000010c3a4590: cmp %r10d,%r13d | |
0x000000010c3a4593: jge 0x000000010c3a45d3 | |
0x000000010c3a4595: vmovd 0x2c(%rsp),%xmm0 | |
0x000000010c3a459b: vpshufd $0x0,%xmm0,%xmm0 | |
0x000000010c3a45a0: vinserti128 $0x1,%xmm0,%ymm0,%ymm0 | |
0x000000010c3a45a6: data16 nopw 0x0(%rax,%rax,1) ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a45b0: vmovdqu 0x10(%rbx,%r13,4),%ymm1 | |
0x000000010c3a45b7: vpmulld %ymm0,%ymm1,%ymm1 | |
0x000000010c3a45bc: vpaddd 0x10(%r8,%r13,4),%ymm1,%ymm1 | |
0x000000010c3a45c3: vmovdqu %ymm1,0x10(%r8,%r13,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a45ca: add $0x8,%r13d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a45ce: cmp %r10d,%r13d | |
0x000000010c3a45d1: jl 0x000000010c3a45b0 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a45d3: cmp %r14d,%r13d | |
0x000000010c3a45d6: jge 0x000000010c3a4606 | |
0x000000010c3a45d8: cmp %edi,%r13d | |
0x000000010c3a45db: jae 0x000000010c3a462c | |
0x000000010c3a45dd: mov 0x10(%r8,%r13,4),%ebp ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a45e2: cmp %r9d,%r13d | |
0x000000010c3a45e5: jae 0x000000010c3a4675 | |
0x000000010c3a45eb: mov 0x10(%rbx,%r13,4),%r10d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a45f0: imul 0x2c(%rsp),%r10d | |
0x000000010c3a45f6: add %ebp,%r10d | |
0x000000010c3a45f9: mov %r10d,0x10(%r8,%r13,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a45fe: inc %r13d ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a4601: cmp %r14d,%r13d | |
0x000000010c3a4604: jl 0x000000010c3a45d8 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a4606: vzeroupper | |
0x000000010c3a4609: add $0x50,%rsp | |
0x000000010c3a460d: pop %rbp | |
0x000000010c3a460e: test %eax,-0x3442614(%rip) # 0x0000000108f62000 | |
; {poll_return} | |
0x000000010c3a4614: retq | |
0x000000010c3a4615: xor %r8d,%r8d | |
0x000000010c3a4618: mov %rbp,%r9 | |
0x000000010c3a461b: jmpq 0x000000010c3a44c7 | |
0x000000010c3a4620: mov $0xc,%edx | |
0x000000010c3a4625: xor %ebx,%ebx | |
0x000000010c3a4627: jmpq 0x000000010c3a44e8 | |
0x000000010c3a462c: mov $0xffffffe4,%esi | |
0x000000010c3a4631: mov %rbx,(%rsp) | |
0x000000010c3a4635: mov %r8,0x10(%rsp) | |
0x000000010c3a463a: mov %r13d,0xc(%rsp) | |
0x000000010c3a463f: mov %r8,0x18(%rsp) | |
0x000000010c3a4644: mov %r13d,0x20(%rsp) | |
0x000000010c3a4649: mov %r14d,0x28(%rsp) | |
0x000000010c3a464e: xchg %ax,%ax | |
0x000000010c3a4650: vzeroupper | |
0x000000010c3a4653: callq 0x000000010bbac1a0 ; OopMap{[0]=Oop [16]=Oop [24]=Oop off=504} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a4658: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a465d: mov $0xfffffff6,%esi | |
0x000000010c3a4662: mov %r13d,%ebp | |
0x000000010c3a4665: data16 xchg %ax,%ax | |
0x000000010c3a4668: vzeroupper | |
0x000000010c3a466b: callq 0x000000010bbac1a0 ; OopMap{off=528} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a4670: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a4675: mov $0xffffffe4,%esi | |
0x000000010c3a467a: mov %r8,0x18(%rsp) | |
0x000000010c3a467f: mov %r13d,0x14(%rsp) | |
0x000000010c3a4684: mov %rbx,0x20(%rsp) | |
0x000000010c3a4689: mov %r13d,0x28(%rsp) | |
0x000000010c3a468e: mov %r14d,0x30(%rsp) | |
0x000000010c3a4693: nop | |
0x000000010c3a4694: vzeroupper | |
0x000000010c3a4697: callq 0x000000010bbac1a0 ; OopMap{[24]=Oop [32]=Oop off=572} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a469c: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a46a1: mov $0xffffff9d,%esi | |
0x000000010c3a46a6: mov %rbx,%rbp | |
0x000000010c3a46a9: mov %r13d,(%rsp) | |
0x000000010c3a46ad: mov %r9,0x8(%rsp) | |
0x000000010c3a46b2: mov %r14d,0x10(%rsp) | |
0x000000010c3a46b7: nop | |
0x000000010c3a46b8: vzeroupper | |
0x000000010c3a46bb: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [8]=Oop off=608} | |
;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
; {runtime_call} | |
0x000000010c3a46c0: callq 0x000000010b087154 ; {runtime_call} | |
0x000000010c3a46c5: mov $0xfffffff6,%esi | |
0x000000010c3a46ca: mov %r13d,%ebp | |
0x000000010c3a46cd: data16 xchg %ax,%ax | |
0x000000010c3a46d0: vzeroupper | |
0x000000010c3a46d3: callq 0x000000010bbac1a0 ; OopMap{off=632} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a46d8: callq 0x000000010b087154 ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a46dd: hlt | |
0x000000010c3a46de: hlt | |
0x000000010c3a46df: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x000000010c3a46e0: jmpq 0x000000010bc13760 ; {no_reloc} | |
[Deopt Handler Code] | |
0x000000010c3a46e5: callq 0x000000010c3a46ea | |
0x000000010c3a46ea: subq $0x5,(%rsp) | |
0x000000010c3a46ef: jmpq 0x000000010bbee3c0 ; {runtime_call} | |
0x000000010c3a46f4: hlt | |
0x000000010c3a46f5: hlt | |
0x000000010c3a46f6: hlt | |
0x000000010c3a46f7: hlt | |
OopMapSet contains 5 OopMaps | |
#0 | |
OopMap{[0]=Oop [16]=Oop [24]=Oop off=504} | |
#1 | |
OopMap{off=528} | |
#2 | |
OopMap{[24]=Oop [32]=Oop off=572} | |
#3 | |
OopMap{rbp=Oop [8]=Oop off=608} | |
#4 | |
OopMap{off=632} | |
Compiled method (c1) 16003 2760 3 ch.ethz.acl.ngen.saxpy.JSaxpy::apply (30 bytes) | |
total in heap [0x000000010c3a36d0,0x000000010c3a3c60] = 1424 | |
relocation [0x000000010c3a37f8,0x000000010c3a3840] = 72 | |
main code [0x000000010c3a3840,0x000000010c3a3a00] = 448 | |
stub code [0x000000010c3a3a00,0x000000010c3a3a90] = 144 | |
oops [0x000000010c3a3a90,0x000000010c3a3a98] = 8 | |
metadata [0x000000010c3a3a98,0x000000010c3a3aa0] = 8 | |
scopes data [0x000000010c3a3aa0,0x000000010c3a3b10] = 112 | |
scopes pcs [0x000000010c3a3b10,0x000000010c3a3c30] = 288 | |
dependencies [0x000000010c3a3c30,0x000000010c3a3c38] = 8 | |
nul chk table [0x000000010c3a3c38,0x000000010c3a3c60] = 40 | |
Decoding compiled method 0x000000010c3a36d0: | |
Code: | |
[Entry Point] | |
[Constants] | |
# {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
# this: rsi:rsi = 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
# parm0: rdx:rdx = '[I' | |
# parm1: rcx:rcx = '[I' | |
# parm2: r8 = int | |
# parm3: r9 = int | |
# [sp+0x50] (sp of caller) | |
0x000000010c3a3840: mov 0x8(%rsi),%r10d | |
0x000000010c3a3844: shl $0x3,%r10 | |
0x000000010c3a3848: cmp %rax,%r10 | |
0x000000010c3a384b: jne 0x000000010bbece20 ; {runtime_call} | |
0x000000010c3a3851: data16 data16 nopw 0x0(%rax,%rax,1) | |
0x000000010c3a385c: data16 data16 xchg %ax,%ax | |
[Verified Entry Point] | |
0x000000010c3a3860: mov %eax,-0x14000(%rsp) | |
0x000000010c3a3867: push %rbp | |
0x000000010c3a3868: sub $0x40,%rsp | |
0x000000010c3a386c: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010c3a3876: mov 0xdc(%rdi),%ebx | |
0x000000010c3a387c: add $0x8,%ebx | |
0x000000010c3a387f: mov %ebx,0xdc(%rdi) | |
0x000000010c3a3885: movabs $0x12b12abf0,%rdi ; {metadata({method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010c3a388f: and $0x1ff8,%ebx | |
0x000000010c3a3895: cmp $0x0,%ebx | |
0x000000010c3a3898: je 0x000000010c3a3964 ;*iconst_0 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@0 (line 5) | |
0x000000010c3a389e: mov $0x0,%esi | |
0x000000010c3a38a3: jmpq 0x000000010c3a391f ;*iload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@3 (line 5) | |
0x000000010c3a38a8: movslq %esi,%rdi | |
0x000000010c3a38ab: cmp 0xc(%rdx),%esi ; implicit exception: dispatches to 0x000000010c3a397b | |
0x000000010c3a38ae: jae 0x000000010c3a3985 | |
0x000000010c3a38b4: mov 0x10(%rdx,%rdi,4),%edi ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
0x000000010c3a38b8: movslq %esi,%rbx | |
0x000000010c3a38bb: cmp 0xc(%rcx),%esi ; implicit exception: dispatches to 0x000000010c3a398e | |
0x000000010c3a38be: jae 0x000000010c3a3998 | |
0x000000010c3a38c4: mov 0x10(%rcx,%rbx,4),%ebx ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
0x000000010c3a38c8: imul %r8d,%ebx | |
0x000000010c3a38cc: add %ebx,%edi | |
0x000000010c3a38ce: movslq %esi,%rbx | |
0x000000010c3a38d1: mov %edi,0x10(%rdx,%rbx,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a38d5: inc %esi | |
0x000000010c3a38d7: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010c3a38e1: mov 0xe0(%rdi),%ebx | |
0x000000010c3a38e7: add $0x8,%ebx | |
0x000000010c3a38ea: mov %ebx,0xe0(%rdi) | |
0x000000010c3a38f0: movabs $0x12b12abf0,%rdi ; {metadata({method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010c3a38fa: and $0xfff8,%ebx | |
0x000000010c3a3900: cmp $0x0,%ebx | |
0x000000010c3a3903: je 0x000000010c3a39a1 ; OopMap{rdx=Oop rcx=Oop off=201} | |
;*goto | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@26 (line 5) | |
0x000000010c3a3909: test %eax,-0x344180f(%rip) # 0x0000000108f62100 | |
; {poll} | |
0x000000010c3a390f: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010c3a3919: incl 0x128(%rdi) ;*goto | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@26 (line 5) | |
0x000000010c3a391f: cmp %r9d,%esi | |
0x000000010c3a3922: movabs $0x12b12acf0,%rdi ; {metadata(method data for {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy')} | |
0x000000010c3a392c: movabs $0x108,%rbx | |
0x000000010c3a3936: jge 0x000000010c3a3946 | |
0x000000010c3a393c: movabs $0x118,%rbx | |
0x000000010c3a3946: mov (%rdi,%rbx,1),%rax | |
0x000000010c3a394a: lea 0x1(%rax),%rax | |
0x000000010c3a394e: mov %rax,(%rdi,%rbx,1) | |
0x000000010c3a3952: jl 0x000000010c3a38a8 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a3958: add $0x40,%rsp | |
0x000000010c3a395c: pop %rbp | |
0x000000010c3a395d: test %eax,-0x3441863(%rip) # 0x0000000108f62100 | |
; {poll_return} | |
0x000000010c3a3963: retq | |
0x000000010c3a3964: mov %rdi,0x8(%rsp) | |
0x000000010c3a3969: movq $0xffffffffffffffff,(%rsp) | |
0x000000010c3a3971: callq 0x000000010bca4f60 ; OopMap{rsi=Oop rdx=Oop rcx=Oop off=310} | |
;*synchronization entry | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@-1 (line 5) | |
; {runtime_call} | |
0x000000010c3a3976: jmpq 0x000000010c3a389e | |
0x000000010c3a397b: callq 0x000000010bca0a40 ; OopMap{rdx=Oop rcx=Oop off=320} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a3980: callq 0x000000010bca0a40 ; OopMap{rdx=Oop rcx=Oop off=325} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a3985: mov %rsi,(%rsp) | |
0x000000010c3a3989: callq 0x000000010bc13000 ; OopMap{rdx=Oop rcx=Oop off=334} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; {runtime_call} | |
0x000000010c3a398e: callq 0x000000010bca0a40 ; OopMap{rdx=Oop rcx=Oop off=339} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a3993: callq 0x000000010bca0a40 ; OopMap{rdx=Oop rcx=Oop off=344} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a3998: mov %rsi,(%rsp) | |
0x000000010c3a399c: callq 0x000000010bc13000 ; OopMap{rdx=Oop rcx=Oop off=353} | |
;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; {runtime_call} | |
0x000000010c3a39a1: mov %rdi,0x8(%rsp) | |
0x000000010c3a39a6: movq $0x1a,(%rsp) | |
0x000000010c3a39ae: callq 0x000000010bca4f60 ; OopMap{rdx=Oop rcx=Oop off=371} | |
;*goto | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@26 (line 5) | |
; {runtime_call} | |
0x000000010c3a39b3: jmpq 0x000000010c3a3909 | |
0x000000010c3a39b8: nop | |
0x000000010c3a39b9: nop | |
0x000000010c3a39ba: mov 0x2a8(%r15),%rax | |
0x000000010c3a39c1: movabs $0x0,%r10 | |
0x000000010c3a39cb: mov %r10,0x2a8(%r15) | |
0x000000010c3a39d2: movabs $0x0,%r10 | |
0x000000010c3a39dc: mov %r10,0x2b0(%r15) | |
0x000000010c3a39e3: add $0x40,%rsp | |
0x000000010c3a39e7: pop %rbp | |
0x000000010c3a39e8: jmpq 0x000000010bc134a0 ; {runtime_call} | |
0x000000010c3a39ed: hlt | |
0x000000010c3a39ee: hlt | |
0x000000010c3a39ef: hlt | |
0x000000010c3a39f0: hlt | |
0x000000010c3a39f1: hlt | |
0x000000010c3a39f2: hlt | |
0x000000010c3a39f3: hlt | |
0x000000010c3a39f4: hlt | |
0x000000010c3a39f5: hlt | |
0x000000010c3a39f6: hlt | |
0x000000010c3a39f7: hlt | |
0x000000010c3a39f8: hlt | |
0x000000010c3a39f9: hlt | |
0x000000010c3a39fa: hlt | |
0x000000010c3a39fb: hlt | |
0x000000010c3a39fc: hlt | |
0x000000010c3a39fd: hlt | |
0x000000010c3a39fe: hlt | |
0x000000010c3a39ff: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x000000010c3a3a00: callq 0x000000010bca28e0 ; {no_reloc} | |
0x000000010c3a3a05: mov %rsp,-0x28(%rsp) | |
0x000000010c3a3a0a: sub $0x80,%rsp | |
0x000000010c3a3a11: mov %rax,0x78(%rsp) | |
0x000000010c3a3a16: mov %rcx,0x70(%rsp) | |
0x000000010c3a3a1b: mov %rdx,0x68(%rsp) | |
0x000000010c3a3a20: mov %rbx,0x60(%rsp) | |
0x000000010c3a3a25: mov %rbp,0x50(%rsp) | |
0x000000010c3a3a2a: mov %rsi,0x48(%rsp) | |
0x000000010c3a3a2f: mov %rdi,0x40(%rsp) | |
0x000000010c3a3a34: mov %r8,0x38(%rsp) | |
0x000000010c3a3a39: mov %r9,0x30(%rsp) | |
0x000000010c3a3a3e: mov %r10,0x28(%rsp) | |
0x000000010c3a3a43: mov %r11,0x20(%rsp) | |
0x000000010c3a3a48: mov %r12,0x18(%rsp) | |
0x000000010c3a3a4d: mov %r13,0x10(%rsp) | |
0x000000010c3a3a52: mov %r14,0x8(%rsp) | |
0x000000010c3a3a57: mov %r15,(%rsp) | |
0x000000010c3a3a5b: movabs $0x10b1d96ff,%rdi ; {external_word} | |
0x000000010c3a3a65: movabs $0x10c3a3a05,%rsi ; {internal_word} | |
0x000000010c3a3a6f: mov %rsp,%rdx | |
0x000000010c3a3a72: and $0xfffffffffffffff0,%rsp | |
0x000000010c3a3a76: callq 0x000000010b00490a ; {runtime_call} | |
0x000000010c3a3a7b: hlt | |
[Deopt Handler Code] | |
0x000000010c3a3a7c: movabs $0x10c3a3a7c,%r10 ; {section_word} | |
0x000000010c3a3a86: push %r10 | |
0x000000010c3a3a88: jmpq 0x000000010bbee3c0 ; {runtime_call} | |
0x000000010c3a3a8d: hlt | |
0x000000010c3a3a8e: hlt | |
0x000000010c3a3a8f: hlt | |
OopMapSet contains 9 OopMaps | |
#0 | |
OopMap{rdx=Oop rcx=Oop off=201} | |
#1 | |
OopMap{rsi=Oop rdx=Oop rcx=Oop off=310} | |
#2 | |
OopMap{rdx=Oop rcx=Oop off=320} | |
#3 | |
OopMap{rdx=Oop rcx=Oop off=325} | |
#4 | |
OopMap{rdx=Oop rcx=Oop off=334} | |
#5 | |
OopMap{rdx=Oop rcx=Oop off=339} | |
#6 | |
OopMap{rdx=Oop rcx=Oop off=344} | |
#7 | |
OopMap{rdx=Oop rcx=Oop off=353} | |
#8 | |
OopMap{rdx=Oop rcx=Oop off=371} | |
Compiled method (c2) 16058 2771 4 ch.ethz.acl.ngen.saxpy.JSaxpy::apply (30 bytes) | |
total in heap [0x000000010c3a8550,0x000000010c3a89b8] = 1128 | |
relocation [0x000000010c3a8678,0x000000010c3a8688] = 16 | |
main code [0x000000010c3a86a0,0x000000010c3a87e0] = 320 | |
stub code [0x000000010c3a87e0,0x000000010c3a87f8] = 24 | |
oops [0x000000010c3a87f8,0x000000010c3a8800] = 8 | |
metadata [0x000000010c3a8800,0x000000010c3a8808] = 8 | |
scopes data [0x000000010c3a8808,0x000000010c3a8848] = 64 | |
scopes pcs [0x000000010c3a8848,0x000000010c3a8998] = 336 | |
dependencies [0x000000010c3a8998,0x000000010c3a89a0] = 8 | |
nul chk table [0x000000010c3a89a0,0x000000010c3a89b8] = 24 | |
Decoding compiled method 0x000000010c3a8550: | |
Code: | |
[Entry Point] | |
[Constants] | |
# {method} {0x000000012b12abf0} 'apply' '([I[III)V' in 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
# this: rsi:rsi = 'ch/ethz/acl/ngen/saxpy/JSaxpy' | |
# parm0: rdx:rdx = '[I' | |
# parm1: rcx:rcx = '[I' | |
# parm2: r8 = int | |
# parm3: r9 = int | |
# [sp+0x30] (sp of caller) | |
0x000000010c3a86a0: mov 0x8(%rsi),%r10d | |
0x000000010c3a86a4: shl $0x3,%r10 | |
0x000000010c3a86a8: cmp %r10,%rax | |
0x000000010c3a86ab: jne 0x000000010bbece20 ; {runtime_call} | |
0x000000010c3a86b1: data16 xchg %ax,%ax | |
0x000000010c3a86b4: nopl 0x0(%rax,%rax,1) | |
0x000000010c3a86bc: data16 data16 xchg %ax,%ax | |
[Verified Entry Point] | |
0x000000010c3a86c0: mov %eax,-0x14000(%rsp) | |
0x000000010c3a86c7: push %rbp | |
0x000000010c3a86c8: sub $0x20,%rsp ;*synchronization entry | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@-1 (line 5) | |
0x000000010c3a86cc: test %r9d,%r9d | |
0x000000010c3a86cf: jle 0x000000010c3a87a9 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a86d5: mov 0xc(%rdx),%r11d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@14 (line 6) | |
; implicit exception: dispatches to 0x000000010c3a87b5 | |
0x000000010c3a86d9: test %r11d,%r11d | |
0x000000010c3a86dc: jbe 0x000000010c3a87b5 | |
0x000000010c3a86e2: movslq %r11d,%r11 | |
0x000000010c3a86e5: movslq %r9d,%r10 | |
0x000000010c3a86e8: dec %r10 | |
0x000000010c3a86eb: cmp %r11,%r10 | |
0x000000010c3a86ee: jae 0x000000010c3a87b5 ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a86f4: mov 0xc(%rcx),%r11d ;*iaload | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@18 (line 6) | |
; implicit exception: dispatches to 0x000000010c3a87b5 | |
0x000000010c3a86f8: test %r11d,%r11d | |
0x000000010c3a86fb: jbe 0x000000010c3a87b5 | |
0x000000010c3a8701: movslq %r11d,%r11 | |
0x000000010c3a8704: cmp %r11,%r10 | |
0x000000010c3a8707: jae 0x000000010c3a87b5 | |
0x000000010c3a870d: mov %edx,%r11d | |
0x000000010c3a8710: shr $0x2,%r11d | |
0x000000010c3a8714: and $0x3,%r11d | |
0x000000010c3a8718: xor %esi,%esi | |
0x000000010c3a871a: mov $0xffffffff,%edi | |
0x000000010c3a871f: sub %r11d,%edi | |
0x000000010c3a8722: and $0x3,%edi | |
0x000000010c3a8725: inc %edi | |
0x000000010c3a8727: cmp %r9d,%edi | |
0x000000010c3a872a: cmovg %r9d,%edi ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a872e: mov %r8d,%r10d | |
0x000000010c3a8731: imul 0x10(%rcx,%rsi,4),%r10d | |
0x000000010c3a8737: add %r10d,0x10(%rdx,%rsi,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a873c: inc %esi ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a873e: cmp %edi,%esi | |
0x000000010c3a8740: jl 0x000000010c3a872e ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a8742: mov %r9d,%r10d | |
0x000000010c3a8745: add $0xfffffffd,%r10d | |
0x000000010c3a8749: mov $0x80000000,%r11d | |
0x000000010c3a874f: cmp %r10d,%r9d | |
0x000000010c3a8752: cmovl %r11d,%r10d | |
0x000000010c3a8756: cmp %r10d,%esi | |
0x000000010c3a8759: jge 0x000000010c3a878f | |
0x000000010c3a875b: vmovd %r8d,%xmm0 | |
0x000000010c3a8760: vpshufd $0x0,%xmm0,%xmm0 | |
0x000000010c3a8765: data16 data16 nopw 0x0(%rax,%rax,1) | |
;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a8770: vmovdqu 0x10(%rcx,%rsi,4),%xmm1 | |
0x000000010c3a8776: vpmulld %xmm0,%xmm1,%xmm1 | |
0x000000010c3a877b: vpaddd 0x10(%rdx,%rsi,4),%xmm1,%xmm1 | |
0x000000010c3a8781: vmovdqu %xmm1,0x10(%rdx,%rsi,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a8787: add $0x4,%esi ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a878a: cmp %r10d,%esi | |
0x000000010c3a878d: jl 0x000000010c3a8770 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a878f: cmp %r9d,%esi | |
0x000000010c3a8792: jge 0x000000010c3a87a9 ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
0x000000010c3a8794: mov %r8d,%r10d | |
0x000000010c3a8797: imul 0x10(%rcx,%rsi,4),%r10d | |
0x000000010c3a879d: add %r10d,0x10(%rdx,%rsi,4) ;*iastore | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@22 (line 6) | |
0x000000010c3a87a2: inc %esi ;*iinc | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@23 (line 5) | |
0x000000010c3a87a4: cmp %r9d,%esi | |
0x000000010c3a87a7: jl 0x000000010c3a8794 ;*if_icmpge | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@7 (line 5) | |
0x000000010c3a87a9: add $0x20,%rsp | |
0x000000010c3a87ad: pop %rbp | |
0x000000010c3a87ae: test %eax,-0x34467b4(%rip) # 0x0000000108f62000 | |
; {poll_return} | |
0x000000010c3a87b4: retq | |
0x000000010c3a87b5: mov $0xffffff86,%esi | |
0x000000010c3a87ba: mov %rdx,%rbp | |
0x000000010c3a87bd: mov %rcx,(%rsp) | |
0x000000010c3a87c1: mov %r8d,0x8(%rsp) | |
0x000000010c3a87c6: mov %r9d,0xc(%rsp) | |
0x000000010c3a87cb: callq 0x000000010bbac1a0 ; OopMap{rbp=Oop [0]=Oop off=304} | |
;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
; {runtime_call} | |
0x000000010c3a87d0: callq 0x000000010b087154 ;*aload_1 | |
; - ch.ethz.acl.ngen.saxpy.JSaxpy::apply@10 (line 6) | |
; {runtime_call} | |
0x000000010c3a87d5: hlt | |
0x000000010c3a87d6: hlt | |
0x000000010c3a87d7: hlt | |
0x000000010c3a87d8: hlt | |
0x000000010c3a87d9: hlt | |
0x000000010c3a87da: hlt | |
0x000000010c3a87db: hlt | |
0x000000010c3a87dc: hlt | |
0x000000010c3a87dd: hlt | |
0x000000010c3a87de: hlt | |
0x000000010c3a87df: hlt | |
[Exception Handler] | |
[Stub Code] | |
0x000000010c3a87e0: jmpq 0x000000010bc13760 ; {no_reloc} | |
[Deopt Handler Code] | |
0x000000010c3a87e5: callq 0x000000010c3a87ea | |
0x000000010c3a87ea: subq $0x5,(%rsp) | |
0x000000010c3a87ef: jmpq 0x000000010bbee3c0 ; {runtime_call} | |
0x000000010c3a87f4: hlt | |
0x000000010c3a87f5: hlt | |
0x000000010c3a87f6: hlt | |
0x000000010c3a87f7: hlt | |
OopMapSet contains 1 OopMaps | |
#0 | |
OopMap{rbp=Oop [0]=Oop off=304} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment