Skip to content

Instantly share code, notes, and snippets.

@qwwdfsad
Created February 2, 2018 12:23
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/fa4ae1c11cc365526474d333464c2301 to your computer and use it in GitHub Desktop.
Save qwwdfsad/fa4ae1c11cc365526474d333464c2301 to your computer and use it in GitHub Desktop.
public class AllocateBenchmark {
@Benchmark
public byte[] allocateArray() {
return new byte[1];
}
}
; {optimized virtual_call}
0x00000001153f7568: mov %rbp,%r8
0x00000001153f756b: movzbl 0x94(%r8),%r11d ;*getfield isDone
; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@30 (line 188)
; implicit exception: dispatches to 0x00000001153f76a5
0x00000001153f7573: test %r11d,%r11d
0x00000001153f7576: jne 0x00000001153f761e ;*ifeq
; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@33 (line 188)
0x00000001153f757c: mov $0x1,%ebp
╭ 0x00000001153f7581: jmp 0x00000001153f75ef
1.00% │↗ 0x00000001153f7583: mov %r10,0x60(%r15)
0.52% ││ 0x00000001153f7587: prefetchnta 0xc0(%r10)
4.28% ││ 0x00000001153f758f: movq $0x1,(%rax)
2.06% ││ 0x00000001153f7596: prefetchnta 0x100(%r10)
1.56% ││ 0x00000001153f759e: movl $0xf80000f5,0x8(%rax) ; {metadata({type array byte})}
1.25% ││ 0x00000001153f75a5: prefetchnta 0x140(%r10)
3.57% ││ 0x00000001153f75ad: movl $0x1,0xc(%rax)
1.64% ││ 0x00000001153f75b4: prefetchnta 0x180(%r10)
1.68% ││ 0x00000001153f75bc: mov %r12,0x10(%rax)
1.68% ││ 0x00000001153f75c0: mov %r8,(%rsp)
2.55% ││ 0x00000001153f75c4: mov %rax,%rdx ;*invokevirtual allocateArray
││ ; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@17 (line 186)
0.98% ││ 0x00000001153f75c7: mov 0x38(%rsp),%rsi
1.49% ││ 0x00000001153f75cc: data32 xchg %ax,%ax
0.98% ││ 0x00000001153f75cf: callq 0x000000011523e020 ; OopMap{[48]=Oop [56]=Oop [64]=Oop [0]=Oop off=276}
││ ;*invokevirtual consume
││ ; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@20 (line 186)
││ ; {optimized virtual_call}
13.95% ││ 0x00000001153f75d4: mov (%rsp),%r8
4.40% ││ 0x00000001153f75d8: movzbl 0x94(%r8),%r11d ;*getfield isDone
││ ; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@30 (line 188)
0.93% ││ 0x00000001153f75e0: add $0x1,%rbp ; OopMap{r8=Oop [48]=Oop [56]=Oop [64]=Oop [0]=Oop off=292}
││ ;*ifeq
││ ; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@33 (line 188)
3.38% ││ 0x00000001153f75e4: test %eax,-0x558b5ea(%rip) # 0x000000010fe6c000
││ ; {poll}
1.29% ││ 0x00000001153f75ea: test %r11d,%r11d
0.02% ││ 0x00000001153f75ed: jne 0x00000001153f7623 ;*aload
││ ; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@13 (line 186)
1.04% ↘│ 0x00000001153f75ef: mov 0x60(%r15),%rax
0.42% │ 0x00000001153f75f3: mov %rax,%r10
3.43% │ 0x00000001153f75f6: add $0x18,%r10
1.16% │ 0x00000001153f75fa: cmp 0x70(%r15),%r10
╰ 0x00000001153f75fe: jb 0x00000001153f7583
0x00000001153f7604: mov %r8,(%rsp)
0x00000001153f7608: movabs $0x7c00007a8,%rsi ; {metadata({type array byte})}
0x00000001153f7612: mov $0x1,%edx
0x00000001153f7617: callq 0x00000001152f4e20 ; OopMap{[48]=Oop [56]=Oop [64]=Oop [0]=Oop off=348}
;*newarray
; - org.qwwdfsad.benchmarks.BoxingAndArray::allocateArray@1 (line 20)
; - org.qwwdfsad.benchmarks.generated.BoxingAndArray_allocateArray_jmhTest::allocateArray_avgt_jmhStub@17 (line 186)
; {runtime_call}
0x00000001153f761c: jmp 0x00000001153f75c4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment