Created
December 10, 2021 07:16
-
-
Save stsypanov/16c787e4f9fa3dd122522f16331b68b7 to your computer and use it in GitHub Desktop.
StackOverflow question 70272651 String constructor patched
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0x00007f6b88eb5fea: cmp $0x8,%rcx | |
╭ 0x00007f6b88eb5fee: jg 0x00007f6b88eb6000 | |
│ 0x00007f6b88eb5ff0: dec %rcx | |
│╭ 0x00007f6b88eb5ff3: js 0x00007f6b88eb6044 | |
││↗ 0x00007f6b88eb5ff5: mov %rax,(%rdi,%rcx,8) | |
│││ 0x00007f6b88eb5ff9: dec %rcx | |
││╰ 0x00007f6b88eb5ffc: jge 0x00007f6b88eb5ff5 | |
││ ╭ 0x00007f6b88eb5ffe: jmp 0x00007f6b88eb6044 | |
↘│ │ 0x00007f6b88eb6000: vpxor %ymm0,%ymm0,%ymm0 | |
│ │╭ 0x00007f6b88eb6004: jmp 0x00007f6b88eb6016 | |
0.24% │ ││↗ 0x00007f6b88eb6009: vmovdqu %ymm0,(%rdi) | |
0.05% │ │││ 0x00007f6b88eb600d: vmovdqu %ymm0,0x20(%rdi) | |
│ │││ 0x00007f6b88eb6012: add $0x40,%rdi | |
0.26% │ │↘│ 0x00007f6b88eb6016: sub $0x8,%rcx | |
│ │ ╰ 0x00007f6b88eb601a: jge 0x00007f6b88eb6009 | |
0.26% │ │ 0x00007f6b88eb601c: add $0x4,%rcx | |
│ │ ╭ 0x00007f6b88eb6020: jl 0x00007f6b88eb602e | |
│ │ │ 0x00007f6b88eb6022: vmovdqu %ymm0,(%rdi) | |
│ │ │ 0x00007f6b88eb6026: add $0x20,%rdi | |
│ │ │ 0x00007f6b88eb602a: sub $0x4,%rcx | |
0.01% │ │ ↘ 0x00007f6b88eb602e: add $0x4,%rcx | |
│ │ ╭ 0x00007f6b88eb6032: jle 0x00007f6b88eb6044 | |
│ │ │ 0x00007f6b88eb6034: dec %rcx | |
│ │ │↗ 0x00007f6b88eb6037: vmovq %xmm0,(%rdi) | |
0.19% │ │ ││ 0x00007f6b88eb603b: add $0x8,%rdi | |
│ │ ││ 0x00007f6b88eb603f: dec %rcx | |
│ │ │╰ 0x00007f6b88eb6042: jge 0x00007f6b88eb6037 ;*invokestatic inflate {reexecute=0 rethrow=0 return_oop=0} | |
│ │ │ ; - java.lang.String::<init>@276 (line 570) | |
↘ ↘ ↘ 0x00007f6b88eb6044: xor %ebx,%ebx | |
0x00007f6b88eb6046: movabs $0x7f6b7ff27000,%rcx | |
0.22% ╭ 0x00007f6b88eb6050: jmp 0x00007f6b88eb6064 | |
0.26% │↗ 0x00007f6b88eb6052: mov %dil,0x10(%r8,%rsi,1) ;*putfield value {reexecute=0 rethrow=0 return_oop=0} | |
││ ; - java.lang.String::<init>@74 (line 529) | |
0.79% ││ 0x00007f6b88eb6057: mov 0x340(%r15),%r10 ; ImmutableOopMap {r8=Oop r14=Oop [24]=Oop } | |
││ ;*goto {reexecute=1 rethrow=0 return_oop=0} | |
││ ; - (reexecute) java.lang.String::<init>@141 (line 542) | |
1.14% ││ 0x00007f6b88eb605e: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0} | |
││ ; - java.lang.String::<init>@141 (line 542) | |
││ ; {poll} | |
17.28% ││ 0x00007f6b88eb6061: mov %edx,%r10d ;*iload_2 {reexecute=0 rethrow=0 return_oop=0} | |
││ ; - java.lang.String::<init>@107 (line 537) | |
0.11% ↘│ 0x00007f6b88eb6064: test %r10d,%r10d | |
│ 0x00007f6b88eb6067: jl 0x00007f6b88eb669c ;*iflt {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@108 (line 537) | |
0.39% │ 0x00007f6b88eb606d: cmp %r13d,%r10d | |
│ 0x00007f6b88eb6070: jge 0x00007f6b88eb66d0 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@114 (line 537) | |
0.66% │ 0x00007f6b88eb6076: mov %ebx,%r9d | |
13.70% │ 0x00007f6b88eb6079: cmp 0x8(%rsp),%r10d | |
0.01% │ 0x00007f6b88eb607e: jae 0x00007f6b88eb6671 | |
0.14% │ 0x00007f6b88eb6084: movsbl 0x10(%r14,%r10,1),%edi ;*baload {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@119 (line 538) | |
0.37% │ 0x00007f6b88eb608a: mov %r9d,%ebx | |
0.99% │ 0x00007f6b88eb608d: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@131 (line 540) | |
12.88% │ 0x00007f6b88eb608f: movslq %r9d,%rsi ;*bastore {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@196 (line 548) | |
0.17% │ 0x00007f6b88eb6092: mov %r10d,%edx | |
0.39% │ 0x00007f6b88eb6095: inc %edx ;*iinc {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@138 (line 541) | |
0.96% │ 0x00007f6b88eb6097: test %edi,%edi | |
0.02% │ 0x00007f6b88eb6099: jl 0x00007f6b88eb60dc ;*iflt {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.lang.String::<init>@124 (line 539) | |
12.42% │ 0x00007f6b88eb609b: cmp %r11d,%r9d | |
╰ 0x00007f6b88eb609e: jb 0x00007f6b88eb6052 | |
0x00007f6b88eb60a0: mov $0xffffffe4,%esi | |
0x00007f6b88eb60a5: mov %r14,%rbp | |
0x00007f6b88eb60a8: mov %r10d,(%rsp) | |
0x00007f6b88eb60ac: mov %ebx,0x4(%rsp) | |
0x00007f6b88eb60b0: mov %r9d,0x8(%rsp) | |
0x00007f6b88eb60b5: mov %edi,0xc(%rsp) | |
0x00007f6b88eb60b9: mov 0x18(%rsp),%r10 | |
0x00007f6b88eb60be: mov %r10,0x10(%rsp) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment