Skip to content

Instantly share code, notes, and snippets.

@cberner
Created May 27, 2016 05:39
Show Gist options
  • Save cberner/6ad7aca28ef1ca07f2b3df0ca86d8376 to your computer and use it in GitHub Desktop.
Save cberner/6ad7aca28ef1ca07f2b3df0ca86d8376 to your computer and use it in GitHub Desktop.
Compiled method (c2) 352 326 4 io.airlift.slice.Junk::rawArrayAccess (24 bytes)
total in heap [0x00000001049425d0,0x00000001049428a0] = 720
relocation [0x00000001049426f8,0x0000000104942708] = 16
main code [0x0000000104942720,0x0000000104942780] = 96
stub code [0x0000000104942780,0x0000000104942798] = 24
oops [0x0000000104942798,0x00000001049427a0] = 8
metadata [0x00000001049427a0,0x00000001049427a8] = 8
scopes data [0x00000001049427a8,0x00000001049427e8] = 64
scopes pcs [0x00000001049427e8,0x0000000104942888] = 160
dependencies [0x0000000104942888,0x0000000104942890] = 8
nul chk table [0x0000000104942890,0x00000001049428a0] = 16
Decoding compiled method 0x00000001049425d0:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000118a02520} 'rawArrayAccess' '([B)I' in 'io/airlift/slice/Junk'
# parm0: rsi:rsi = '[B'
# [sp+0x20] (sp of caller)
0x0000000104942720: mov %eax,-0x14000(%rsp)
0x0000000104942727: push %rbp
0x0000000104942728: sub $0x10,%rsp ;*synchronization entry
; - io.airlift.slice.Junk::rawArrayAccess@-1 (line 24)
0x000000010494272c: mov %rsi,%r8
0x000000010494272f: mov 0xc(%rsi),%r11d ;*arraylength
; - io.airlift.slice.Junk::rawArrayAccess@6 (line 25)
; implicit exception: dispatches to 0x0000000104942769
0x0000000104942733: test %r11d,%r11d
0x0000000104942736: jle 0x0000000104942748 ;*if_icmpge
; - io.airlift.slice.Junk::rawArrayAccess@7 (line 25)
0x0000000104942738: test %r11d,%r11d
0x000000010494273b: jbe 0x0000000104942756
0x000000010494273d: mov %r11d,%r10d
0x0000000104942740: dec %r10d
0x0000000104942743: cmp %r11d,%r10d
0x0000000104942746: jae 0x0000000104942756 ;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@22 (line 28)
0x0000000104942748: xor %eax,%eax
0x000000010494274a: add $0x10,%rsp
0x000000010494274e: pop %rbp
0x000000010494274f: test %eax,-0x21c6755(%rip) # 0x000000010277c000
; {poll_return}
0x0000000104942755: retq
0x0000000104942756: mov $0xffffff86,%esi
0x000000010494275b: mov %r8,%rbp
0x000000010494275e: nop
0x000000010494275f: callq 0x00000001047991a0 ; OopMap{rbp=Oop off=68}
;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
; {runtime_call}
0x0000000104942764: callq 0x0000000103c805e8 ;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
; {runtime_call}
0x0000000104942769: mov $0xfffffff6,%esi
0x000000010494276e: nop
0x000000010494276f: callq 0x00000001047991a0 ; OopMap{off=84}
;*arraylength
; - io.airlift.slice.Junk::rawArrayAccess@6 (line 25)
; {runtime_call}
0x0000000104942774: callq 0x0000000103c805e8 ;*arraylength
; - io.airlift.slice.Junk::rawArrayAccess@6 (line 25)
; {runtime_call}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment