Skip to content

Instantly share code, notes, and snippets.

@qwwdfsad
Created March 13, 2016 01:44
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 qwwdfsad/58f8657aa62799492780 to your computer and use it in GitHub Desktop.
Save qwwdfsad/58f8657aa62799492780 to your computer and use it in GitHub Desktop.
Code:
[Entry Point]
[Constants]
# {method} {0x0000000125c23120} 'inc' '()V' in 'org/jctools/counters/FixedSizeStripedLongCounterV8'
# [sp+0x30] (sp of caller)
0x000000010c7de2a0: mov 0x8(%rsi),%r10d
0x000000010c7de2a4: shl $0x3,%r10
0x000000010c7de2a8: cmp %r10,%rax
0x000000010c7de2ab: jne 0x000000010c6e6e20 ; {runtime_call}
0x000000010c7de2b1: data32 xchg %ax,%ax
0x000000010c7de2b4: nopl 0x0(%rax,%rax,1)
0x000000010c7de2bc: data32 data32 xchg %ax,%ax
[Verified Entry Point]
0x000000010c7de2c0: mov %eax,-0x14000(%rsp)
0x000000010c7de2c7: push %rbp
0x000000010c7de2c8: sub $0x20,%rsp ;*synchronization entry
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@-1 (line 11)
0x000000010c7de2cc: mov 0x1d0(%r15),%r10 ;*invokestatic currentThread
; - org.jctools.counters.FixedSizeStripedLongCounter::probe@13 (line 86)
; - org.jctools.counters.FixedSizeStripedLongCounter::index@1 (line 71)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 45)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@2 (line 11)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 40)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@1 (line 11)
0x000000010c7de2d3: mov 0xf0(%r10),%r10d ;*invokevirtual getInt
; - org.jctools.counters.FixedSizeStripedLongCounter::probe@19 (line 86)
; - org.jctools.counters.FixedSizeStripedLongCounter::index@1 (line 71)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 45)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@2 (line 11)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 40)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@1 (line 11)
0x000000010c7de2da: test %r10d,%r10d
0x000000010c7de2dd: je 0x000000010c7de311 ;*invokevirtual getAndAddLong
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@9 (line 19)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@7 (line 45)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@2 (line 11)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 40)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@1 (line 11)
0x000000010c7de2df: and 0x90(%rsi),%r10d
0x000000010c7de2e6: mov 0x94(%rsi),%r8d ;*getfield cells
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@4 (line 19)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@7 (line 45)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@2 (line 11)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 40)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@1 (line 11)
0x000000010c7de2ed: shl $0x3,%r10d
0x000000010c7de2f1: mov %r8,%r11
0x000000010c7de2f4: shl $0x3,%r11
0x000000010c7de2f8: add $0x10,%r10d
0x000000010c7de2fc: movslq %r10d,%r10
0x000000010c7de2ff: lock addq $0x1,(%r11,%r10,1) ;*invokevirtual getAndAddLong
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@9 (line 19)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@7 (line 45)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@2 (line 11)
; - org.jctools.counters.FixedSizeStripedLongCounter::inc@2 (line 40)
; - org.jctools.counters.FixedSizeStripedLongCounterV8::inc@1 (line 11)
0x000000010c7de305: add $0x20,%rsp
0x000000010c7de309: pop %rbp
0x000000010c7de30a: test %eax,-0x21fa310(%rip) # 0x000000010a5e4000
; {poll_return}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment