Skip to content

Instantly share code, notes, and snippets.

@Mark-Simulacrum
Last active October 11, 2021 15:40
Show Gist options
  • Save Mark-Simulacrum/63798c060ae70c28e780e9b7a543cc9e to your computer and use it in GitHub Desktop.
Save Mark-Simulacrum/63798c060ae70c28e780e9b7a543cc9e to your computer and use it in GitHub Desktop.
_ZN14rustc_metadata5rmeta7decoder152_$LT$impl$u20$rustc_serialize..serialize..Decodable$LT$rustc_metadata..rmeta..decoder..DecodeContext$GT$$u20$for$u20$rustc_span..span_encoding..Span$GT$6decode17h56a8c16a1408399cE
/home/mark/.rustup/toolchains/c2a408840ad18f74280805535f0b7193528ff3df/lib/librustc_driver-f74eb93698df5a7b.so: file format elf64-x86-64
Disassembly of section .text:
<_ZN14rustc_metadata5rmeta7decoder152_$LT$impl$u20$rustc_serialize..serialize..Decodable$LT$rustc_metadata..rmeta..decoder..DecodeContext$GT$$u20$for$u20$rustc_span..span_encoding..Span$GT$6decode17h56a8c16a1408399cE>:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 136
mov rbp, rsi
mov r14, rdi
lea rdi, [rsp + 48]
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1e08>
cmp dword ptr [rsp + 48], 1
je <L0>
mov r15, qword ptr [rbp + 8]
mov rdi, qword ptr [rbp + 16]
mov rsi, rdi
sub rsi, r15
jae <L1>
mov r9d, dword ptr [rsp + 52]
mov rbx, qword ptr [rbp]
mov cl, byte ptr [rbx + rdi]
lea rax, [rdi + 1]
mov qword ptr [rsp + 16], rbp
mov qword ptr [rbp + 16], rax
mov byte ptr [rsp + 11], cl
cmp cl, 2
je <L2>
mov rbp, r15
sub rbp, rax
je <L3>
mov r10, r14
mov r8, r15
sub r8, rdi
lea r13, [r8 - 3]
mov rax, rdi
not rax
add rax, r15
lea r12, [rbx + rdi]
xor r11d, r11d
xor ecx, ecx
xor edx, edx
<L5>:
movzx r14d, byte ptr [r12 + r11 + 1]
test r14b, r14b
jns <L4>
add r11, 1
and r14d, 127
shl r14d, cl
or edx, r14d
add ecx, 7
add r13, -1
cmp rax, r11
jne <L5>
<L3>:
lea rdx, <anon.a0717fc81ca4c206e2f2cda1098faacd.50.llvm.1007553926701250712>
mov rdi, rbp
mov rsi, rbp
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L4>:
mov qword ptr [rsp + 32], rbx
mov qword ptr [rsp + 96], r9
mov qword ptr [rsp + 40], r10
lea rbp, [rdi + r11]
add rbp, 2
mov rax, qword ptr [rsp + 16]
mov qword ptr [rax + 16], rbp
shl r14d, cl
cmp r15, rbp
jb <L6>
mov rbx, r8
sub rbx, r11
add rbx, -2
lea rax, [r8 - 2]
cmp rax, r11
je <L7>
or r14d, edx
lea r10, [rdi + r11]
add r10, 4
xor edx, edx
mov r9, r11
xor ecx, ecx
mov dword ptr [rsp + 28], 0
<L9>:
lea rax, [r12 + rdx]
movzx ebp, byte ptr [r11 + rax + 2]
test bpl, bpl
jns <L8>
add rdx, 1
and ebp, 127
shl ebp, cl
or dword ptr [rsp + 28], ebp
add ecx, 7
add r10, 1
add r9, 1
cmp rbx, rdx
jne <L9>
<L7>:
lea rdx, <anon.a0717fc81ca4c206e2f2cda1098faacd.50.llvm.1007553926701250712>
mov rdi, rbx
mov rsi, rbx
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L8>:
lea rax, [rdi + r11]
shl ebp, cl
lea rcx, [rdx + rax]
add rcx, 3
mov rax, qword ptr [rsp + 16]
mov qword ptr [rax + 16], rcx
mov r12, qword ptr [rax + 40]
test r12, r12
je <L10>
cmp byte ptr [rsp + 11], 0
jne <L11>
mov rbx, qword ptr [rsp + 16]
mov rax, qword ptr [rbx + 24]
test rax, rax
je <L12>
mov rcx, qword ptr [rbx + 32]
mov qword ptr [rsp + 48], rax
mov qword ptr [rsp + 56], rcx
lea rdi, [rsp + 48]
mov rsi, r12
call <_ZN14rustc_metadata5rmeta7decoder59_$LT$impl$u20$rustc_metadata..creader..CrateMetadataRef$GT$21imported_source_files17h142776fd79b3618aE>
<L33>:
mov rdi, qword ptr [rbx + 56]
cmp rdi, rdx
mov r9, qword ptr [rsp + 96]
jae <L13>
mov rsi, rdi
shl rsi, 4
mov ecx, dword ptr [rax + rsi + 8]
cmp r14d, ecx
jb <L14>
cmp r14d, dword ptr [rax + rsi + 12]
ja <L14>
<L24>:
shl rdi, 4
mov rax, qword ptr [rax + rdi]
add r14d, dword ptr [rax + 232]
or ebp, dword ptr [rsp + 28]
mov eax, r14d
sub eax, ecx
sub ebp, ecx
add ebp, r14d
mov dword ptr [rsp + 24], eax
mov dword ptr [rsp + 12], ebp
mov dword ptr [rsp + 104], r9d
cmp eax, ebp
ja <L15>
mov ebx, ebp
mov ebp, eax
<L41>:
mov r14, qword ptr [rsp + 40]
sub ebx, ebp
cmp r9d, 65536
setb al
cmp ebx, 32768
jae <L16>
<L34>:
test al, al
je <L17>
shl r9, 48
shl rbx, 32
<L35>:
or r9, rbx
mov eax, ebp
or rax, r9
mov qword ptr [r14 + 4], rax
<L37>:
xor eax, eax
<L40>:
mov dword ptr [r14], eax
mov rax, r14
add rsp, 136
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
<L14>:
xor edi, edi
mov rbx, rdx
xor esi, esi
mov r8, rdx
jmp <L18>
nop word ptr cs:[rax + rax]
<L20>:
add rbx, 1
mov rsi, rbx
mov rbx, r8
sub rbx, rsi
jbe <L19>
<L18>:
shr rbx
add rbx, rsi
mov rcx, rbx
shl rcx, 4
cmp dword ptr [rax + rcx + 8], r14d
jb <L20>
je <L21>
mov r8, rbx
sub rbx, rsi
ja <L18>
<L19>:
mov rdi, -1
mov rbx, rsi
<L21>:
add rdi, rbx
cmp byte ptr [rsp + 11], 0
jne <L22>
mov rcx, qword ptr [rsp + 16]
mov qword ptr [rcx + 56], rdi
<L22>:
cmp rdi, rdx
jae <L23>
mov rcx, rdi
shl rcx, 4
mov ecx, dword ptr [rax + rcx + 8]
jmp <L24>
<L11>:
mov rax, qword ptr [rsp + 16]
mov rbx, qword ptr [rax + 24]
test rbx, rbx
je <L12>
cmp dword ptr [rbx + 280], 4294967041
jne <L25>
cmp r15, rcx
jb <L26>
add rsi, r11
add rsi, rdx
cmp rsi, -3
je <L27>
mov rax, qword ptr [rsp + 16]
mov r11, qword ptr [rax + 32]
add r8, -3
mov rax, qword ptr [rsp + 32]
add rdi, rax
add rdi, 3
xor ecx, ecx
xor r15d, r15d
<L47>:
movzx eax, byte ptr [rdi + r9]
test al, al
js <L28>
shl eax, cl
or eax, r15d
mov rcx, qword ptr [rsp + 16]
mov qword ptr [rcx + 16], r10
cmp eax, 4294967041
jae <L29>
test eax, eax
jne <L30>
add rbx, 1400
mov rdi, rbx
<L39>:
mov edi, dword ptr [rdi]
mov rax, qword ptr [rsp + 16]
mov qword ptr [rax + 56], 0
mov dword ptr [rsp + 12], edi
mov rsi, qword ptr [r11 + 16]
cmp rsi, rdi
jbe <L31>
mov rax, qword ptr [r11]
mov rax, qword ptr [rax + 8*rdi]
test rax, rax
je <L32>
add rax, 16
lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov qword ptr [rdi + 8], r11
mov rsi, r12
call <_ZN14rustc_metadata5rmeta7decoder59_$LT$impl$u20$rustc_metadata..creader..CrateMetadataRef$GT$21imported_source_files17h142776fd79b3618aE>
mov rbx, qword ptr [rsp + 16]
jmp <L33>
<L16>:
xor eax, eax
jmp <L34>
<L17>:
movabs rbx, 140737488355328
lea rax, [rsp + 24]
lea rsi, [rsp + 48]
mov qword ptr [rsi], rax
lea rax, [rsp + 12]
mov qword ptr [rsi + 8], rax
lea rax, [rsp + 104]
mov qword ptr [rsi + 16], rax
mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb580>
call <_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17hd642780fdc8ce96cE>
mov ebp, eax
xor r9d, r9d
jmp <L35>
<L2>:
xor eax, eax
mov dword ptr [rsp + 24], eax
mov dword ptr [rsp + 12], eax
mov dword ptr [rsp + 104], r9d
cmp r9d, 65536
jae <L36>
shl r9, 48
xor ebp, ebp
xor eax, eax
<L48>:
or r9, rax
or r9, rbp
mov qword ptr [r14 + 4], r9
jmp <L37>
<L30>:
mov edi, eax
mov rsi, qword ptr [rbx + 1160]
cmp rsi, rdi
jbe <L38>
shl rdi, 2
add rdi, qword ptr [rbx + 1144]
jmp <L39>
<L0>:
mov rax, qword ptr [rsp + 72]
mov qword ptr [r14 + 24], rax
movups xmm0, xmmword ptr [rsp + 56]
movups xmmword ptr [r14 + 8], xmm0
mov eax, 1
jmp <L40>
<L1>:
lea rdx, <anon.e87f1fadd4da8da2b4f6e65e8fd5124c.304.llvm.16007311995058856452>
mov rsi, r15
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L6>:
lea rdx, <anon.a0717fc81ca4c206e2f2cda1098faacd.84.llvm.1007553926701250712>
mov rdi, rbp
<L46>:
mov rsi, r15
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x93c0>
ud2
<L10>:
lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.507.llvm.9453075260395524301>
lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov qword ptr [rdi + 8], 1
xor eax, eax
mov qword ptr [rdi + 16], rax
lea rcx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.121.llvm.9453075260395524301>
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
lea rsi, <anon.1cd652b50bd5032e2f19ebc02b92bb65.508.llvm.9453075260395524301>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0xa98>
ud2
<L12>:
lea rdi, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.33.llvm.13066286459596371790>
lea rdx, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.34.llvm.13066286459596371790>
mov esi, 38
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x4ce8>
ud2
<L13>:
lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.513.llvm.9453075260395524301>
<L42>:
mov rsi, rdx
mov rdx, rax
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L15>:
mov dword ptr [rsp + 24], ebp
mov dword ptr [rsp + 12], eax
mov ebx, eax
jmp <L41>
<L23>:
lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.514.llvm.9453075260395524301>
jmp <L42>
<L25>:
cmp r15, rcx
jb <L43>
add rsi, r11
add rsi, rdx
cmp rsi, -3
je <L44>
lea rbp, [rdi + 3]
sub rbp, r15
add rbp, r9
mov rax, qword ptr [rsp + 32]
lea rbx, [rax + rdi]
add rbx, 3
xor r8d, r8d
xor ecx, ecx
xor edi, edi
<L49>:
movzx eax, byte ptr [rbx + r9]
test al, al
js <L45>
shl eax, cl
or eax, edi
sub r10, r8
mov rdi, qword ptr [rsp + 16]
mov qword ptr [rdi + 16], r10
lea rbx, [rsp + 12]
mov dword ptr [rbx], eax
call qword ptr <_GLOBAL_OFFSET_TABLE_+0xe540>
add rax, 864
lea rcx, [rsp + 104]
mov qword ptr [rcx], rax
mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0x9b10>
mov qword ptr [rcx + 8], rax
mov qword ptr [rcx + 16], rbx
lea rax, <_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17ha986ba276ee666e6E.llvm.9453075260395524301>
mov qword ptr [rcx + 24], rax
lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.511.llvm.9453075260395524301>
lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov eax, 2
mov qword ptr [rdi + 8], rax
mov qword ptr [rdi + 16], 0
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
lea rsi, <anon.1cd652b50bd5032e2f19ebc02b92bb65.512.llvm.9453075260395524301>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1670>
ud2
<L26>:
lea rdx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.171.llvm.9453075260395524301>
<L51>:
mov rdi, rcx
jmp <L46>
<L28>:
and eax, 127
shl eax, cl
or r15d, eax
add ecx, 7
inc r10
inc r9
cmp r8, r9
jne <L47>
<L27>:
sub r13, rdx
lea rdx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.89.llvm.9453075260395524301>
<L50>:
mov rdi, r13
mov rsi, r13
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L29>:
lea rdx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.8.llvm.9453075260395524301>
mov edi, 1
mov esi, 1
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L31>:
lea rdx, <anon.7d36bc0cf9441e6b00af78b7ce61e2dc.130.llvm.1229212643012722551>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L32>:
lea rax, [rsp + 12]
lea rcx, [rsp + 104]
mov qword ptr [rcx], rax
mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0xee40>
mov qword ptr [rcx + 8], rax
lea rax, <anon.7d36bc0cf9441e6b00af78b7ce61e2dc.132.llvm.1229212643012722551>
lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov eax, 1
mov qword ptr [rdi + 8], rax
mov qword ptr [rdi + 16], 0
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
lea rsi, <anon.7d36bc0cf9441e6b00af78b7ce61e2dc.133.llvm.1229212643012722551>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1670>
ud2
<L36>:
movabs rbp, 140737488355328
lea rax, [rsp + 24]
lea rsi, [rsp + 48]
mov qword ptr [rsi], rax
lea rax, [rsp + 12]
mov qword ptr [rsi + 8], rax
lea rax, [rsp + 104]
mov qword ptr [rsi + 16], rax
mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb580>
call <_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17hd642780fdc8ce96cE>
mov eax, eax
xor r9d, r9d
jmp <L48>
<L38>:
lea rdx, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.35.llvm.13066286459596371790>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L45>:
and eax, 127
shl eax, cl
or edi, eax
add ecx, 7
dec r8
inc rbx
cmp rbp, r8
jne <L49>
<L44>:
sub r13, rdx
lea rdx, <anon.e87f1fadd4da8da2b4f6e65e8fd5124c.249.llvm.16007311995058856452>
jmp <L50>
<L43>:
lea rdx, <anon.e87f1fadd4da8da2b4f6e65e8fd5124c.308.llvm.16007311995058856452>
jmp <L51>
nop word ptr cs:[rax + rax]
nop dword ptr [rax]
--- /tmp/before.asm 2021-10-11 11:34:52.436354435 -0400
+++ /tmp/after.asm 2021-10-11 11:34:43.216159646 -0400
@@ -1,6 +1,6 @@
_ZN14rustc_metadata5rmeta7decoder152_$LT$impl$u20$rustc_serialize..serialize..Decodable$LT$rustc_metadata..rmeta..decoder..DecodeContext$GT$$u20$for$u20$rustc_span..span_encoding..Span$GT$6decode17h56a8c16a1408399cE
-/home/mark/.rustup/toolchains/a3956106d12cebec91be0637759e29ab6908b4cd/lib/librustc_driver-f74eb93698df5a7b.so: file format elf64-x86-64
+/home/mark/.rustup/toolchains/c2a408840ad18f74280805535f0b7193528ff3df/lib/librustc_driver-f74eb93698df5a7b.so: file format elf64-x86-64
Disassembly of section .text:
@@ -11,114 +11,130 @@
push r13
push r12
push rbx
- sub rsp, 104
- mov r13, rsi
- mov r15, rdi
- lea rdi, [rsp + 16]
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1e38>
- cmp dword ptr [rsp + 16], 1
+ sub rsp, 136
+ mov rbp, rsi
+ mov r14, rdi
+ lea rdi, [rsp + 48]
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1e08>
+ cmp dword ptr [rsp + 48], 1
je <L0>
- mov rsi, qword ptr [r13 + 8]
- mov rdi, qword ptr [r13 + 16]
- cmp rdi, rsi
+ mov r15, qword ptr [rbp + 8]
+ mov rdi, qword ptr [rbp + 16]
+ mov rsi, rdi
+ sub rsi, r15
jae <L1>
- mov r11d, dword ptr [rsp + 20]
- mov r8, qword ptr [r13]
- mov cl, byte ptr [r8 + rdi]
+ mov r9d, dword ptr [rsp + 52]
+ mov rbx, qword ptr [rbp]
+ mov cl, byte ptr [rbx + rdi]
lea rax, [rdi + 1]
- mov qword ptr [r13 + 16], rax
- mov byte ptr [rsp + 7], cl
+ mov qword ptr [rsp + 16], rbp
+ mov qword ptr [rbp + 16], rax
+ mov byte ptr [rsp + 11], cl
cmp cl, 2
je <L2>
- mov r9, rsi
- sub r9, rax
+ mov rbp, r15
+ sub rbp, rax
je <L3>
- mov rbx, rdi
- not rbx
- add rbx, rsi
- lea rax, [rdi + r8]
- add rax, 1
- xor edx, edx
+ mov r10, r14
+ mov r8, r15
+ sub r8, rdi
+ lea r13, [r8 - 3]
+ mov rax, rdi
+ not rax
+ add rax, r15
+ lea r12, [rbx + rdi]
+ xor r11d, r11d
xor ecx, ecx
- xor ebp, ebp
+ xor edx, edx
<L5>:
- movzx r14d, byte ptr [rax + rdx]
+ movzx r14d, byte ptr [r12 + r11 + 1]
test r14b, r14b
jns <L4>
+ add r11, 1
and r14d, 127
shl r14d, cl
- add rdx, 1
- or ebp, r14d
+ or edx, r14d
add ecx, 7
- cmp rbx, rdx
+ add r13, -1
+ cmp rax, r11
jne <L5>
- jmp <L3>
+<L3>:
+ lea rdx, <anon.a0717fc81ca4c206e2f2cda1098faacd.50.llvm.1007553926701250712>
+ mov rdi, rbp
+ mov rsi, rbp
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
+ ud2
<L4>:
- lea rax, [rdi + rdx]
- add rax, 2
- mov qword ptr [r13 + 16], rax
+ mov qword ptr [rsp + 32], rbx
+ mov qword ptr [rsp + 96], r9
+ mov qword ptr [rsp + 40], r10
+ lea rbp, [rdi + r11]
+ add rbp, 2
+ mov rax, qword ptr [rsp + 16]
+ mov qword ptr [rax + 16], rbp
shl r14d, cl
- cmp rsi, rax
+ cmp r15, rbp
jb <L6>
- mov r9, rsi
- sub r9, rdi
- lea r10, [r9 - 2]
- cmp r10, rdx
+ mov rbx, r8
+ sub rbx, r11
+ add rbx, -2
+ lea rax, [r8 - 2]
+ cmp rax, r11
je <L7>
- or r14d, ebp
- lea rbx, [rdi + r8]
- add rbx, 2
+ or r14d, edx
+ lea r10, [rdi + r11]
+ add r10, 4
+ xor edx, edx
+ mov r9, r11
xor ecx, ecx
- mov rax, rdx
- xor r12d, r12d
+ mov dword ptr [rsp + 28], 0
<L9>:
- movzx ebp, byte ptr [rbx + rax]
+ lea rax, [r12 + rdx]
+ movzx ebp, byte ptr [r11 + rax + 2]
test bpl, bpl
jns <L8>
+ add rdx, 1
and ebp, 127
shl ebp, cl
- or r12d, ebp
+ or dword ptr [rsp + 28], ebp
add ecx, 7
- add rax, 1
- cmp r10, rax
+ add r10, 1
+ add r9, 1
+ cmp rbx, rdx
jne <L9>
<L7>:
- sub r9, rdx
- add r9, -2
-<L3>:
- lea rdx, <anon.ce0392c6b8dbecd030883108f41f418e.62.llvm.13703834297407300257>
-<L43>:
- mov rdi, r9
- mov rsi, r9
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
+ lea rdx, <anon.a0717fc81ca4c206e2f2cda1098faacd.50.llvm.1007553926701250712>
+ mov rdi, rbx
+ mov rsi, rbx
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L8>:
- mov qword ptr [rsp + 64], r15
+ lea rax, [rdi + r11]
shl ebp, cl
- lea rcx, [rdi + rax]
+ lea rcx, [rdx + rax]
add rcx, 3
- mov qword ptr [r13 + 16], rcx
- mov r15, qword ptr [r13 + 40]
- test r15, r15
+ mov rax, qword ptr [rsp + 16]
+ mov qword ptr [rax + 16], rcx
+ mov r12, qword ptr [rax + 40]
+ test r12, r12
je <L10>
- cmp byte ptr [rsp + 7], 0
+ cmp byte ptr [rsp + 11], 0
jne <L11>
- mov rax, qword ptr [r13 + 24]
+ mov rbx, qword ptr [rsp + 16]
+ mov rax, qword ptr [rbx + 24]
test rax, rax
je <L12>
- mov rbx, r11
- mov rcx, qword ptr [r13 + 32]
- mov qword ptr [rsp + 16], rax
- mov qword ptr [rsp + 24], rcx
- lea rdi, [rsp + 16]
-<L29>:
- mov rsi, r15
+ mov rcx, qword ptr [rbx + 32]
+ mov qword ptr [rsp + 48], rax
+ mov qword ptr [rsp + 56], rcx
+ lea rdi, [rsp + 48]
+ mov rsi, r12
call <_ZN14rustc_metadata5rmeta7decoder59_$LT$impl$u20$rustc_metadata..creader..CrateMetadataRef$GT$21imported_source_files17h142776fd79b3618aE>
- mov rdi, qword ptr [r13 + 56]
+<L33>:
+ mov rdi, qword ptr [rbx + 56]
cmp rdi, rdx
- mov r15, qword ptr [rsp + 64]
+ mov r9, qword ptr [rsp + 96]
jae <L13>
- mov r9, rbx
mov rsi, rdi
shl rsi, 4
mov ecx, dword ptr [rax + rsi + 8]
@@ -130,40 +146,41 @@
shl rdi, 4
mov rax, qword ptr [rax + rdi]
add r14d, dword ptr [rax + 232]
- or ebp, r12d
+ or ebp, dword ptr [rsp + 28]
mov eax, r14d
sub eax, ecx
sub ebp, ecx
add ebp, r14d
- mov dword ptr [rsp + 12], eax
- mov dword ptr [rsp + 8], ebp
- mov dword ptr [rsp + 72], r9d
+ mov dword ptr [rsp + 24], eax
+ mov dword ptr [rsp + 12], ebp
+ mov dword ptr [rsp + 104], r9d
cmp eax, ebp
ja <L15>
mov ebx, ebp
mov ebp, eax
-<L35>:
+<L41>:
+ mov r14, qword ptr [rsp + 40]
sub ebx, ebp
cmp r9d, 65536
setb al
cmp ebx, 32768
jae <L16>
-<L30>:
+<L34>:
test al, al
je <L17>
shl r9, 48
shl rbx, 32
-<L31>:
+<L35>:
or r9, rbx
mov eax, ebp
or rax, r9
- mov qword ptr [r15 + 4], rax
-<L33>:
+ mov qword ptr [r14 + 4], rax
+<L37>:
xor eax, eax
-<L34>:
- mov dword ptr [r15], eax
- mov rax, r15
- add rsp, 104
+<L40>:
+ mov dword ptr [r14], eax
+ mov rax, r14
+ add rsp, 136
pop rbx
pop r12
pop r13
@@ -177,7 +194,7 @@
xor esi, esi
mov r8, rdx
jmp <L18>
- nop dword ptr [rax + rax]
+ nop word ptr cs:[rax + rax]
<L20>:
add rbx, 1
mov rsi, rbx
@@ -200,9 +217,10 @@
mov rbx, rsi
<L21>:
add rdi, rbx
- cmp byte ptr [rsp + 7], 0
+ cmp byte ptr [rsp + 11], 0
jne <L22>
- mov qword ptr [r13 + 56], rdi
+ mov rcx, qword ptr [rsp + 16]
+ mov qword ptr [rcx + 56], rdi
<L22>:
cmp rdi, rdx
jae <L23>
@@ -211,219 +229,282 @@
mov ecx, dword ptr [rax + rcx + 8]
jmp <L24>
<L11>:
- mov rdx, qword ptr [r13 + 24]
- test rdx, rdx
+ mov rax, qword ptr [rsp + 16]
+ mov rbx, qword ptr [rax + 24]
+ test rbx, rbx
je <L12>
- cmp dword ptr [rdx + 280], 4294967041
+ cmp dword ptr [rbx + 280], 4294967041
jne <L25>
- mov rbx, r11
- lea rdi, [rsp + 16]
- mov rsi, r13
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x8c38>
- lea rax, [rsp + 16]
- cmp dword ptr [rax], 1
- je <L26>
- mov edi, dword ptr [rsp + 20]
- mov qword ptr [r13 + 56], 0
- cmp qword ptr [r13 + 24], 0
- je <L12>
- mov rax, qword ptr [r13 + 32]
- mov dword ptr [rsp + 8], edi
- mov rsi, qword ptr [rax + 16]
+ cmp r15, rcx
+ jb <L26>
+ add rsi, r11
+ add rsi, rdx
+ cmp rsi, -3
+ je <L27>
+ mov rax, qword ptr [rsp + 16]
+ mov r11, qword ptr [rax + 32]
+ add r8, -3
+ mov rax, qword ptr [rsp + 32]
+ add rdi, rax
+ add rdi, 3
+ xor ecx, ecx
+ xor r15d, r15d
+<L47>:
+ movzx eax, byte ptr [rdi + r9]
+ test al, al
+ js <L28>
+ shl eax, cl
+ or eax, r15d
+ mov rcx, qword ptr [rsp + 16]
+ mov qword ptr [rcx + 16], r10
+ cmp eax, 4294967041
+ jae <L29>
+ test eax, eax
+ jne <L30>
+ add rbx, 1400
+ mov rdi, rbx
+<L39>:
+ mov edi, dword ptr [rdi]
+ mov rax, qword ptr [rsp + 16]
+ mov qword ptr [rax + 56], 0
+ mov dword ptr [rsp + 12], edi
+ mov rsi, qword ptr [r11 + 16]
cmp rsi, rdi
- jbe <L27>
- mov rcx, qword ptr [rax]
- mov rcx, qword ptr [rcx + 8*rdi]
- test rcx, rcx
- je <L28>
- add rcx, 16
- lea rdi, [rsp + 16]
- mov qword ptr [rdi], rcx
- mov qword ptr [rdi + 8], rax
- jmp <L29>
+ jbe <L31>
+ mov rax, qword ptr [r11]
+ mov rax, qword ptr [rax + 8*rdi]
+ test rax, rax
+ je <L32>
+ add rax, 16
+ lea rdi, [rsp + 48]
+ mov qword ptr [rdi], rax
+ mov qword ptr [rdi + 8], r11
+ mov rsi, r12
+ call <_ZN14rustc_metadata5rmeta7decoder59_$LT$impl$u20$rustc_metadata..creader..CrateMetadataRef$GT$21imported_source_files17h142776fd79b3618aE>
+ mov rbx, qword ptr [rsp + 16]
+ jmp <L33>
<L16>:
xor eax, eax
- jmp <L30>
+ jmp <L34>
<L17>:
movabs rbx, 140737488355328
- lea rax, [rsp + 12]
- lea rsi, [rsp + 16]
+ lea rax, [rsp + 24]
+ lea rsi, [rsp + 48]
mov qword ptr [rsi], rax
- lea rax, [rsp + 8]
+ lea rax, [rsp + 12]
mov qword ptr [rsi + 8], rax
- lea rax, [rsp + 72]
+ lea rax, [rsp + 104]
mov qword ptr [rsi + 16], rax
- mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb530>
+ mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb580>
call <_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17hd642780fdc8ce96cE>
mov ebp, eax
xor r9d, r9d
- jmp <L31>
+ jmp <L35>
<L2>:
xor eax, eax
+ mov dword ptr [rsp + 24], eax
mov dword ptr [rsp + 12], eax
- mov dword ptr [rsp + 8], eax
- mov dword ptr [rsp + 72], r11d
- cmp r11d, 65536
- jae <L32>
- shl r11, 48
- xor ebx, ebx
+ mov dword ptr [rsp + 104], r9d
+ cmp r9d, 65536
+ jae <L36>
+ shl r9, 48
+ xor ebp, ebp
xor eax, eax
-<L41>:
- or r11, rax
- or r11, rbx
- mov qword ptr [r15 + 4], r11
- jmp <L33>
-<L12>:
- lea rdi, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.33.llvm.10815678240224427371>
- lea rdx, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.34.llvm.10815678240224427371>
- mov esi, 38
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x4c88>
- ud2
+<L48>:
+ or r9, rax
+ or r9, rbp
+ mov qword ptr [r14 + 4], r9
+ jmp <L37>
+<L30>:
+ mov edi, eax
+ mov rsi, qword ptr [rbx + 1160]
+ cmp rsi, rdi
+ jbe <L38>
+ shl rdi, 2
+ add rdi, qword ptr [rbx + 1144]
+ jmp <L39>
<L0>:
- mov rax, qword ptr [rsp + 40]
-<L40>:
- mov qword ptr [r15 + 24], rax
- movups xmm0, xmmword ptr [rsp + 24]
- movups xmmword ptr [r15 + 8], xmm0
+ mov rax, qword ptr [rsp + 72]
+ mov qword ptr [r14 + 24], rax
+ movups xmm0, xmmword ptr [rsp + 56]
+ movups xmmword ptr [r14 + 8], xmm0
mov eax, 1
- jmp <L34>
+ jmp <L40>
<L1>:
- lea rdx, <anon.6ff6007f900e1ab8754c9e72d2656ce6.304.llvm.11206678561672701557>
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
+ lea rdx, <anon.e87f1fadd4da8da2b4f6e65e8fd5124c.304.llvm.16007311995058856452>
+ mov rsi, r15
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L6>:
- lea rdx, <anon.ce0392c6b8dbecd030883108f41f418e.112.llvm.13703834297407300257>
- mov rdi, rax
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x9330>
+ lea rdx, <anon.a0717fc81ca4c206e2f2cda1098faacd.84.llvm.1007553926701250712>
+ mov rdi, rbp
+<L46>:
+ mov rsi, r15
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x93c0>
ud2
<L10>:
- lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.335.llvm.13703834297407300257>
- lea rdi, [rsp + 16]
+ lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.507.llvm.9453075260395524301>
+ lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov qword ptr [rdi + 8], 1
xor eax, eax
mov qword ptr [rdi + 16], rax
- lea rcx, <anon.ce0392c6b8dbecd030883108f41f418e.99.llvm.13703834297407300257>
+ lea rcx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.121.llvm.9453075260395524301>
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
- lea rsi, <anon.ce0392c6b8dbecd030883108f41f418e.336.llvm.13703834297407300257>
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0xab0>
+ lea rsi, <anon.1cd652b50bd5032e2f19ebc02b92bb65.508.llvm.9453075260395524301>
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0xa98>
+ ud2
+<L12>:
+ lea rdi, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.33.llvm.13066286459596371790>
+ lea rdx, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.34.llvm.13066286459596371790>
+ mov esi, 38
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x4ce8>
ud2
<L13>:
- lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.341.llvm.13703834297407300257>
-<L36>:
+ lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.513.llvm.9453075260395524301>
+<L42>:
mov rsi, rdx
mov rdx, rax
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
<L15>:
- mov dword ptr [rsp + 12], ebp
- mov dword ptr [rsp + 8], eax
+ mov dword ptr [rsp + 24], ebp
+ mov dword ptr [rsp + 12], eax
mov ebx, eax
- jmp <L35>
+ jmp <L41>
<L23>:
- lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.342.llvm.13703834297407300257>
- jmp <L36>
+ lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.514.llvm.9453075260395524301>
+ jmp <L42>
<L25>:
- cmp rsi, rcx
- jb <L37>
- lea r10, [r9 - 3]
- cmp r10, rax
- je <L38>
- lea rdx, [rdi + rax]
- add rdx, 4
- lea rbp, [rdi + r8]
- add rbp, 3
+ cmp r15, rcx
+ jb <L43>
+ add rsi, r11
+ add rsi, rdx
+ cmp rsi, -3
+ je <L44>
+ lea rbp, [rdi + 3]
+ sub rbp, r15
+ add rbp, r9
+ mov rax, qword ptr [rsp + 32]
+ lea rbx, [rax + rdi]
+ add rbx, 3
+ xor r8d, r8d
xor ecx, ecx
- mov rbx, rax
xor edi, edi
-<L42>:
- movzx esi, byte ptr [rbp + rbx]
- test sil, sil
- js <L39>
- shl esi, cl
- or esi, edi
- mov qword ptr [r13 + 16], rdx
- lea rbx, [rsp + 8]
- mov dword ptr [rbx], esi
- mov rdi, r13
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0xe4f8>
+<L49>:
+ movzx eax, byte ptr [rbx + r9]
+ test al, al
+ js <L45>
+ shl eax, cl
+ or eax, edi
+ sub r10, r8
+ mov rdi, qword ptr [rsp + 16]
+ mov qword ptr [rdi + 16], r10
+ lea rbx, [rsp + 12]
+ mov dword ptr [rbx], eax
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0xe540>
add rax, 864
- lea rcx, [rsp + 72]
+ lea rcx, [rsp + 104]
mov qword ptr [rcx], rax
- mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0x9a98>
+ mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0x9b10>
mov qword ptr [rcx + 8], rax
mov qword ptr [rcx + 16], rbx
- lea rax, <_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17ha986ba276ee666e6E.llvm.13703834297407300257>
+ lea rax, <_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17ha986ba276ee666e6E.llvm.9453075260395524301>
mov qword ptr [rcx + 24], rax
- lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.339.llvm.13703834297407300257>
- lea rdi, [rsp + 16]
+ lea rax, <anon.1cd652b50bd5032e2f19ebc02b92bb65.511.llvm.9453075260395524301>
+ lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov eax, 2
mov qword ptr [rdi + 8], rax
mov qword ptr [rdi + 16], 0
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
- lea rsi, <anon.ce0392c6b8dbecd030883108f41f418e.340.llvm.13703834297407300257>
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x16a8>
+ lea rsi, <anon.1cd652b50bd5032e2f19ebc02b92bb65.512.llvm.9453075260395524301>
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1670>
ud2
<L26>:
- mov rax, qword ptr [rsp + 40]
- mov r15, qword ptr [rsp + 64]
- jmp <L40>
+ lea rdx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.171.llvm.9453075260395524301>
+<L51>:
+ mov rdi, rcx
+ jmp <L46>
+<L28>:
+ and eax, 127
+ shl eax, cl
+ or r15d, eax
+ add ecx, 7
+ inc r10
+ inc r9
+ cmp r8, r9
+ jne <L47>
<L27>:
- lea rdx, <anon.44f4a5c2fa074cc0705d0ee8e8233242.130.llvm.6697860808261543402>
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
+ sub r13, rdx
+ lea rdx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.89.llvm.9453075260395524301>
+<L50>:
+ mov rdi, r13
+ mov rsi, r13
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
-<L28>:
- lea rax, [rsp + 8]
- lea rcx, [rsp + 72]
+<L29>:
+ lea rdx, <anon.1cd652b50bd5032e2f19ebc02b92bb65.8.llvm.9453075260395524301>
+ mov edi, 1
+ mov esi, 1
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
+ ud2
+<L31>:
+ lea rdx, <anon.7d36bc0cf9441e6b00af78b7ce61e2dc.130.llvm.1229212643012722551>
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
+ ud2
+<L32>:
+ lea rax, [rsp + 12]
+ lea rcx, [rsp + 104]
mov qword ptr [rcx], rax
- mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0xee18>
+ mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0xee40>
mov qword ptr [rcx + 8], rax
- lea rax, <anon.44f4a5c2fa074cc0705d0ee8e8233242.132.llvm.6697860808261543402>
- lea rdi, [rsp + 16]
+ lea rax, <anon.7d36bc0cf9441e6b00af78b7ce61e2dc.132.llvm.1229212643012722551>
+ lea rdi, [rsp + 48]
mov qword ptr [rdi], rax
mov eax, 1
mov qword ptr [rdi + 8], rax
mov qword ptr [rdi + 16], 0
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
- lea rsi, <anon.44f4a5c2fa074cc0705d0ee8e8233242.133.llvm.6697860808261543402>
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x16a8>
+ lea rsi, <anon.7d36bc0cf9441e6b00af78b7ce61e2dc.133.llvm.1229212643012722551>
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1670>
ud2
-<L32>:
- movabs rbx, 140737488355328
- lea rax, [rsp + 12]
- lea rsi, [rsp + 16]
+<L36>:
+ movabs rbp, 140737488355328
+ lea rax, [rsp + 24]
+ lea rsi, [rsp + 48]
mov qword ptr [rsi], rax
- lea rax, [rsp + 8]
+ lea rax, [rsp + 12]
mov qword ptr [rsi + 8], rax
- lea rax, [rsp + 72]
+ lea rax, [rsp + 104]
mov qword ptr [rsi + 16], rax
- mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb530>
+ mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb580>
call <_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17hd642780fdc8ce96cE>
mov eax, eax
- xor r11d, r11d
- jmp <L41>
-<L39>:
- and esi, 127
- shl esi, cl
- or edi, esi
- add ecx, 7
- inc rdx
- inc rbx
- cmp r10, rbx
- jne <L42>
+ xor r9d, r9d
+ jmp <L48>
<L38>:
- sub r9, rax
- add r9, -3
- lea rdx, <anon.6ff6007f900e1ab8754c9e72d2656ce6.249.llvm.11206678561672701557>
- jmp <L43>
-<L37>:
- lea rdx, <anon.6ff6007f900e1ab8754c9e72d2656ce6.308.llvm.11206678561672701557>
- mov rdi, rcx
- call qword ptr <_GLOBAL_OFFSET_TABLE_+0x9330>
+ lea rdx, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.35.llvm.13066286459596371790>
+ call qword ptr <_GLOBAL_OFFSET_TABLE_+0x70f0>
ud2
+<L45>:
+ and eax, 127
+ shl eax, cl
+ or edi, eax
+ add ecx, 7
+ dec r8
+ inc rbx
+ cmp rbp, r8
+ jne <L49>
+<L44>:
+ sub r13, rdx
+ lea rdx, <anon.e87f1fadd4da8da2b4f6e65e8fd5124c.249.llvm.16007311995058856452>
+ jmp <L50>
+<L43>:
+ lea rdx, <anon.e87f1fadd4da8da2b4f6e65e8fd5124c.308.llvm.16007311995058856452>
+ jmp <L51>
nop word ptr cs:[rax + rax]
- nop dword ptr [rax + rax]
+ nop dword ptr [rax]
_ZN14rustc_metadata5rmeta7decoder152_$LT$impl$u20$rustc_serialize..serialize..Decodable$LT$rustc_metadata..rmeta..decoder..DecodeContext$GT$$u20$for$u20$rustc_span..span_encoding..Span$GT$6decode17h56a8c16a1408399cE
/home/mark/.rustup/toolchains/a3956106d12cebec91be0637759e29ab6908b4cd/lib/librustc_driver-f74eb93698df5a7b.so: file format elf64-x86-64
Disassembly of section .text:
<_ZN14rustc_metadata5rmeta7decoder152_$LT$impl$u20$rustc_serialize..serialize..Decodable$LT$rustc_metadata..rmeta..decoder..DecodeContext$GT$$u20$for$u20$rustc_span..span_encoding..Span$GT$6decode17h56a8c16a1408399cE>:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 104
mov r13, rsi
mov r15, rdi
lea rdi, [rsp + 16]
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x1e38>
cmp dword ptr [rsp + 16], 1
je <L0>
mov rsi, qword ptr [r13 + 8]
mov rdi, qword ptr [r13 + 16]
cmp rdi, rsi
jae <L1>
mov r11d, dword ptr [rsp + 20]
mov r8, qword ptr [r13]
mov cl, byte ptr [r8 + rdi]
lea rax, [rdi + 1]
mov qword ptr [r13 + 16], rax
mov byte ptr [rsp + 7], cl
cmp cl, 2
je <L2>
mov r9, rsi
sub r9, rax
je <L3>
mov rbx, rdi
not rbx
add rbx, rsi
lea rax, [rdi + r8]
add rax, 1
xor edx, edx
xor ecx, ecx
xor ebp, ebp
<L5>:
movzx r14d, byte ptr [rax + rdx]
test r14b, r14b
jns <L4>
and r14d, 127
shl r14d, cl
add rdx, 1
or ebp, r14d
add ecx, 7
cmp rbx, rdx
jne <L5>
jmp <L3>
<L4>:
lea rax, [rdi + rdx]
add rax, 2
mov qword ptr [r13 + 16], rax
shl r14d, cl
cmp rsi, rax
jb <L6>
mov r9, rsi
sub r9, rdi
lea r10, [r9 - 2]
cmp r10, rdx
je <L7>
or r14d, ebp
lea rbx, [rdi + r8]
add rbx, 2
xor ecx, ecx
mov rax, rdx
xor r12d, r12d
<L9>:
movzx ebp, byte ptr [rbx + rax]
test bpl, bpl
jns <L8>
and ebp, 127
shl ebp, cl
or r12d, ebp
add ecx, 7
add rax, 1
cmp r10, rax
jne <L9>
<L7>:
sub r9, rdx
add r9, -2
<L3>:
lea rdx, <anon.ce0392c6b8dbecd030883108f41f418e.62.llvm.13703834297407300257>
<L43>:
mov rdi, r9
mov rsi, r9
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
ud2
<L8>:
mov qword ptr [rsp + 64], r15
shl ebp, cl
lea rcx, [rdi + rax]
add rcx, 3
mov qword ptr [r13 + 16], rcx
mov r15, qword ptr [r13 + 40]
test r15, r15
je <L10>
cmp byte ptr [rsp + 7], 0
jne <L11>
mov rax, qword ptr [r13 + 24]
test rax, rax
je <L12>
mov rbx, r11
mov rcx, qword ptr [r13 + 32]
mov qword ptr [rsp + 16], rax
mov qword ptr [rsp + 24], rcx
lea rdi, [rsp + 16]
<L29>:
mov rsi, r15
call <_ZN14rustc_metadata5rmeta7decoder59_$LT$impl$u20$rustc_metadata..creader..CrateMetadataRef$GT$21imported_source_files17h142776fd79b3618aE>
mov rdi, qword ptr [r13 + 56]
cmp rdi, rdx
mov r15, qword ptr [rsp + 64]
jae <L13>
mov r9, rbx
mov rsi, rdi
shl rsi, 4
mov ecx, dword ptr [rax + rsi + 8]
cmp r14d, ecx
jb <L14>
cmp r14d, dword ptr [rax + rsi + 12]
ja <L14>
<L24>:
shl rdi, 4
mov rax, qword ptr [rax + rdi]
add r14d, dword ptr [rax + 232]
or ebp, r12d
mov eax, r14d
sub eax, ecx
sub ebp, ecx
add ebp, r14d
mov dword ptr [rsp + 12], eax
mov dword ptr [rsp + 8], ebp
mov dword ptr [rsp + 72], r9d
cmp eax, ebp
ja <L15>
mov ebx, ebp
mov ebp, eax
<L35>:
sub ebx, ebp
cmp r9d, 65536
setb al
cmp ebx, 32768
jae <L16>
<L30>:
test al, al
je <L17>
shl r9, 48
shl rbx, 32
<L31>:
or r9, rbx
mov eax, ebp
or rax, r9
mov qword ptr [r15 + 4], rax
<L33>:
xor eax, eax
<L34>:
mov dword ptr [r15], eax
mov rax, r15
add rsp, 104
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
<L14>:
xor edi, edi
mov rbx, rdx
xor esi, esi
mov r8, rdx
jmp <L18>
nop dword ptr [rax + rax]
<L20>:
add rbx, 1
mov rsi, rbx
mov rbx, r8
sub rbx, rsi
jbe <L19>
<L18>:
shr rbx
add rbx, rsi
mov rcx, rbx
shl rcx, 4
cmp dword ptr [rax + rcx + 8], r14d
jb <L20>
je <L21>
mov r8, rbx
sub rbx, rsi
ja <L18>
<L19>:
mov rdi, -1
mov rbx, rsi
<L21>:
add rdi, rbx
cmp byte ptr [rsp + 7], 0
jne <L22>
mov qword ptr [r13 + 56], rdi
<L22>:
cmp rdi, rdx
jae <L23>
mov rcx, rdi
shl rcx, 4
mov ecx, dword ptr [rax + rcx + 8]
jmp <L24>
<L11>:
mov rdx, qword ptr [r13 + 24]
test rdx, rdx
je <L12>
cmp dword ptr [rdx + 280], 4294967041
jne <L25>
mov rbx, r11
lea rdi, [rsp + 16]
mov rsi, r13
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x8c38>
lea rax, [rsp + 16]
cmp dword ptr [rax], 1
je <L26>
mov edi, dword ptr [rsp + 20]
mov qword ptr [r13 + 56], 0
cmp qword ptr [r13 + 24], 0
je <L12>
mov rax, qword ptr [r13 + 32]
mov dword ptr [rsp + 8], edi
mov rsi, qword ptr [rax + 16]
cmp rsi, rdi
jbe <L27>
mov rcx, qword ptr [rax]
mov rcx, qword ptr [rcx + 8*rdi]
test rcx, rcx
je <L28>
add rcx, 16
lea rdi, [rsp + 16]
mov qword ptr [rdi], rcx
mov qword ptr [rdi + 8], rax
jmp <L29>
<L16>:
xor eax, eax
jmp <L30>
<L17>:
movabs rbx, 140737488355328
lea rax, [rsp + 12]
lea rsi, [rsp + 16]
mov qword ptr [rsi], rax
lea rax, [rsp + 8]
mov qword ptr [rsi + 8], rax
lea rax, [rsp + 72]
mov qword ptr [rsi + 16], rax
mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb530>
call <_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17hd642780fdc8ce96cE>
mov ebp, eax
xor r9d, r9d
jmp <L31>
<L2>:
xor eax, eax
mov dword ptr [rsp + 12], eax
mov dword ptr [rsp + 8], eax
mov dword ptr [rsp + 72], r11d
cmp r11d, 65536
jae <L32>
shl r11, 48
xor ebx, ebx
xor eax, eax
<L41>:
or r11, rax
or r11, rbx
mov qword ptr [r15 + 4], r11
jmp <L33>
<L12>:
lea rdi, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.33.llvm.10815678240224427371>
lea rdx, <anon.9a2bbe199e5b0a098749a9ad5f7cb794.34.llvm.10815678240224427371>
mov esi, 38
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x4c88>
ud2
<L0>:
mov rax, qword ptr [rsp + 40]
<L40>:
mov qword ptr [r15 + 24], rax
movups xmm0, xmmword ptr [rsp + 24]
movups xmmword ptr [r15 + 8], xmm0
mov eax, 1
jmp <L34>
<L1>:
lea rdx, <anon.6ff6007f900e1ab8754c9e72d2656ce6.304.llvm.11206678561672701557>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
ud2
<L6>:
lea rdx, <anon.ce0392c6b8dbecd030883108f41f418e.112.llvm.13703834297407300257>
mov rdi, rax
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x9330>
ud2
<L10>:
lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.335.llvm.13703834297407300257>
lea rdi, [rsp + 16]
mov qword ptr [rdi], rax
mov qword ptr [rdi + 8], 1
xor eax, eax
mov qword ptr [rdi + 16], rax
lea rcx, <anon.ce0392c6b8dbecd030883108f41f418e.99.llvm.13703834297407300257>
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
lea rsi, <anon.ce0392c6b8dbecd030883108f41f418e.336.llvm.13703834297407300257>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0xab0>
ud2
<L13>:
lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.341.llvm.13703834297407300257>
<L36>:
mov rsi, rdx
mov rdx, rax
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
ud2
<L15>:
mov dword ptr [rsp + 12], ebp
mov dword ptr [rsp + 8], eax
mov ebx, eax
jmp <L35>
<L23>:
lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.342.llvm.13703834297407300257>
jmp <L36>
<L25>:
cmp rsi, rcx
jb <L37>
lea r10, [r9 - 3]
cmp r10, rax
je <L38>
lea rdx, [rdi + rax]
add rdx, 4
lea rbp, [rdi + r8]
add rbp, 3
xor ecx, ecx
mov rbx, rax
xor edi, edi
<L42>:
movzx esi, byte ptr [rbp + rbx]
test sil, sil
js <L39>
shl esi, cl
or esi, edi
mov qword ptr [r13 + 16], rdx
lea rbx, [rsp + 8]
mov dword ptr [rbx], esi
mov rdi, r13
call qword ptr <_GLOBAL_OFFSET_TABLE_+0xe4f8>
add rax, 864
lea rcx, [rsp + 72]
mov qword ptr [rcx], rax
mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0x9a98>
mov qword ptr [rcx + 8], rax
mov qword ptr [rcx + 16], rbx
lea rax, <_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u32$GT$3fmt17ha986ba276ee666e6E.llvm.13703834297407300257>
mov qword ptr [rcx + 24], rax
lea rax, <anon.ce0392c6b8dbecd030883108f41f418e.339.llvm.13703834297407300257>
lea rdi, [rsp + 16]
mov qword ptr [rdi], rax
mov eax, 2
mov qword ptr [rdi + 8], rax
mov qword ptr [rdi + 16], 0
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
lea rsi, <anon.ce0392c6b8dbecd030883108f41f418e.340.llvm.13703834297407300257>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x16a8>
ud2
<L26>:
mov rax, qword ptr [rsp + 40]
mov r15, qword ptr [rsp + 64]
jmp <L40>
<L27>:
lea rdx, <anon.44f4a5c2fa074cc0705d0ee8e8233242.130.llvm.6697860808261543402>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x7078>
ud2
<L28>:
lea rax, [rsp + 8]
lea rcx, [rsp + 72]
mov qword ptr [rcx], rax
mov rax, qword ptr <_GLOBAL_OFFSET_TABLE_+0xee18>
mov qword ptr [rcx + 8], rax
lea rax, <anon.44f4a5c2fa074cc0705d0ee8e8233242.132.llvm.6697860808261543402>
lea rdi, [rsp + 16]
mov qword ptr [rdi], rax
mov eax, 1
mov qword ptr [rdi + 8], rax
mov qword ptr [rdi + 16], 0
mov qword ptr [rdi + 32], rcx
mov qword ptr [rdi + 40], rax
lea rsi, <anon.44f4a5c2fa074cc0705d0ee8e8233242.133.llvm.6697860808261543402>
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x16a8>
ud2
<L32>:
movabs rbx, 140737488355328
lea rax, [rsp + 12]
lea rsi, [rsp + 16]
mov qword ptr [rsi], rax
lea rax, [rsp + 8]
mov qword ptr [rsi + 8], rax
lea rax, [rsp + 72]
mov qword ptr [rsi + 16], rax
mov rdi, qword ptr <_GLOBAL_OFFSET_TABLE_+0xb530>
call <_ZN10scoped_tls18ScopedKey$LT$T$GT$4with17hd642780fdc8ce96cE>
mov eax, eax
xor r11d, r11d
jmp <L41>
<L39>:
and esi, 127
shl esi, cl
or edi, esi
add ecx, 7
inc rdx
inc rbx
cmp r10, rbx
jne <L42>
<L38>:
sub r9, rax
add r9, -3
lea rdx, <anon.6ff6007f900e1ab8754c9e72d2656ce6.249.llvm.11206678561672701557>
jmp <L43>
<L37>:
lea rdx, <anon.6ff6007f900e1ab8754c9e72d2656ce6.308.llvm.11206678561672701557>
mov rdi, rcx
call qword ptr <_GLOBAL_OFFSET_TABLE_+0x9330>
ud2
nop word ptr cs:[rax + rax]
nop dword ptr [rax + rax]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment