Skip to content

Instantly share code, notes, and snippets.

@cberner
Created May 27, 2016 04:56
Show Gist options
  • Save cberner/b97cc27dcc1160061bdfd204943c883b to your computer and use it in GitHub Desktop.
Save cberner/b97cc27dcc1160061bdfd204943c883b to your computer and use it in GitHub Desktop.
Compiled method (c2) 362 311 4 io.airlift.slice.Junk::rawArrayAccess (24 bytes)
total in heap [0x000000010f53af90,0x000000010f53b420] = 1168
relocation [0x000000010f53b0b8,0x000000010f53b0c8] = 16
main code [0x000000010f53b0e0,0x000000010f53b260] = 384
stub code [0x000000010f53b260,0x000000010f53b278] = 24
oops [0x000000010f53b278,0x000000010f53b280] = 8
metadata [0x000000010f53b280,0x000000010f53b288] = 8
scopes data [0x000000010f53b288,0x000000010f53b2d8] = 80
scopes pcs [0x000000010f53b2d8,0x000000010f53b408] = 304
dependencies [0x000000010f53b408,0x000000010f53b410] = 8
nul chk table [0x000000010f53b410,0x000000010f53b420] = 16
Decoding compiled method 0x000000010f53af90:
Code:
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x00000001236024c8} 'rawArrayAccess' '([B)I' in 'io/airlift/slice/Junk'
# parm0: rsi:rsi = '[B'
# [sp+0x40] (sp of caller)
0x000000010f53b0e0: mov %eax,-0x14000(%rsp)
0x000000010f53b0e7: push %rbp
0x000000010f53b0e8: sub $0x30,%rsp ;*synchronization entry
; - io.airlift.slice.Junk::rawArrayAccess@-1 (line 24)
0x000000010f53b0ec: mov 0xc(%rsi),%r9d ;*arraylength
; - io.airlift.slice.Junk::rawArrayAccess@6 (line 25)
; implicit exception: dispatches to 0x000000010f53b23d
0x000000010f53b0f0: test %r9d,%r9d
0x000000010f53b0f3: jle 0x000000010f53b224 ;*if_icmpge
; - io.airlift.slice.Junk::rawArrayAccess@7 (line 25)
0x000000010f53b0f9: test %r9d,%r9d
0x000000010f53b0fc: jbe 0x000000010f53b228
0x000000010f53b102: mov %r9d,%r11d
0x000000010f53b105: dec %r11d
0x000000010f53b108: cmp %r9d,%r11d
0x000000010f53b10b: jae 0x000000010f53b228 ;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
0x000000010f53b111: movsbl 0x10(%rsi),%eax ;*baload
; - io.airlift.slice.Junk::rawArrayAccess@13 (line 26)
0x000000010f53b115: mov %r9d,%ecx
0x000000010f53b118: add $0xfffffffffffffff1,%ecx
0x000000010f53b11b: mov $0x1,%r14d
0x000000010f53b121: mov $0x80000000,%r8d
0x000000010f53b127: cmp %ecx,%r11d
0x000000010f53b12a: cmovl %r8d,%ecx
0x000000010f53b12e: cmp $0x1,%ecx
0x000000010f53b131: jle 0x000000010f53b1fc
0x000000010f53b137: vmovd %r9d,%xmm0
0x000000010f53b13c: mov %ecx,0x14(%rsp) ;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
0x000000010f53b140: movslq %r14d,%r10
0x000000010f53b143: movsbl 0x10(%rsi,%r10,1),%r10d
0x000000010f53b149: xor %r10d,%eax
0x000000010f53b14c: movslq %r14d,%rbp
0x000000010f53b14f: movsbl 0x11(%rsi,%rbp,1),%r10d
0x000000010f53b155: movsbl 0x1f(%rsi,%rbp,1),%r8d
0x000000010f53b15b: mov %r8d,(%rsp)
0x000000010f53b15f: movsbl 0x12(%rsi,%rbp,1),%r11d
0x000000010f53b165: movsbl 0x1e(%rsi,%rbp,1),%r8d
0x000000010f53b16b: mov %r8d,0x4(%rsp)
0x000000010f53b170: movsbl 0x1d(%rsi,%rbp,1),%r9d
0x000000010f53b176: mov %r9d,0x8(%rsp)
0x000000010f53b17b: movsbl 0x1c(%rsi,%rbp,1),%r9d
0x000000010f53b181: mov %r9d,0xc(%rsp)
0x000000010f53b186: movsbl 0x1b(%rsi,%rbp,1),%r9d
0x000000010f53b18c: mov %r9d,0x10(%rsp)
0x000000010f53b191: movsbl 0x1a(%rsi,%rbp,1),%r9d
0x000000010f53b197: movsbl 0x19(%rsi,%rbp,1),%r8d
0x000000010f53b19d: movsbl 0x18(%rsi,%rbp,1),%ebx
0x000000010f53b1a2: movsbl 0x17(%rsi,%rbp,1),%ecx
0x000000010f53b1a7: movsbl 0x16(%rsi,%rbp,1),%edx
0x000000010f53b1ac: movsbl 0x15(%rsi,%rbp,1),%edi
0x000000010f53b1b1: movsbl 0x14(%rsi,%rbp,1),%r13d
0x000000010f53b1b7: movsbl 0x13(%rsi,%rbp,1),%ebp
0x000000010f53b1bc: xor %r10d,%eax
0x000000010f53b1bf: xor %r11d,%eax
0x000000010f53b1c2: xor %ebp,%eax
0x000000010f53b1c4: xor %r13d,%eax
0x000000010f53b1c7: xor %edi,%eax
0x000000010f53b1c9: xor %edx,%eax
0x000000010f53b1cb: xor %ecx,%eax
0x000000010f53b1cd: xor %ebx,%eax
0x000000010f53b1cf: xor %r8d,%eax
0x000000010f53b1d2: xor %r9d,%eax
0x000000010f53b1d5: xor 0x10(%rsp),%eax
0x000000010f53b1d9: xor 0xc(%rsp),%eax
0x000000010f53b1dd: xor 0x8(%rsp),%eax
0x000000010f53b1e1: xor 0x4(%rsp),%eax
0x000000010f53b1e5: xor (%rsp),%eax ;*ixor
; - io.airlift.slice.Junk::rawArrayAccess@14 (line 26)
0x000000010f53b1e8: add $0x10,%r14d ;*iinc
; - io.airlift.slice.Junk::rawArrayAccess@16 (line 25)
0x000000010f53b1ec: cmp 0x14(%rsp),%r14d
0x000000010f53b1f1: jl 0x000000010f53b140 ;*if_icmpge
; - io.airlift.slice.Junk::rawArrayAccess@7 (line 25)
0x000000010f53b1f7: vmovd %xmm0,%r9d
0x000000010f53b1fc: cmp %r9d,%r14d
0x000000010f53b1ff: jge 0x000000010f53b218
0x000000010f53b201: data32 xchg %ax,%ax ;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
0x000000010f53b204: movslq %r14d,%r10
0x000000010f53b207: movsbl 0x10(%rsi,%r10,1),%r10d
0x000000010f53b20d: xor %r10d,%eax ;*ixor
; - io.airlift.slice.Junk::rawArrayAccess@14 (line 26)
0x000000010f53b210: inc %r14d ;*iinc
; - io.airlift.slice.Junk::rawArrayAccess@16 (line 25)
0x000000010f53b213: cmp %r9d,%r14d
0x000000010f53b216: jl 0x000000010f53b204 ;*if_icmpge
; - io.airlift.slice.Junk::rawArrayAccess@7 (line 25)
0x000000010f53b218: add $0x30,%rsp
0x000000010f53b21c: pop %rbp
0x000000010f53b21d: test %eax,-0x21a2223(%rip) # 0x000000010d399000
; {poll_return}
0x000000010f53b223: retq
0x000000010f53b224: xor %eax,%eax
0x000000010f53b226: jmp 0x000000010f53b218
0x000000010f53b228: mov %rsi,%rbp
0x000000010f53b22b: mov $0xffffff86,%esi
0x000000010f53b230: data32 xchg %ax,%ax
0x000000010f53b233: callq 0x000000010f3991a0 ; OopMap{rbp=Oop off=344}
;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
; {runtime_call}
0x000000010f53b238: callq 0x000000010e8805e8 ;*iload_1
; - io.airlift.slice.Junk::rawArrayAccess@10 (line 26)
; {runtime_call}
0x000000010f53b23d: mov $0xfffffff6,%esi
0x000000010f53b242: nop
0x000000010f53b243: callq 0x000000010f3991a0 ; OopMap{off=360}
;*arraylength
; - io.airlift.slice.Junk::rawArrayAccess@6 (line 25)
; {runtime_call}
0x000000010f53b248: callq 0x000000010e8805e8 ;*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