Skip to content

Instantly share code, notes, and snippets.

@cberner
Created May 27, 2016 05:40
Show Gist options
  • Save cberner/325fdd3e2a7a5cbb8adf51eb79f728c8 to your computer and use it in GitHub Desktop.
Save cberner/325fdd3e2a7a5cbb8adf51eb79f728c8 to your computer and use it in GitHub Desktop.
Compiled method (c2) 314 332 4 io.airlift.slice.Junk::sliceUnchecked (28 bytes)
total in heap [0x0000000105d41fd0,0x0000000105d422b0] = 736
relocation [0x0000000105d420f8,0x0000000105d42108] = 16
main code [0x0000000105d42120,0x0000000105d42180] = 96
stub code [0x0000000105d42180,0x0000000105d42198] = 24
oops [0x0000000105d42198,0x0000000105d421a0] = 8
metadata [0x0000000105d421a0,0x0000000105d421b0] = 16
scopes data [0x0000000105d421b0,0x0000000105d421f8] = 72
scopes pcs [0x0000000105d421f8,0x0000000105d42298] = 160
dependencies [0x0000000105d42298,0x0000000105d422a0] = 8
nul chk table [0x0000000105d422a0,0x0000000105d422b0] = 16
Decoding compiled method 0x0000000105d41fd0:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000119e02610} 'sliceUnchecked' '(Lio/airlift/slice/Slice;)I' in 'io/airlift/slice/Junk'
# parm0: rsi:rsi = 'io/airlift/slice/Slice'
# [sp+0x20] (sp of caller)
0x0000000105d42120: mov %eax,-0x14000(%rsp)
0x0000000105d42127: push %rbp
0x0000000105d42128: sub $0x10,%rsp ;*synchronization entry
; - io.airlift.slice.Junk::sliceUnchecked@-1 (line 33)
0x0000000105d4212c: mov 0xc(%rsi),%r10d ; implicit exception: dispatches to 0x0000000105d4215e
0x0000000105d42130: xor %eax,%eax
0x0000000105d42132: test %r10d,%r10d
0x0000000105d42135: jle 0x0000000105d42152 ;*if_icmpge
; - io.airlift.slice.Junk::sliceUnchecked@9 (line 34)
0x0000000105d42137: xor %r11d,%r11d
0x0000000105d4213a: nopw 0x0(%rax,%rax,1) ;*invokevirtual getByte
; - io.airlift.slice.Slice::getByteUnchecked@14 (line 349)
; - io.airlift.slice.Junk::sliceUnchecked@15 (line 35)
0x0000000105d42140: mov 0xc(%rsi),%r10d
0x0000000105d42144: inc %r11d ; OopMap{rsi=Oop off=39}
;*goto
; - io.airlift.slice.Junk::sliceUnchecked@23 (line 34)
0x0000000105d42147: test %eax,-0x22a114d(%rip) # 0x0000000103aa1000
;*goto
; - io.airlift.slice.Junk::sliceUnchecked@23 (line 34)
; {poll}
0x0000000105d4214d: cmp %r10d,%r11d
0x0000000105d42150: jl 0x0000000105d42140 ;*if_icmpge
; - io.airlift.slice.Junk::sliceUnchecked@9 (line 34)
0x0000000105d42152: add $0x10,%rsp
0x0000000105d42156: pop %rbp
0x0000000105d42157: test %eax,-0x22a115d(%rip) # 0x0000000103aa1000
; {poll_return}
0x0000000105d4215d: retq
0x0000000105d4215e: mov $0xfffffff6,%esi
0x0000000105d42163: callq 0x0000000105b991a0 ; OopMap{off=72}
;*invokevirtual length
; - io.airlift.slice.Junk::sliceUnchecked@6 (line 34)
; {runtime_call}
0x0000000105d42168: callq 0x00000001050805e8 ;*invokevirtual length
; - io.airlift.slice.Junk::sliceUnchecked@6 (line 34)
; {runtime_call}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment