Skip to content

Instantly share code, notes, and snippets.

@stsypanov
Created December 10, 2021 07:17
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 stsypanov/d2524f98477d633fb1d4a2510fedeea6 to your computer and use it in GitHub Desktop.
Save stsypanov/d2524f98477d633fb1d4a2510fedeea6 to your computer and use it in GitHub Desktop.
StackOverflow question 70272651 baseline
0x00007fed70eb4b6a: cmp $0x8,%rcx
╭ 0x00007fed70eb4b6e: jg 0x00007fed70eb4b80
│ 0x00007fed70eb4b70: dec %rcx
│╭ 0x00007fed70eb4b73: js 0x00007fed70eb4bc4
││↗ 0x00007fed70eb4b75: mov %rax,(%rdi,%rcx,8)
│││ 0x00007fed70eb4b79: dec %rcx
││╰ 0x00007fed70eb4b7c: jge 0x00007fed70eb4b75
││ ╭ 0x00007fed70eb4b7e: jmp 0x00007fed70eb4bc4
↘│ │ 0x00007fed70eb4b80: vpxor %ymm0,%ymm0,%ymm0
│ │╭ 0x00007fed70eb4b84: jmp 0x00007fed70eb4b96
0.19% │ ││↗ 0x00007fed70eb4b89: vmovdqu %ymm0,(%rdi)
0.01% │ │││ 0x00007fed70eb4b8d: vmovdqu %ymm0,0x20(%rdi)
0.01% │ │││ 0x00007fed70eb4b92: add $0x40,%rdi
0.17% │ │↘│ 0x00007fed70eb4b96: sub $0x8,%rcx
│ │ ╰ 0x00007fed70eb4b9a: jge 0x00007fed70eb4b89
0.21% │ │ 0x00007fed70eb4b9c: add $0x4,%rcx
│ │ ╭ 0x00007fed70eb4ba0: jl 0x00007fed70eb4bae
│ │ │ 0x00007fed70eb4ba2: vmovdqu %ymm0,(%rdi)
│ │ │ 0x00007fed70eb4ba6: add $0x20,%rdi
│ │ │ 0x00007fed70eb4baa: sub $0x4,%rcx
│ │ ↘ 0x00007fed70eb4bae: add $0x4,%rcx
│ │ ╭ 0x00007fed70eb4bb2: jle 0x00007fed70eb4bc4
│ │ │ 0x00007fed70eb4bb4: dec %rcx
│ │ │↗ 0x00007fed70eb4bb7: vmovq %xmm0,(%rdi)
0.12% │ │ ││ 0x00007fed70eb4bbb: add $0x8,%rdi
│ │ ││ 0x00007fed70eb4bbf: dec %rcx
│ │ │╰ 0x00007fed70eb4bc2: jge 0x00007fed70eb4bb7 ;*invokestatic inflate {reexecute=0 rethrow=0 return_oop=0}
│ │ │ ; - java.lang.String::<init>@272 (line 570)
↘ ↘ ↘ 0x00007fed70eb4bc4: cmp $0x7ffffffe,%r13d
0x00007fed70eb4bcb: jg 0x00007fed70eb54ec
0x00007fed70eb4bd1: movslq %r13d,%rax
0.20% 0x00007fed70eb4bd4: movslq 0x8(%rsp),%r8
0x00007fed70eb4bd9: mov %r9d,%ecx
0x00007fed70eb4bdc: xor %r9d,%r9d
0x00007fed70eb4bdf: movabs $0x7fed85118000,%rsi
0.14% ╭ 0x00007fed70eb4be9: jmp 0x00007fed70eb4c25
│ ↗ 0x00007fed70eb4beb: mov %ecx,%ebx
0.01% │ │ 0x00007fed70eb4bed: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - java.lang.String::<init>@134 (line 541)
0.27% │ │ 0x00007fed70eb4bef: mov %ecx,%edi
│ │ 0x00007fed70eb4bf1: mov %edx,%r10d
│ │ 0x00007fed70eb4bf4: mov %r9d,%edx
│ │ 0x00007fed70eb4bf7: mov %r10d,%r9d
0.39% │ │ 0x00007fed70eb4bfa: vmovq %xmm0,%r10
0.01% │ │ 0x00007fed70eb4bff: mov 0xc(%rsp),%r11d
2.07% │↗ │ 0x00007fed70eb4c04: cmp %r11d,%r9d
││ │ 0x00007fed70eb4c07: jae 0x00007fed70eb534c
2.94% ││ │ 0x00007fed70eb4c0d: mov %r8b,0x10(%r10,%r9,1) ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
││ │ ; - java.lang.String::<init>@74 (line 529)
2.45% ││ │ 0x00007fed70eb4c12: mov 0x340(%r15),%r8 ; ImmutableOopMap {r10=Oop r14=Oop [24]=Oop }
││ │ ;*goto {reexecute=1 rethrow=0 return_oop=0}
││ │ ; - (reexecute) java.lang.String::<init>@137 (line 542)
2.48% ││ │ 0x00007fed70eb4c19: test %eax,(%r8) ;*goto {reexecute=0 rethrow=0 return_oop=0}
││ │ ; - java.lang.String::<init>@137 (line 542)
││ │ ; {poll}
3.62% ││ │ 0x00007fed70eb4c1c: mov %ebx,%ecx
2.29% ││ │ 0x00007fed70eb4c1e: mov %edx,%r9d
2.22% ││ │ 0x00007fed70eb4c21: mov (%rsp),%r8 ;*iload_2 {reexecute=0 rethrow=0 return_oop=0}
││ │ ; - java.lang.String::<init>@107 (line 537)
2.32% ↘│ │ 0x00007fed70eb4c25: cmp %r13d,%ecx
│ │ 0x00007fed70eb4c28: jge 0x00007fed70eb5388 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - java.lang.String::<init>@110 (line 537)
3.05% │ │ 0x00007fed70eb4c2e: cmp 0x8(%rsp),%ecx
│ │ 0x00007fed70eb4c32: jae 0x00007fed70eb5319
2.38% │ │ 0x00007fed70eb4c38: mov %r8,(%rsp)
2.64% │ │ 0x00007fed70eb4c3c: movslq %ecx,%r8
2.46% │ │ 0x00007fed70eb4c3f: mov %rax,%rbx
3.44% │ │ 0x00007fed70eb4c42: sub %r8,%rbx
2.62% │ │ 0x00007fed70eb4c45: add $0x1,%rbx
2.64% │ │ 0x00007fed70eb4c49: and $0xfffffffffffffffe,%rbx
2.30% │ │ 0x00007fed70eb4c4d: mov %ebx,%r8d
3.08% │ │ 0x00007fed70eb4c50: add %ecx,%r8d
2.55% │ │ 0x00007fed70eb4c53: movslq %r8d,%r8
2.45% │ │ 0x00007fed70eb4c56: add $0xfffffffffffffffe,%r8
2.13% │ │ 0x00007fed70eb4c5a: cmp (%rsp),%r8
│ │ 0x00007fed70eb4c5e: jae 0x00007fed70eb5319
3.36% │ │ 0x00007fed70eb4c64: mov %ecx,%edi ;*aload_1 {reexecute=0 rethrow=0 return_oop=0}
│ │ ; - java.lang.String::<init>@113 (line 538)
2.86% │ ↗│ 0x00007fed70eb4c66: movsbl 0x10(%r14,%rdi,1),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@115 (line 538)
2.48% │ ││ 0x00007fed70eb4c6c: mov %r9d,%edx
2.26% │ ││ 0x00007fed70eb4c6f: inc %edx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@127 (line 540)
3.28% │ ││ 0x00007fed70eb4c71: mov %edi,%ebx
2.44% │ ││ 0x00007fed70eb4c73: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@134 (line 541)
2.35% │ ││ 0x00007fed70eb4c75: test %r8d,%r8d
╰ ││ 0x00007fed70eb4c78: jge 0x00007fed70eb4c04 ;*iflt {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::<init>@120 (line 539)
0.01% ││ 0x00007fed70eb4c7a: cmp $0xffffffc2,%r8d
││ 0x00007fed70eb4c7e: je 0x00007fed70eb5438 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::<init>@144 (line 544)
0.05% ││ 0x00007fed70eb4c84: cmp $0xffffffc3,%r8d
╭ ││ 0x00007fed70eb4c88: je 0x00007fed70eb4f43 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@151 (line 544)
0.09% │ ││ 0x00007fed70eb4c8e: mov %r9d,%edx
0.03% │ ││ 0x00007fed70eb4c91: mov %edi,%ecx
│ ││ 0x00007fed70eb4c93: cmp %r13d,%ecx
│ ││ 0x00007fed70eb4c96: je 0x00007fed70eb57f0 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@205 (line 557)
0.11% │ ││ 0x00007fed70eb4c9c: mov %edx,%r9d
0.02% │ ││ 0x00007fed70eb4c9f: test %edx,%edx
│ ││ 0x00007fed70eb4ca1: je 0x00007fed70eb5820 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@239 (line 566)
0.03% │ ││ 0x00007fed70eb4ca7: mov %r11d,%ebx
0.01% │ ││ 0x00007fed70eb4caa: shl %ebx ;*ishl {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@259 (line 569)
0.16% │ ││ 0x00007fed70eb4cac: cmp $0x100000,%ebx
│ ││ 0x00007fed70eb4cb2: ja 0x00007fed70eb5524
0.07% │ ││ 0x00007fed70eb4cb8: movslq %ebx,%r8 ;*newarray {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@260 (line 569)
0.05% │ ││ 0x00007fed70eb4cbb: cmp $0x100000,%ebx
│ ││ 0x00007fed70eb4cc1: ja 0x00007fed70eb527d
0.01% │ ││ 0x00007fed70eb4cc7: mov 0xf0(%r15),%rax
0.10% │ ││ 0x00007fed70eb4cce: add $0x17,%r8
0.06% │ ││ 0x00007fed70eb4cd2: and $0xfffffffffffffff8,%r8
0.03% │ ││ 0x00007fed70eb4cd6: mov %rax,%rdi
0.01% │ ││ 0x00007fed70eb4cd9: add %r8,%rdi
0.13% │ ││ 0x00007fed70eb4cdc: cmp 0x100(%r15),%rdi
│ ││ 0x00007fed70eb4ce3: jae 0x00007fed70eb527d ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@74 (line 529)
0.02% │ ││ 0x00007fed70eb4ce9: mov %rdi,0xf0(%r15)
0.01% │ ││ 0x00007fed70eb4cf0: prefetchnta 0x100(%rdi)
0.03% │ ││ 0x00007fed70eb4cf7: movq $0x1,(%rax)
0.06% │ ││ 0x00007fed70eb4cfe: prefetchnta 0x140(%rdi)
0.02% │ ││ 0x00007fed70eb4d05: movl $0x1ea0,0x8(%rax) ; {metadata({type array byte})}
0.06% │ ││ 0x00007fed70eb4d0c: mov %ebx,0xc(%rax)
│ ││ 0x00007fed70eb4d0f: prefetchnta 0x180(%rdi) ;*newarray {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@260 (line 569)
0.11% │ ││ 0x00007fed70eb4d16: test %r9d,%r9d
│ ││ 0x00007fed70eb4d19: jl 0x00007fed70eb55c4
0.04% │ ││ 0x00007fed70eb4d1f: cmp %r9d,%r11d
│ ││ 0x00007fed70eb4d22: jb 0x00007fed70eb55c4
0.04% │ ││ 0x00007fed70eb4d28: mov %r9d,%r8d
0.01% │ ││ 0x00007fed70eb4d2b: shl %r8d
0.06% │ ││ 0x00007fed70eb4d2e: test %r8d,%r8d
│ ││ 0x00007fed70eb4d31: jl 0x00007fed70eb55fc ;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.util.Arrays::copyOf@14 (line 3538)
│ ││ ; - java.lang.String::<init>@305 (line 575)
0.04% │ ││ 0x00007fed70eb4d37: cmp %r8d,%ebx
│ ││ 0x00007fed70eb4d3a: jb 0x00007fed70eb55fc
0.04% │ ││ 0x00007fed70eb4d40: mov %ebx,0x8(%rsp)
│ ││ 0x00007fed70eb4d44: mov %ecx,%ebx
0.09% │ ││ 0x00007fed70eb4d46: mov %r11d,%ebp
0.01% │ ││ 0x00007fed70eb4d49: mov %rsi,(%rsp)
0.06% │ ││ 0x00007fed70eb4d4d: mov %rax,%rdi
│ ││ 0x00007fed70eb4d50: add $0x10,%rdi
0.03% │ ││ 0x00007fed70eb4d54: mov %rax,0x10(%rsp)
0.05% │ ││ 0x00007fed70eb4d59: add $0x10,%r10
0.03% │ ││ 0x00007fed70eb4d5d: mov %r10,%rsi
0.01% │ ││ 0x00007fed70eb4d60: mov %r9d,%edx
0.12% │ ││ 0x00007fed70eb4d63: mov %edx,%ecx
0.03% │ ││ 0x00007fed70eb4d65: and $0xf,%ecx
0.06% │ ││ 0x00007fed70eb4d68: and $0xfffffff0,%edx
│╭ ││ 0x00007fed70eb4d6b: je 0x00007fed70eb4d89
0.01% ││ ││ 0x00007fed70eb4d6d: lea (%rsi,%rdx,1),%rsi
0.07% ││ ││ 0x00007fed70eb4d71: lea (%rdi,%rdx,2),%rdi
0.05% ││ ││ 0x00007fed70eb4d75: neg %rdx
0.09% ││↗ ││ 0x00007fed70eb4d78: vpmovzxbw (%rsi,%rdx,1),%ymm0
0.56% │││ ││ 0x00007fed70eb4d7e: vmovdqu %ymm0,(%rdi,%rdx,2)
0.88% │││ ││ 0x00007fed70eb4d83: add $0x10,%rdx
││╰ ││ 0x00007fed70eb4d87: jne 0x00007fed70eb4d78
│↘ ││ 0x00007fed70eb4d89: mov %ecx,%edx
│ ││ 0x00007fed70eb4d8b: and $0x7,%ecx
│ ││ 0x00007fed70eb4d8e: and $0xfffffff8,%edx
│ ╭ ││ 0x00007fed70eb4d91: je 0x00007fed70eb4dba
0.23% │ │ ││ 0x00007fed70eb4d93: vpmovzxbw (%rsi),%xmm0
│ │ ││ 0x00007fed70eb4d98: vmovdqu %xmm0,(%rdi)
0.05% │ │ ││ 0x00007fed70eb4d9c: add $0x8,%rsi
│ │ ││ 0x00007fed70eb4da0: add $0x10,%rdi
0.14% │ │╭ ││ 0x00007fed70eb4da4: jmp 0x00007fed70eb4dba
│ ││↗ ││ 0x00007fed70eb4da9: vpmovzxbw (%rsi,%rdx,1),%xmm0
│ │││ ││ 0x00007fed70eb4daf: vmovdqu %xmm0,(%rdi,%rdx,2)
│ │││ ││ 0x00007fed70eb4db4: add $0x8,%rdx
│ ││╰ ││ 0x00007fed70eb4db8: jne 0x00007fed70eb4da9
│ ↘↘ ││ 0x00007fed70eb4dba: mov %ecx,%edx
0.03% │ ││ 0x00007fed70eb4dbc: cmp $0x4,%edx
│ ╭ ││ 0x00007fed70eb4dbf: jl 0x00007fed70eb4dda
│ │ ││ 0x00007fed70eb4dc1: vmovd (%rsi),%xmm0
0.13% │ │ ││ 0x00007fed70eb4dc5: vpmovzxbw %xmm0,%xmm0
│ │ ││ 0x00007fed70eb4dca: vmovq %xmm0,(%rdi)
│ │ ││ 0x00007fed70eb4dce: sub $0x4,%rdx
│ │ ││ 0x00007fed70eb4dd2: add $0x4,%rsi
0.18% │ │ ││ 0x00007fed70eb4dd6: add $0x8,%rdi
│ ↘ ││ 0x00007fed70eb4dda: test %edx,%edx
│ ╭ ││ 0x00007fed70eb4ddc: je 0x00007fed70eb4df6
0.01% │ │ ││ 0x00007fed70eb4dde: lea (%rsi,%rdx,1),%rsi
│ │ ││ 0x00007fed70eb4de2: lea (%rdi,%rdx,2),%rdi
0.15% │ │ ││ 0x00007fed70eb4de6: neg %rdx
│ │↗ ││ 0x00007fed70eb4de9: movzbl (%rsi,%rdx,1),%ecx
0.01% │ ││ ││ 0x00007fed70eb4ded: mov %cx,(%rdi,%rdx,2)
│ ││ ││ 0x00007fed70eb4df1: inc %rdx
│ │╰ ││ 0x00007fed70eb4df4: jne 0x00007fed70eb4de9 ;*invokestatic inflate {reexecute=0 rethrow=0 return_oop=0}
│ │ ││ ; - java.lang.String::<init>@272 (line 570)
0.12% │ ↘ ││ 0x00007fed70eb4df6: mov %r14,%rsi
│ ││ 0x00007fed70eb4df9: mov %ebx,%edx
0.01% │ ││ 0x00007fed70eb4dfb: mov %r13d,%ecx
│ ││ 0x00007fed70eb4dfe: mov %rax,%r8
0.15% │ ││ 0x00007fed70eb4e01: mov $0x1,%edi
│ ││ 0x00007fed70eb4e06: xchg %ax,%ax
0.01% │ ││ 0x00007fed70eb4e08: vzeroupper
0.13% │ ││ 0x00007fed70eb4e0b: call 0x00007fed70eadda0 ; ImmutableOopMap {[16]=Oop [24]=Oop }
│ ││ ;*invokestatic decodeUTF8_UTF16 {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@288 (line 573)
│ ││ ; {static_call}
0.18% │ ││ 0x00007fed70eb4e10: cmp %ebp,%eax
│ ││ 0x00007fed70eb4e12: je 0x00007fed70eb5850 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@296 (line 574)
│ ││ 0x00007fed70eb4e18: shl %eax ;*ishl {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@304 (line 575)
0.01% │ ││ 0x00007fed70eb4e1a: cmp $0x100000,%eax
│ ││ 0x00007fed70eb4e20: ja 0x00007fed70eb552c
0.12% │ ││ 0x00007fed70eb4e26: movslq %eax,%r11 ;*newarray {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.util.Arrays::copyOf@1 (line 3537)
│ ││ ; - java.lang.String::<init>@305 (line 575)
0.02% │ ││ 0x00007fed70eb4e29: mov 0x8(%rsp),%r9d
0.01% │ ││ 0x00007fed70eb4e2e: cmp %eax,%r9d
0.11% │ ││ 0x00007fed70eb4e31: mov %eax,%ebp
0.05% │ ││ 0x00007fed70eb4e33: cmovl %r9d,%ebp ;*invokestatic min {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.util.Arrays::copyOf@11 (line 3539)
│ ││ ; - java.lang.String::<init>@305 (line 575)
0.01% │ ││ 0x00007fed70eb4e37: cmp %ebp,%r9d
│ ││ 0x00007fed70eb4e3a: jb 0x00007fed70eb5634
0.15% │ ││ 0x00007fed70eb4e40: cmp %ebp,%eax
│ ││ 0x00007fed70eb4e42: jb 0x00007fed70eb5634 ;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.util.Arrays::copyOf@14 (line 3538)
│ ││ ; - java.lang.String::<init>@305 (line 575)
0.02% │ ││ 0x00007fed70eb4e48: add $0x17,%r11
│ ││ 0x00007fed70eb4e4c: mov %r11,%rdx
0.01% │ ││ 0x00007fed70eb4e4f: and $0xfffffffffffffff8,%rdx ;*newarray {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.util.Arrays::copyOf@1 (line 3537)
│ ││ ; - java.lang.String::<init>@305 (line 575)
0.10% │ ││ 0x00007fed70eb4e53: cmp $0x100000,%eax
│ ││ 0x00007fed70eb4e59: ja 0x00007fed70eb52dc
0.02% │ ││ 0x00007fed70eb4e5f: mov 0xf0(%r15),%rbx
│ ││ 0x00007fed70eb4e66: mov %rbx,%r10
│ ││ 0x00007fed70eb4e69: add %rdx,%r10
0.08% │ ││ 0x00007fed70eb4e6c: cmp 0x100(%r15),%r10
│ ││ 0x00007fed70eb4e73: jae 0x00007fed70eb52dc ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@74 (line 529)
0.02% │ ││ 0x00007fed70eb4e79: mov %r10,0xf0(%r15)
0.01% │ ││ 0x00007fed70eb4e80: prefetchnta 0x100(%r10)
0.01% │ ││ 0x00007fed70eb4e88: movq $0x1,(%rbx)
0.13% │ ││ 0x00007fed70eb4e8f: prefetchnta 0x140(%r10)
0.06% │ ││ 0x00007fed70eb4e97: movl $0x1ea0,0x8(%rbx) ; {metadata({type array byte})}
│ ││ 0x00007fed70eb4e9e: mov %eax,0xc(%rbx)
0.01% │ ││ 0x00007fed70eb4ea1: prefetchnta 0x180(%r10) ;*newarray {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.util.Arrays::copyOf@1 (line 3537)
│ ││ ; - java.lang.String::<init>@305 (line 575)
0.15% │ ││ 0x00007fed70eb4ea9: mov %rbx,%r10
0.06% │ ││ 0x00007fed70eb4eac: add $0x10,%r10
│ ││ 0x00007fed70eb4eb0: shr $0x3,%r11
│ ││ 0x00007fed70eb4eb4: mov %rbx,%r13
0.06% │ ││ 0x00007fed70eb4eb7: test %ebp,%ebp
│ ││ 0x00007fed70eb4eb9: je 0x00007fed70eb5534
0.03% │ ││ 0x00007fed70eb4ebf: mov 0x10(%rsp),%r8
0.01% │ ││ 0x00007fed70eb4ec4: add $0x10,%r8
0.01% │ ││ 0x00007fed70eb4ec8: cmp %eax,%ebp
│ ││ 0x00007fed70eb4eca: jl 0x00007fed70eb511f
0.09% │ ││ 0x00007fed70eb4ed0: add $0xfffffffffffffff0,%rdx
0.02% │ ││ 0x00007fed70eb4ed4: shr $0x3,%rdx
│ ││ 0x00007fed70eb4ed8: mov %r8,%rdi
0.01% │ ││ 0x00007fed70eb4edb: mov %r10,%rsi
0.19% │ ││ 0x00007fed70eb4ede: vzeroupper
0.25% │ ││ 0x00007fed70eb4ee1: movabs $0x7fed693d5400,%r10
0.03% │ ││ 0x00007fed70eb4eeb: call *%r10 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
│ ││ ; - java.lang.String::<init>@74 (line 529)
0.05% │ ││ 0x00007fed70eb4eee: cmpb $0x0,0x38(%r15)
0.01% │ ││ 0x00007fed70eb4ef3: jne 0x00007fed70eb51b8
0.13% │ ││ 0x00007fed70eb4ef9: mov 0x18(%rsp),%rbp
0.03% │ ││ 0x00007fed70eb4efe: mov %r13d,0x14(%rbp)
0.10% │ ││ 0x00007fed70eb4f02: mov %rbp,%r10
0.11% │ ││ 0x00007fed70eb4f05: mov %rbx,%r11
0.02% │ ││ 0x00007fed70eb4f08: xor %r10,%r11
0.03% │ ││ 0x00007fed70eb4f0b: shr $0x14,%r11
0.04% │ ││ 0x00007fed70eb4f0f: test %r11,%r11
│ ╭ ││ 0x00007fed70eb4f12: je 0x00007fed70eb4f29
│ │ ││ 0x00007fed70eb4f14: shr $0x9,%r10
│ │ ││ 0x00007fed70eb4f18: mov (%rsp),%r8
│ │ ││ 0x00007fed70eb4f1c: add %r10,%r8
│ │ ││ 0x00007fed70eb4f1f: cmpb $0x4,(%r8)
│ │ ││ 0x00007fed70eb4f23: jne 0x00007fed70eb51f0 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
│ │ ││ ; - java.lang.String::<init>@313 (line 577)
0.06% │ ↘ ││ 0x00007fed70eb4f29: movb $0x1,0x10(%rbp) ;*synchronization entry
│ ││ ; - java.lang.String::<init>@-1 (line 521)
0.05% │ ││ 0x00007fed70eb4f2d: vzeroupper
0.17% │ ││ 0x00007fed70eb4f30: add $0x50,%rsp
0.01% │ ││ 0x00007fed70eb4f34: pop %rbp
0.06% │ ││ 0x00007fed70eb4f35: cmp 0x338(%r15),%rsp ; {poll_return}
│ ││ 0x00007fed70eb4f3c: ja 0x00007fed70eb59c8
0.09% │ ││ 0x00007fed70eb4f42: ret
0.29% ↘ ││ 0x00007fed70eb4f43: cmp %r13d,%ebx
││ 0x00007fed70eb4f46: jge 0x00007fed70eb568a ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::<init>@159 (line 544)
││ 0x00007fed70eb4f4c: mov 0x8(%rsp),%r8d
0.01% ││ 0x00007fed70eb4f51: cmp %r8d,%ebx
││ 0x00007fed70eb4f54: jae 0x00007fed70eb53c3
││ 0x00007fed70eb4f5a: movslq %edi,%r8
0.22% ││ 0x00007fed70eb4f5d: movsbl 0x11(%r14,%r8,1),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::<init>@166 (line 546)
││ 0x00007fed70eb4f63: mov %r8d,%ebp
││ 0x00007fed70eb4f66: and $0xc0,%ebp ;*iand {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::isNotContinuation@4 (line 1038)
││ ; - java.lang.String::<init>@171 (line 547)
││ 0x00007fed70eb4f6c: cmp $0x80,%ebp
││ 0x00007fed70eb4f72: jne 0x00007fed70eb56c0 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::isNotContinuation@8 (line 1038)
││ ; - java.lang.String::<init>@171 (line 547)
0.28% ││ 0x00007fed70eb4f78: xor $0xffffff40,%r8d ;*ixor {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::decode2@9 (line 1067)
││ ; - java.lang.String::<init>@188 (line 548)
││ 0x00007fed70eb4f7f: cmp %r11d,%r9d
││ 0x00007fed70eb4f82: jae 0x00007fed70eb53f0
││ 0x00007fed70eb4f88: mov %r8b,0x10(%r10,%r9,1) ;*bastore {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::<init>@192 (line 548)
0.01% ││ 0x00007fed70eb4f8d: mov %ecx,%r9d
0.39% ││ 0x00007fed70eb4f90: add $0x2,%r9d
0.02% ││ 0x00007fed70eb4f94: cmp $0xffffffff,%r9d
0.01% ││ 0x00007fed70eb4f98: mov $0xffffffff,%r8d
0.02% ││ 0x00007fed70eb4f9e: cmovl %r8d,%r9d
0.30% ││ 0x00007fed70eb4fa2: cmp %r13d,%r9d
0.01% ││ 0x00007fed70eb4fa5: cmovg %r13d,%r9d
0.34% ││ 0x00007fed70eb4fa9: add $0x2,%edi ;*iinc {reexecute=0 rethrow=0 return_oop=0}
││ ; - java.lang.String::<init>@193 (line 549)
0.02% ││ 0x00007fed70eb4fac: cmp %r9d,%edi
╭││ 0x00007fed70eb4faf: jge 0x00007fed70eb4fb9 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
│││ ; - java.lang.String::<init>@110 (line 537)
│││ 0x00007fed70eb4fb1: mov %edx,%r9d
│╰│ 0x00007fed70eb4fb4: jmp 0x00007fed70eb4c66
0.01% ↘ │ 0x00007fed70eb4fb9: mov %r11d,0xc(%rsp)
0.01% │ 0x00007fed70eb4fbe: vmovq %r10,%xmm0
0.35% │ 0x00007fed70eb4fc3: mov %rax,%r9
0.01% │ 0x00007fed70eb4fc6: dec %r9
│ 0x00007fed70eb4fc9: mov (%rsp),%r8
│ 0x00007fed70eb4fcd: dec %r8
0.28% │ 0x00007fed70eb4fd0: mov %r8d,%r11d
0.02% │ 0x00007fed70eb4fd3: mov $0xffffffff80000000,%r10
│ 0x00007fed70eb4fda: cmp $0xffffffff80000000,%r9
0.01% │ 0x00007fed70eb4fe1: mov %r9,%rcx
0.27% │ 0x00007fed70eb4fe4: cmovl %r10,%rcx
0.01% │ 0x00007fed70eb4fe8: mov %ecx,%r10d
0.01% │ 0x00007fed70eb4feb: cmp %r9,%rax
0.42% │ 0x00007fed70eb4fee: mov %r13d,%ebx
│ 0x00007fed70eb4ff1: cmovg %r10d,%ebx
0.01% │ 0x00007fed70eb4ff5: movslq %ebx,%r10
0.29% │ 0x00007fed70eb4ff8: cmp %r8,%r10
│ 0x00007fed70eb4ffb: cmovg %r11d,%ebx
0.02% │ 0x00007fed70eb4fff: cmp %ebx,%edi
│ 0x00007fed70eb5001: jge 0x00007fed70eb564c
0.35% │ 0x00007fed70eb5007: mov %edi,%ecx
0.01% │ 0x00007fed70eb5009: nopl 0x0(%rax) ;*aload_1 {reexecute=0 rethrow=0 return_oop=0}
│ ; - java.lang.String::<init>@113 (line 538)
│ 0x00007fed70eb5010: movsbl 0x10(%r14,%rcx,1),%r8d ;*baload {reexecute=0 rethrow=0 return_oop=0}
│ ; - java.lang.String::<init>@115 (line 538)
│ 0x00007fed70eb5016: mov %edx,%r9d
0.28% │ 0x00007fed70eb5019: inc %r9d ;*iinc {reexecute=0 rethrow=0 return_oop=0}
│ ; - java.lang.String::<init>@127 (line 540)
0.02% │ 0x00007fed70eb501c: test %r8d,%r8d
╰ 0x00007fed70eb501f: jge 0x00007fed70eb4beb ;*iflt {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::<init>@120 (line 539)
0x00007fed70eb5025: cmp $0xffffffc2,%r8d
0x00007fed70eb5029: je 0x00007fed70eb58ec ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::<init>@144 (line 544)
0x00007fed70eb502f: cmp $0xffffffc3,%r8d
0x00007fed70eb5033: je 0x00007fed70eb5044 ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::<init>@151 (line 544)
0x00007fed70eb5035: vmovq %xmm0,%r10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment