Skip to content

Instantly share code, notes, and snippets.

@erikdesjardins
Last active March 15, 2024 18:59
Show Gist options
  • Save erikdesjardins/ec7a6bbbb6c403aff3dd9afe04e4ec3f to your computer and use it in GitHub Desktop.
Save erikdesjardins/ec7a6bbbb6c403aff3dd9afe04e4ec3f to your computer and use it in GitHub Desktop.
`advance_token` asm diff for https://github.com/rust-lang/rust/pull/122053
Disassembly of section .bolt.org.text:
Disassembly of section .init:
Disassembly of section .fini:
Disassembly of section .plt:
Disassembly of section .text:
<advance_token>:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp,0x28
mov rax,rdi
mov rdx,QWORD PTR [rsi]
mov rbx,QWORD PTR [rsi+0xXXXX]
cmp rdx,rbx
je <advance_token+0xXXXX>
lea r12,[rdx+0xXXXX]
mov QWORD PTR [rsi],r12
movzx r15d,BYTE PTR [rdx]
test r15b,r15b
js <advance_token.cold.0+0xXXXX>
cmp r15d,0x84
jg <advance_token.cold.0+0xXXXX>
lea ecx,[r15-0x9]
cmp ecx,0x69
ja <advance_token+0xXXXX>
lea rdx,[rip+0xXXXX] # <_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char>
movsxd rcx,DWORD PTR [rdx+rcx*4]
add rcx,rdx
jmp rcx
mov ecx,r15d
and ecx,0xffffffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token+0xXXXX>
cmp r15d,0x80
jae <advance_token.cold.0+0xXXXX>
lea ecx,[r15-0x30]
cmp ecx,0xa
jb <advance_token+0xXXXX>
lea ecx,[r15-0x21]
cmp ecx,0x5d
ja <advance_token.cold.0+0xXXXX>
lea rdx,[rip+0xXXXX] # <_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char>
movsxd rcx,DWORD PTR [rdx+rcx*4]
add rcx,rdx
jmp rcx
mov ebp,0xa
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
jmp <advance_token+0xXXXX>
mov ebp,0xd
jmp <advance_token+0xXXXX>
mov ebp,0xc
jmp <advance_token+0xXXXX>
mov ebp,0x16
jmp <advance_token+0xXXXX>
mov ebp,0x1b
jmp <advance_token+0xXXXX>
mov ebp,0xb
jmp <advance_token+0xXXXX>
mov ebp,0xf
jmp <advance_token+0xXXXX>
mov ebp,0xe
jmp <advance_token+0xXXXX>
mov ebp,0x18
jmp <advance_token+0xXXXX>
mov ebp,0x9
jmp <advance_token+0xXXXX>
mov ebp,0x1a
jmp <advance_token+0xXXXX>
mov ebp,0x1d
jmp <advance_token+0xXXXX>
mov ebp,0x2
cmp r12,rbx
je <advance_token+0xXXXX>
mov rdi,r12
inc rdi
mov ecx,0xc000003
movzx edx,BYTE PTR [r12]
mov r8d,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x20
jne <advance_token+0xXXXX>
cmp rbx,r12
je <advance_token+0xXXXX>
lea r8,[r12+0xXXXX]
mov QWORD PTR [rsi],r8
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edi,edi
cmp r8,rbx
setne dil
add rdi,r8
xor r14d,r14d
mov r12,r8
cmp r8,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
lea edi,[r8-0x9]
cmp edi,0x5
jb <advance_token+0xXXXX>
lea edi,[r8-0x200e]
cmp edi,0x1b
jbe <advance_token.cold.0>
cmp r8d,0x85
je <advance_token+0xXXXX>
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
xor r13d,r13d
mov rdx,QWORD PTR [rsi]
mov rdi,QWORD PTR [rsi+0xXXXX]
mov ecx,DWORD PTR [rsi+0xXXXX]
add ecx,edx
sub ecx,edi
shl r15,0x20
movzx r8d,r13b
shl r8d,0x18
or r8,r15
movzx r9d,r12b
shl r9d,0x10
or r9,r8
shl r14d,0x8
movzx r8d,r14w
or r8,r9
movzx r9d,bpl
or r9,r8
sub rdi,rdx
mov QWORD PTR [rsi+0xXXXX],rdi
mov QWORD PTR [rax],r9
mov DWORD PTR [rax+0xXXXX],ecx
add rsp,0x28
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ebp,0x1c
jmp <advance_token+0xXXXX>
mov ebp,0x3
cmp r12,rbx
je <advance_token+0xXXXX>
lea rdx,[r12+0xXXXX]
jmp <advance_token+0xXXXX>
cmp rbx,r12
je <advance_token+0xXXXX>
lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
xor r14d,r14d
mov r12,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jb <advance_token+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r12]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x27
jbe <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov ecx,edi
movabs rdx,0x8c00000000
bt rdx,rcx
jb <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov ebp,0x20
jmp <advance_token+0xXXXX>
mov ebp,0x10
jmp <advance_token+0xXXXX>
mov ebp,0x11
jmp <advance_token+0xXXXX>
mov ebp,0x19
jmp <advance_token+0xXXXX>
mov ebp,0x13
jmp <advance_token+0xXXXX>
mov ebp,0x17
jmp <advance_token+0xXXXX>
mov ebp,0x1e
jmp <advance_token+0xXXXX>
cmp r15d,0x30
je <advance_token+0xXXXX>
mov bpl,0xa
cmp r12,rbx
je <advance_token+0xXXXX>
mov rdi,r12
inc rdi
movzx ecx,BYTE PTR [r12]
mov r8d,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x5f
je <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token+0xXXXX>
add r8d,0xffffffc6
cmp r8d,0xfffffff6
jb <advance_token+0xXXXX>
lea rdx,[r12+0xXXXX]
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edi,edi
cmp rdx,rbx
setne dil
add rdi,rdx
mov r12,rdx
cmp rdx,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov bpl,0xa
xor edx,edx
cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
mov dl,cl
add rdx,r12
movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
xor r13d,r13d
cmp edi,0x2e
jne <advance_token+0xXXXX>
mov r8,rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r10d,r10d
cmp r8,rbx
setne r9b
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r8]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x2e
je <advance_token+0xXXXX>
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
mov dl,0x1
cmp rdi,rbx
setne r8b
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rdi]
test cl,cl
js <advance_token.cold.0+0xXXXX>
add ecx,0xffffffd0
cmp ecx,0x9
ja <advance_token+0xXXXX>
lea r9,[rdi+0xXXXX]
movzx ecx,BYTE PTR [rdi]
mov r10d,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r10d,0x5f
je <advance_token.cold.0+0xXXXX>
cmp rdi,rbx
je <advance_token+0xXXXX>
add r10d,0xffffffc6
cmp r10d,0xfffffff6
jb <advance_token+0xXXXX>
lea r8,[rdi+0xXXXX]
mov QWORD PTR [rsi],r8
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp r8,rbx
setne r9b
add r9,r8
mov rdi,r8
cmp r8,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
cmp edi,0x65
je <advance_token+0xXXXX>
cmp edi,0x45
je <advance_token+0xXXXX>
xor edx,edx
jmp <advance_token+0xXXXX>
cmp rdi,rbx
je <advance_token+0xXXXX>
test cl,cl
js <advance_token.cold.0+0xXXXX>
or ecx,0x20
cmp ecx,0x65
je <advance_token.cold.0+0xXXXX>
movzx r12d,bpl
shl r12d,0x8
or r12d,r13d
movzx r14d,dl
or r14d,r12d
shr r12d,0x8
shr r13d,0x10
mov rbx,QWORD PTR [rsi]
mov rcx,QWORD PTR [rsi+0xXXXX]
mov r15,rbx
sub r15,rcx
add r15,QWORD PTR [rsi+0xXXXX]
xor edx,edx
mov ebp,0x7
cmp rbx,rcx
setne r8b
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rbx]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
xor r8d,r8d
mov bpl,0xa
cmp r12,rbx
setne dil
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [r12]
mov ecx,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x64
jg <advance_token+0xXXXX>
cmp ecx,0x44
jg <advance_token+0xXXXX>
cmp ecx,0x2e
je <advance_token+0xXXXX>
add ecx,0xffffffd0
cmp ecx,0xa
jb <advance_token+0xXXXX>
xor edx,edx
xor r13d,r13d
jmp <advance_token+0xXXXX>
cmp ecx,0x78
jne <advance_token+0xXXXX>
lea rcx,[r12+0xXXXX]
mov QWORD PTR [rsi],rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp rcx,rbx
je <advance_token.cold.0+0xXXXX>
lea r10,[rcx+0xXXXX]
xor edx,edx
movabs rdi,0x3f0000003f
jmp <advance_token+0xXXXX>
bt rdi,r9
jae <advance_token+0xXXXX>
cmp rcx,rbx
je <advance_token.cold.0+0xXXXX>
lea r9,[rcx+0xXXXX]
mov QWORD PTR [rsi],r9
mov dl,0x1
test r8b,r8b
js <advance_token.cold.0+0xXXXX>
xor r10d,r10d
cmp r9,rbx
setne r10b
add r10,r9
mov rcx,r9
cmp r9,rbx
je <advance_token.cold.0+0xXXXX>
movzx r8d,BYTE PTR [rcx]
mov r9d,r8d
test r8b,r8b
js <advance_token.cold.0+0xXXXX>
cmp r9d,0x5f
je <advance_token+0xXXXX>
lea r10d,[r9-0x30]
cmp r10d,0xa
jb <advance_token+0xXXXX>
add r9d,0xffffffbf
cmp r9d,0x25
jbe <advance_token+0xXXXX>
mov bpl,0x10
test dl,0x1
je <advance_token.cold.0+0xXXXX>
mov r12,rcx
jmp <advance_token+0xXXXX>
xor edi,edi
mov ebp,0x21
cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [r12]
mov r8d,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x2f
jne <advance_token+0xXXXX>
lea rcx,[r12+0xXXXX]
mov QWORD PTR [rsi],rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
mov ebp,0x200
cmp rcx,rbx
setne dil
je <advance_token.cold.0+0xXXXX>
mov dl,dil
add rdx,rcx
movzx edi,BYTE PTR [rcx]
mov r9d,edi
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp r9d,0x2f
jne <advance_token+0xXXXX>
test dil,dil
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
xor ebp,ebp
cmp edi,0x2f
sete bpl
shl ebp,0x9
jmp <advance_token+0xXXXX>
cmp r9d,0x21
jne <advance_token+0xXXXX>
mov ebp,0x100
jmp <advance_token+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
test dil,dil
js <advance_token+0xXXXX>
mov rdx,rcx
xor r9d,r9d
cmp rcx,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
movzx r8d,dil
test r8b,r8b
js <advance_token+0xXXXX>
cmp r8d,0xa
jne <advance_token+0xXXXX>
mov r14d,ebp
shr r14d,0x8
jmp <advance_token+0xXXXX>
xor r8d,r8d
cmp rbx,rcx
setne dil
je <advance_token.cold.0+0xXXXX>
movzx edx,BYTE PTR [rbx]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x22
je <advance_token+0xXXXX>
cmp edx,0x5c
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov rbx,QWORD PTR [rsi]
mov rcx,QWORD PTR [rsi+0xXXXX]
mov rdx,rcx
cmp rbx,rcx
je <advance_token.cold.0+0xXXXX>
movzx edx,BYTE PTR [rbx]
test dl,dl
js <advance_token+0xXXXX>
inc rbx
cmp edx,0x22
je <advance_token+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
cmp rbx,rcx
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov r15,rbx
sub r15,rcx
add r15,QWORD PTR [rsi+0xXXXX]
xor edx,edx
mov QWORD PTR [rsi],rbx
mov ebp,0x7
mov r12d,0x1
mov r14d,0x4
cmp rbx,rcx
setne r8b
je <advance_token+0xXXXX>
mov cl,BYTE PTR [rbx]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
jmp <advance_token+0xXXXX>
xor edx,edx
cmp r12,rbx
setne dl
add rdx,r12
cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token+0xXXXX>
cmp ecx,0x72
je <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token+0xXXXX>
mov rdx,r12
inc rdx
xor r13d,r13d
jmp <advance_token+0xXXXX>
cmp rbx,r12
je <advance_token.cold.0+0xXXXX>
lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
mov r12,rdi
cmp rdi,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jb <advance_token+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor edx,edx
mov ebp,0x3
jmp <advance_token+0xXXXX>
and edi,0x1ffffe
cmp edi,0x22
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r12,rbx
setne dl
add rdx,r12
cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x72
je <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token.cold.0+0xXXXX>
mov ebp,0x3
cmp r12,rbx
je <advance_token+0xXXXX>
mov rdx,r12
inc rdx
xor r13d,r13d
jmp <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
jne <advance_token+0xXXXX>
cmp rbx,r12
je <advance_token+0xXXXX>
lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
mov r12,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jae <advance_token+0xXXXX>
xor edx,edx
cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r12]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x27
jbe <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor r13d,r13d
xor r15d,r15d
mov r12,r15
shl r12,0x20
or r12,r13
or rbp,r12
mov r14,r12
shr r14,0x8
shr r12,0x10
shr r13d,0x18
mov r15d,r15d
jmp <advance_token+0xXXXX>
mov ecx,edi
movabs rdx,0x8c00000000
bt rdx,rcx
jae <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r12,rbx
setne dl
add rdx,r12
cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token+0xXXXX>
cmp ecx,0x23
je <advance_token+0xXXXX>
mov ebp,0x3
cmp r12,rbx
je <advance_token+0xXXXX>
mov rdx,r12
inc rdx
jmp <advance_token+0xXXXX>
cmp rbx,r12
je <advance_token+0xXXXX>
lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
xor r14d,r14d
mov r12,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jb <advance_token+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
jmp <advance_token+0xXXXX>
mov r15,QWORD PTR [rsi]
mov rbx,QWORD PTR [rsi+0xXXXX]
xor r14d,r14d
cmp r15,rbx
setne r14b
add r14,r15
mov rdx,r14
cmp r15,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r15]
mov rdx,r14
test cl,cl
jns <advance_token+0xXXXX>
cmp cl,0xe0
jb <advance_token+0xXXXX>
cmp cl,0xf0
mov rdx,r14
sbb rdx,0xffffffffffffffff
add rdx,0x2
xor r8d,r8d
cmp rdx,rbx
setne dil
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rdx]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token+0xXXXX>
mov rcx,r14
cmp r15,rbx
je <advance_token+0xXXXX>
mov dl,BYTE PTR [r15]
movzx edi,dl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
test dl,dl
js <advance_token.cold.0+0xXXXX>
movzx edi,dl
add edi,0xffffffd0
cmp edi,0x9
ja <advance_token+0xXXXX>
mov rbx,rax
test dl,dl
js <advance_token.cold.0+0xXXXX>
movzx eax,dl
add eax,0xffffffd0
xor r14d,r14d
cmp eax,0xa
setb r14b
shl r14d,0x8
mov eax,0x1
add r15,rax
mov QWORD PTR [rsi],r15
mov rdi,rsi
mov r15,rsi
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,r15
mov rdi,QWORD PTR [r15]
xor r8d,r8d
mov ebp,0x8
mov r12d,0x10000
cmp rdi,QWORD PTR [r15+0xXXXX]
setne dl
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [rdi]
test cl,cl
mov rax,rbx
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token.cold.0+0xXXXX>
xor r15d,r15d
jmp <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r14+0xXXXX]
and edx,0x7
shl edx,0x12
shl edi,0x6
and ecx,0x3f
or ecx,edi
or ecx,edx
cmp ecx,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
shl edx,0x6
or edx,r8d
mov ecx,edx
jmp <advance_token+0xXXXX>
lea rcx,[r14+0xXXXX]
jmp <advance_token+0xXXXX>
mov rcx,r14
cmp r15,rbx
je <advance_token+0xXXXX>
mov dl,BYTE PTR [r15]
mov rcx,r14
test dl,dl
jns <advance_token+0xXXXX>
cmp dl,0xe0
jb <advance_token+0xXXXX>
cmp dl,0xf0
mov rcx,r14
sbb rcx,0xffffffffffffffff
add rcx,0x2
xor r8d,r8d
cmp rcx,rbx
setne dil
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [rcx]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x27
jne <advance_token+0xXXXX>
cmp r15,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r15]
test cl,cl
jns <advance_token+0xXXXX>
mov edx,ecx
and edx,0x1f
movzx r8d,BYTE PTR [r14]
and r8d,0x3f
cmp cl,0xdf
jbe <advance_token+0xXXXX>
movzx edi,BYTE PTR [r14+0xXXXX]
shl r8d,0x6
and edi,0x3f
or edi,r8d
cmp cl,0xf0
jae <advance_token+0xXXXX>
shl edx,0xc
or edi,edx
mov ecx,edi
cmp ecx,0x5c
je <advance_token+0xXXXX>
cmp r15,rbx
je <advance_token+0xXXXX>
lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
mov cl,BYTE PTR [r15]
test cl,cl
jns <advance_token+0xXXXX>
lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
cmp cl,0xe0
jb <advance_token+0xXXXX>
lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
cmp cl,0xf0
jae <advance_token+0xXXXX>
cmp r14,rbx
je <advance_token.cold.0+0xXXXX>
lea r13,[r14+0xXXXX]
mov QWORD PTR [rsi],r13
mov cl,BYTE PTR [r14]
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r15,r13
sub r15,rbx
add r15,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
mov ebp,0x7
mov r14d,0x200
mov r12d,0x10000
cmp r13,rbx
setne dl
je <advance_token+0xXXXX>
mov cl,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
shl r15,0x20
or r15,r12
add r15,r14
or rbp,r15
mov r14,r15
shr r14,0x8
mov r12,r15
shr r12,0x10
shr r15,0x20
jmp <advance_token+0xXXXX>
add r15,0x4
mov QWORD PTR [rsi],r15
mov r14,r15
jmp <advance_token+0xXXXX>
cmp edx,0x27
jne <advance_token.cold.0+0xXXXX>
lea r13,[r14+0xXXXX]
mov QWORD PTR [rsi],r13
test cl,cl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r15,rbx
mov rcx,rbx
cmp rdx,rbx
je <advance_token+0xXXXX>
lea r15,[rdx+0xXXXX]
mov QWORD PTR [rsi],r15
mov dil,BYTE PTR [rdx]
mov rcx,r15
test dil,dil
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov rcx,r15
mov r14,rcx
xor r8d,r8d
cmp rcx,rbx
setne dil
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r14]
mov edx,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x2e
jle <advance_token+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
cmp edx,0x2f
je <advance_token.cold.0+0xXXXX>
mov rcx,rbx
cmp r14,rbx
je <advance_token+0xXXXX>
lea r15,[r14+0xXXXX]
mov QWORD PTR [rsi],r15
movzx edx,BYTE PTR [r14]
mov rcx,r15
test dl,dl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp edx,0x110000
je <advance_token.cold.0+0xXXXX>
mov r14,rax
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rax,[r14+0xXXXX]
mov QWORD PTR [rcx],rax
movzx edx,BYTE PTR [r14]
test dl,dl
js <advance_token+0xXXXX>
cmp edx,0x2a
je <advance_token+0xXXXX>
cmp edx,0x2f
jne <advance_token+0xXXXX>
xor esi,esi
cmp rax,rbx
setne dl
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [rax]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x2a
je <advance_token+0xXXXX>
mov rcx,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
xor edx,edx
cmp rax,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
movzx esi,BYTE PTR [rax]
test sil,sil
js <advance_token.cold.0+0xXXXX>
cmp esi,0x2f
jne <advance_token+0xXXXX>
mov ecx,0x1
add rax,rcx
mov rcx,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rcx],rax
dec r13
jne <advance_token+0xXXXX>
mov r14,r12
or r14,r15
lea rbp,[r12+r15*1]
inc rbp
shr r14d,0x8
shr r12d,0x10
xor r15d,r15d
xor r13d,r13d
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rsi
mov QWORD PTR [rsp+0xXXXX],rax
cmp r8d,0x2a
je <advance_token+0xXXXX>
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
lea r14,[r12+0xXXXX]
mov rax,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rax],r14
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r14,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
movzx eax,BYTE PTR [r14]
test al,al
js <advance_token.cold.0+0xXXXX>
cmp eax,0x21
je <advance_token+0xXXXX>
mov r15d,0x200
cmp eax,0x2a
je <advance_token+0xXXXX>
mov r13d,0x1
mov rcx,QWORD PTR [rsp+0xXXXX]
mov r12d,0x10000
jmp <advance_token+0xXXXX>
mov r15d,0x100
jmp <advance_token+0xXXXX>
mov ebp,0x15
jmp <advance_token+0xXXXX>
mov ebp,0x1f
jmp <advance_token+0xXXXX>
mov BYTE PTR [rax],0x25
xor ecx,ecx
jmp <advance_token+0xXXXX>
mov ebp,0x12
jmp <advance_token+0xXXXX>
inc rbx
jmp <advance_token+0xXXXX>
mov r15,rbx
cmp r12,rbx
je <advance_token+0xXXXX>
lea r15,[r12+0xXXXX]
mov QWORD PTR [rsi],r15
mov cl,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor ecx,ecx
cmp r15,rbx
setne cl
add rcx,r15
mov rdi,rcx
cmp r15,rbx
je <advance_token+0xXXXX>
mov dl,BYTE PTR [r15]
mov rdi,rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdi,rbx
setne r8b
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [rdi]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x27
jne <advance_token+0xXXXX>
cmp r15,rbx
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [r15]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
cmp r15,rbx
je <advance_token.cold.0+0xXXXX>
lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
mov cl,BYTE PTR [r15]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r14,rbx
je <advance_token.cold.0+0xXXXX>
lea r12,[r14+0xXXXX]
mov QWORD PTR [rsi],r12
mov cl,BYTE PTR [r14]
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r15,r12
sub r15,rbx
add r15,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
mov ebp,0x7
mov r13d,0x10300
cmp r12,rbx
setne dl
je <advance_token+0xXXXX>
mov cl,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp eax,0x27
jne <advance_token.cold.0+0xXXXX>
lea r12,[r14+0xXXXX]
mov QWORD PTR [rsi],r12
test cl,cl
mov rax,QWORD PTR [rsp+0xXXXX]
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
mov rcx,r15
mov r14,rcx
xor edi,edi
cmp rcx,rbx
setne dl
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r14]
mov eax,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp eax,0x2e
jle <advance_token+0xXXXX>
cmp eax,0x5c
jne <advance_token+0xXXXX>
lea rax,[r14+0xXXXX]
mov QWORD PTR [rsi],rax
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r15,rbx
mov rcx,rbx
cmp rax,rbx
je <advance_token+0xXXXX>
lea r15,[rax+0xXXXX]
mov QWORD PTR [rsi],r15
mov dl,BYTE PTR [rax]
mov rcx,r15
test dl,dl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp eax,0x2f
je <advance_token.cold.0+0xXXXX>
mov rcx,rbx
cmp r14,rbx
je <advance_token+0xXXXX>
lea r15,[r14+0xXXXX]
mov QWORD PTR [rsi],r15
mov al,BYTE PTR [r14]
mov rcx,r15
test al,al
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp r12,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov edi,edx
and edi,0x1f
movzx r9d,BYTE PTR [rbx+0xXXXX]
and r9d,0x3f
cmp dl,0xdf
ja <advance_token+0xXXXX>
add rbx,0x2
shl edi,0x6
or edi,r9d
mov edx,edi
jmp <advance_token+0xXXXX>
movzx r8d,BYTE PTR [rbx+0xXXXX]
shl r9d,0x6
and r8d,0x3f
or r8d,r9d
cmp dl,0xf0
jae <advance_token+0xXXXX>
add rbx,0x3
shl edi,0xc
or r8d,edi
mov edx,r8d
jmp <advance_token+0xXXXX>
cmp rcx,rbx
je <advance_token.cold.0+0xXXXX>
lea r9,[rcx+0xXXXX]
mov QWORD PTR [rsi],r9
test r8b,r8b
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov r14,rax
lea rax,[r12+0xXXXX]
mov QWORD PTR [rsi],rax
mov al,BYTE PTR [r12]
test al,al
js <advance_token.cold.0+0xXXXX>
mov rdi,rsi
mov r13,rsi
call <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor20double_quoted_string>
mov r12,QWORD PTR [r13+0xXXXX]
mov rcx,QWORD PTR [r13+0xXXXX]
mov r15,r12
sub r15,rcx
mov rbx,r13
add r15,QWORD PTR [r13+0xXXXX]
mov ebp,0x7
test al,al
je <advance_token.cold.0+0xXXXX>
xor edx,edx
mov r13d,0x10500
cmp r12,rcx
setne cl
je <advance_token+0xXXXX>
mov al,BYTE PTR [r12]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
mov rax,r14
mov rsi,rbx
jmp <advance_token+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
cmp dil,0xe0
jb <advance_token+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
cmp dil,0xf0
jb <advance_token+0xXXXX>
add rdx,0x4
mov QWORD PTR [rsi],rdx
mov rcx,rdx
jmp <advance_token+0xXXXX>
mov rbx,r14
mov rdi,r14
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
mov rsi,QWORD PTR [r14]
mov rbx,QWORD PTR [r14+0xXXXX]
xor ecx,ecx
cmp rsi,rbx
setne cl
add rcx,rsi
xor edx,edx
mov r12,rsi
mov r13d,0x0
cmp rsi,rbx
mov rax,r15
mov rsi,r14
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov rcx,r12
inc rcx
mov r14,rsi
mov r15,rax
movzx eax,BYTE PTR [r12]
mov esi,eax
test al,al
js <advance_token.cold.0+0xXXXX>
cmp esi,0x5f
je <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token+0xXXXX>
add esi,0xffffffc6
cmp esi,0xfffffff6
jae <advance_token+0xXXXX>
mov bpl,0xa
mov rax,r15
mov rsi,r14
jmp <advance_token+0xXXXX>
lea rsi,[r12+0xXXXX]
mov QWORD PTR [r14],rsi
test al,al
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp ecx,0x62
je <advance_token+0xXXXX>
cmp ecx,0x5f
je <advance_token+0xXXXX>
cmp ecx,0x45
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov r14,rax
lea rax,[r12+0xXXXX]
mov r15,rsi
mov QWORD PTR [rsi],rax
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rdx,[rax+0xXXXX]
xor r13d,r13d
jmp <advance_token+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rsi,[rax+0xXXXX]
mov QWORD PTR [r15],rsi
mov r13b,0x1
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rsi,rbx
setne dl
add rdx,rsi
mov rax,rsi
mov r12,rbx
cmp rsi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rax]
mov edi,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
add edi,0xffffffd0
cmp edi,0xa
jb <advance_token+0xXXXX>
mov r12,rax
mov bpl,0x2
jmp <advance_token+0xXXXX>
mov rbx,r15
mov rdi,r15
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
mov rsi,QWORD PTR [r15]
mov rbx,QWORD PTR [r15+0xXXXX]
jmp <advance_token+0xXXXX>
cmp ecx,0x65
je <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
cmp ecx,0x6f
jne <advance_token+0xXXXX>
mov r14,rax
lea rax,[r12+0xXXXX]
mov r15,rsi
mov QWORD PTR [rsi],rax
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rdx,[rax+0xXXXX]
xor r13d,r13d
movzx ecx,BYTE PTR [rax]
mov edi,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
add edi,0xffffffd0
cmp edi,0xa
jae <advance_token+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rsi,[rax+0xXXXX]
mov QWORD PTR [r15],rsi
mov r13b,0x1
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rsi,rbx
setne dl
add rdx,rsi
mov rax,rsi
mov r12,rbx
cmp rsi,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov r12,rax
mov bpl,0x8
test r13b,0x1
je <advance_token.cold.0+0xXXXX>
mov rax,r14
mov rsi,r15
jmp <advance_token+0xXXXX>
mov ebp,0x14
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
lea rdx,[rbx+0xXXXX]
mov rax,rsi
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov rbx,rax
mov rdi,rax
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,rbx
mov rax,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
mov edx,0x1
add rbx,rdx
jmp <advance_token+0xXXXX>
mov r9b,cl
mov ecx,r8d
and ecx,0x1f
movzx r11d,BYTE PTR [rdx+r9*1]
and r11d,0x3f
cmp r8b,0xdf
jbe <advance_token+0xXXXX>
movzx r10d,BYTE PTR [rdx+r9*1+0xXXXX]
shl r11d,0x6
and r10d,0x3f
or r10d,r11d
cmp dil,0xf0
jae <advance_token+0xXXXX>
shl ecx,0xc
or r10d,ecx
mov r8d,r10d
jmp <advance_token+0xXXXX>
shl ecx,0x6
or ecx,r11d
mov r8d,ecx
jmp <advance_token+0xXXXX>
movzx r8d,BYTE PTR [rdx+r9*1+0xXXXX]
and ecx,0x7
shl ecx,0x12
shl r10d,0x6
and r8d,0x3f
or r8d,r10d
or r8d,ecx
cmp r8d,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov ebp,0x23
jmp <advance_token+0xXXXX>
mov ebp,0x22
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rsi
mov QWORD PTR [rsp+0xXXXX],rax
cmp edi,0x5f
je <advance_token+0xXXXX>
mov eax,edi
and eax,0x1fffdf
add eax,0xffffffbf
cmp eax,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,QWORD PTR [rsp+0xXXXX]
jae <advance_token.cold.0+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
lea r14,[rsp+0xXXXX]
mov rdi,r14
mov rbx,rsi
mov edx,0x1
call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xffe638>
mov rsi,rbx
mov r13,QWORD PTR [rbx]
mov r12,QWORD PTR [rbx+0xXXXX]
mov r15,QWORD PTR [rbx+0xXXXX]
add r15,r13
mov ebp,DWORD PTR [r14]
cmp ebp,0x5
jne <advance_token+0xXXXX>
xor edx,edx
cmp r13,r12
setne cl
je <advance_token+0xXXXX>
mov al,BYTE PTR [r13+0xXXXX]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
mov rsi,rbx
jae <advance_token.cold.0+0xXXXX>
sub r15,r12
xor r12d,r12d
cmp ebp,0x5
sete r12b
mov r13b,BYTE PTR [rsp+0xXXXX]
mov r14d,0x7
mov ebp,0x7
mov rax,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
lea r14,[r12+0xXXXX]
mov rax,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rax],r14
mov al,BYTE PTR [r12]
test al,al
js <advance_token.cold.0+0xXXXX>
xor edx,edx
mov ebp,0x5
cmp r14,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
mov al,BYTE PTR [r14]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jae <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
mov rcx,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rcx],rdx
test al,al
js <advance_token.cold.0+0xXXXX>
mov rbx,QWORD PTR [rsp+0xXXXX]
mov rdi,rbx
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,rbx
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
xor r13d,r13d
mov rax,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
mov r14,rax
lea rax,[r12+0xXXXX]
mov rbx,rsi
mov QWORD PTR [rsi],rax
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov rdi,rbx
call <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor18eat_float_exponent>
mov rsi,rbx
mov dil,0x1
mov dl,0x1
test al,al
mov rax,r14
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
and edi,0x1ffffe
cmp edi,0x22
jne <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
mov rdi,rsi
mov r14,rsi
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
lea r12,[rsp+0xXXXX]
mov rdi,r12
mov rsi,r14
mov edx,0x2
call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xffe638>
mov r15,QWORD PTR [r14+0xXXXX]
add r15,QWORD PTR [r14]
mov rbx,r14
sub r15,QWORD PTR [r14+0xXXXX]
mov ebp,DWORD PTR [r12]
cmp ebp,0x5
jne <advance_token+0xXXXX>
mov rdi,rbx
call <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor14eat_identifier>
mov eax,DWORD PTR [rsp+0xXXXX]
shl eax,0x18
or rax,0x10800
cmp ebp,0x5
mov r13d,0x800
cmove r13,rax
mov ebp,0x7
mov rax,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
mov ebp,0x6
jmp <advance_token+0xXXXX>
mov esi,edx
and esi,0x1f
lea rax,[r14+0xXXXX]
mov QWORD PTR [rcx],rax
movzx ecx,BYTE PTR [r14+0xXXXX]
and ecx,0x3f
cmp dl,0xdf
jbe <advance_token+0xXXXX>
lea rax,[r14+0xXXXX]
mov rdi,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rdi],rax
movzx edi,BYTE PTR [r14+0xXXXX]
shl ecx,0x6
and edi,0x3f
or edi,ecx
cmp dl,0xf0
jae <advance_token.cold.0+0xXXXX>
shl esi,0xc
or edi,esi
mov edx,edi
mov rcx,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
shl esi,0x6
or esi,ecx
mov edx,esi
mov rcx,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
movzx edx,BYTE PTR [rbx+0xXXXX]
add rbx,0x4
and edi,0x7
shl edi,0x12
shl r8d,0x6
and edx,0x3f
or edx,r8d
or edx,edi
cmp edx,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov rdi,r14
mov rsi,rbx
call <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor6second>
cmp eax,0x2a
sete cl
cmp eax,0x2f
sete al
or al,cl
movzx r15d,al
shl r15d,0x9
jmp <advance_token+0xXXXX>
mov rbx,QWORD PTR [rsp+0xXXXX]
mov rdi,rbx
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
mov rcx,rbx
inc r13
mov rax,QWORD PTR [rbx]
mov rbx,QWORD PTR [rbx+0xXXXX]
jmp <advance_token+0xXXXX>
mov r9b,r8b
mov r8d,edi
and r8d,0x1f
movzx r11d,BYTE PTR [rdx+r9*1]
and r11d,0x3f
cmp dil,0xdf
jbe <advance_token.cold.0+0xXXXX>
movzx r10d,BYTE PTR [rdx+r9*1+0xXXXX]
shl r11d,0x6
and r10d,0x3f
or r10d,r11d
cmp dil,0xf0
jae <advance_token.cold.0+0xXXXX>
shl r8d,0xc
or r10d,r8d
mov edi,r10d
jmp <advance_token+0xXXXX>
Disassembly of section .text.cold:
Disassembly of section .bolt.org.text:
Disassembly of section .init:
Disassembly of section .fini:
Disassembly of section .plt:
Disassembly of section .text:
<advance_token>:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp,0x28
mov rax,rdi
mov rdx,QWORD PTR [rsi]
mov rbx,QWORD PTR [rsi+0xXXXX]
cmp rdx,rbx
je <advance_token+0xXXXX>
lea r13,[rdx+0xXXXX]
mov QWORD PTR [rsi],r13
movzx r15d,BYTE PTR [rdx]
test r15b,r15b
js <advance_token.cold.0+0xXXXX>
cmp r15d,0x84
jg <advance_token.cold.0+0xXXXX>
lea ecx,[r15-0x9]
cmp ecx,0x69
ja <advance_token+0xXXXX>
lea rdx,[rip+0xXXXX] # <_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char>
movsxd rcx,DWORD PTR [rdx+rcx*4]
add rcx,rdx
jmp rcx
mov ecx,r15d
and ecx,0xffffffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token+0xXXXX>
cmp r15d,0x80
jae <advance_token.cold.0+0xXXXX>
lea ecx,[r15-0x30]
cmp ecx,0xa
jb <advance_token+0xXXXX>
lea ecx,[r15-0x21]
cmp ecx,0x5d
ja <advance_token.cold.0+0xXXXX>
lea rdx,[rip+0xXXXX] # <_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char>
movsxd rcx,DWORD PTR [rdx+rcx*4]
add rcx,rdx
jmp rcx
mov r11b,0xa
jmp <advance_token+0xXXXX>
mov r11b,0x9
jmp <advance_token+0xXXXX>
mov r11b,0x18
jmp <advance_token+0xXXXX>
mov r11b,0xf
jmp <advance_token+0xXXXX>
mov r11b,0xe
jmp <advance_token+0xXXXX>
mov r11b,0xb
jmp <advance_token+0xXXXX>
mov r11b,0x1b
jmp <advance_token+0xXXXX>
mov r11b,0x16
jmp <advance_token+0xXXXX>
mov r11b,0xd
jmp <advance_token+0xXXXX>
mov r11b,0xc
jmp <advance_token+0xXXXX>
mov r11b,0x2
cmp r13,rbx
je <advance_token+0xXXXX>
mov rdi,r13
inc rdi
mov ecx,0xc000003
movzx edx,BYTE PTR [r13+0xXXXX]
mov r8d,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x20
jne <advance_token+0xXXXX>
cmp rbx,r13
je <advance_token+0xXXXX>
lea r8,[r13+0xXXXX]
mov QWORD PTR [rsi],r8
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edi,edi
cmp r8,rbx
setne dil
add rdi,r8
xor ebp,ebp
mov r13,r8
cmp r8,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
lea edi,[r8-0x9]
cmp edi,0x5
jb <advance_token+0xXXXX>
lea edi,[r8-0x200e]
cmp edi,0x1b
jbe <advance_token.cold.0>
xor ebp,ebp
cmp r8d,0x85
je <advance_token+0xXXXX>
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
mov rdx,QWORD PTR [rsi]
mov rdi,QWORD PTR [rsi+0xXXXX]
mov ecx,DWORD PTR [rsi+0xXXXX]
add ecx,edx
sub ecx,edi
sub rdi,rdx
mov QWORD PTR [rsi+0xXXXX],rdi
mov BYTE PTR [rax],r11b
mov BYTE PTR [rax+0xXXXX],bpl
mov BYTE PTR [rax+0xXXXX],r14b
mov BYTE PTR [rax+0xXXXX],r15b
mov DWORD PTR [rax+0xXXXX],r12d
mov DWORD PTR [rax+0xXXXX],ecx
add rsp,0x28
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r11b,0x1a
jmp <advance_token+0xXXXX>
mov r11b,0x1d
jmp <advance_token+0xXXXX>
mov r11b,0x1c
jmp <advance_token+0xXXXX>
mov r11b,0x20
jmp <advance_token+0xXXXX>
mov r11b,0x10
jmp <advance_token+0xXXXX>
mov r11b,0x11
jmp <advance_token+0xXXXX>
mov r11b,0x3
cmp r13,rbx
je <advance_token+0xXXXX>
lea rdx,[r13+0xXXXX]
jmp <advance_token+0xXXXX>
cmp rbx,r13
je <advance_token+0xXXXX>
lea rdi,[r13+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
xor ebp,ebp
mov r13,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jb <advance_token+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r13,rbx
setne cl
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r13+0xXXXX]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x27
jbe <advance_token+0xXXXX>
xor ebp,ebp
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov ecx,edi
movabs rdx,0x8c00000000
bt rdx,rcx
jb <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov r11b,0x19
jmp <advance_token+0xXXXX>
mov r11b,0x13
jmp <advance_token+0xXXXX>
mov r11b,0x17
jmp <advance_token+0xXXXX>
mov r11b,0x1e
jmp <advance_token+0xXXXX>
cmp rdx,rbx
je <advance_token+0xXXXX>
test cl,cl
js <advance_token.cold.0+0xXXXX>
or ecx,0x20
cmp ecx,0x65
je <advance_token.cold.0+0xXXXX>
xor r15d,r15d
mov rbx,QWORD PTR [rsi]
mov rcx,QWORD PTR [rsi+0xXXXX]
mov r12d,DWORD PTR [rsi+0xXXXX]
add r12d,ebx
sub r12d,ecx
xor r8d,r8d
mov r11b,0x7
cmp rbx,rcx
setne dl
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rbx]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp r15d,0x30
je <advance_token+0xXXXX>
mov r14b,0xa
cmp r13,rbx
je <advance_token+0xXXXX>
mov rdi,r13
inc rdi
movzx ecx,BYTE PTR [r13+0xXXXX]
mov r8d,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x5f
je <advance_token+0xXXXX>
cmp r13,rbx
je <advance_token+0xXXXX>
add r8d,0xffffffc6
cmp r8d,0xfffffff6
jb <advance_token+0xXXXX>
lea rdx,[r13+0xXXXX]
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edi,edi
cmp rdx,rbx
setne dil
add rdi,rdx
mov r13,rdx
cmp rdx,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
cmp edi,0x65
je <advance_token+0xXXXX>
cmp edi,0x45
je <advance_token+0xXXXX>
xor ebp,ebp
jmp <advance_token+0xXXXX>
xor r8d,r8d
mov r14b,0xa
cmp r13,rbx
setne dil
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [r13+0xXXXX]
mov ecx,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x64
jg <advance_token+0xXXXX>
cmp ecx,0x44
jg <advance_token+0xXXXX>
cmp ecx,0x2e
jne <advance_token+0xXXXX>
mov r14b,0xa
xor edx,edx
cmp r13,rbx
setne cl
je <advance_token+0xXXXX>
mov dl,cl
add rdx,r13
movzx ecx,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x2e
jne <advance_token+0xXXXX>
mov r8,rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r10d,r10d
cmp r8,rbx
setne r9b
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r8]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x2e
je <advance_token+0xXXXX>
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
lea rdx,[r13+0xXXXX]
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r8d,r8d
mov bpl,0x1
cmp rdx,rbx
setne dil
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rdx]
test cl,cl
js <advance_token.cold.0+0xXXXX>
add ecx,0xffffffd0
cmp ecx,0x9
ja <advance_token+0xXXXX>
lea r8,[rdx+0xXXXX]
movzx ecx,BYTE PTR [rdx]
mov r9d,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r9d,0x5f
je <advance_token.cold.0+0xXXXX>
cmp rdx,rbx
je <advance_token+0xXXXX>
add r9d,0xffffffc6
cmp r9d,0xfffffff6
jb <advance_token+0xXXXX>
lea rdi,[rdx+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r8d,r8d
cmp rdi,rbx
setne r8b
add r8,rdi
mov rdx,rdi
cmp rdi,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
cmp ecx,0x78
jne <advance_token+0xXXXX>
lea rcx,[r13+0xXXXX]
mov QWORD PTR [rsi],rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp rcx,rbx
je <advance_token.cold.0+0xXXXX>
lea r10,[rcx+0xXXXX]
xor edx,edx
movabs rdi,0x3f0000003f
jmp <advance_token+0xXXXX>
bt rdi,r9
jae <advance_token+0xXXXX>
cmp rcx,rbx
je <advance_token.cold.0+0xXXXX>
lea r9,[rcx+0xXXXX]
mov QWORD PTR [rsi],r9
mov dl,0x1
test r8b,r8b
js <advance_token.cold.0+0xXXXX>
xor r10d,r10d
cmp r9,rbx
setne r10b
add r10,r9
mov rcx,r9
cmp r9,rbx
je <advance_token.cold.0+0xXXXX>
movzx r8d,BYTE PTR [rcx]
mov r9d,r8d
test r8b,r8b
js <advance_token.cold.0+0xXXXX>
cmp r9d,0x5f
je <advance_token+0xXXXX>
lea r10d,[r9-0x30]
cmp r10d,0xa
jb <advance_token+0xXXXX>
add r9d,0xffffffbf
cmp r9d,0x25
jbe <advance_token+0xXXXX>
mov r14b,0x10
test dl,0x1
je <advance_token.cold.0+0xXXXX>
mov r13,rcx
jmp <advance_token+0xXXXX>
xor edi,edi
mov r11b,0x21
cmp r13,rbx
setne cl
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [r13+0xXXXX]
mov r8d,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x2f
jne <advance_token+0xXXXX>
lea rcx,[r13+0xXXXX]
mov QWORD PTR [rsi],rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
mov bpl,0x2
cmp rcx,rbx
setne dil
je <advance_token.cold.0+0xXXXX>
mov dl,dil
add rdx,rcx
movzx edi,BYTE PTR [rcx]
mov r9d,edi
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp r9d,0x2f
jne <advance_token+0xXXXX>
test dil,dil
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x2f
sete bpl
add bpl,bpl
jmp <advance_token+0xXXXX>
cmp r9d,0x21
jne <advance_token+0xXXXX>
mov bpl,0x1
jmp <advance_token+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
test dil,dil
js <advance_token+0xXXXX>
mov rdx,rcx
xor r9d,r9d
cmp rcx,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
movzx r8d,dil
test r8b,r8b
js <advance_token+0xXXXX>
cmp r8d,0xa
jne <advance_token+0xXXXX>
xor r14d,r14d
xor r12d,r12d
xor r11d,r11d
jmp <advance_token+0xXXXX>
xor r8d,r8d
cmp rbx,rcx
setne dil
je <advance_token.cold.0+0xXXXX>
movzx edx,BYTE PTR [rbx]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x22
je <advance_token+0xXXXX>
cmp edx,0x5c
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov rbx,QWORD PTR [rsi]
mov rcx,QWORD PTR [rsi+0xXXXX]
mov rdx,rcx
cmp rbx,rcx
je <advance_token.cold.0+0xXXXX>
movzx edx,BYTE PTR [rbx]
test dl,dl
js <advance_token+0xXXXX>
inc rbx
cmp edx,0x22
je <advance_token+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
cmp rbx,rcx
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov r12,rbx
sub r12,rcx
add r12,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
mov QWORD PTR [rsi],rbx
mov r14b,0x1
cmp rbx,rcx
setne dl
je <advance_token+0xXXXX>
mov cl,BYTE PTR [rbx]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
mov r11b,0x7
mov bpl,0x4
jmp <advance_token+0xXXXX>
xor edx,edx
cmp r13,rbx
setne dl
add rdx,r13
cmp r13,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp r13,rbx
je <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token+0xXXXX>
cmp ecx,0x72
je <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token+0xXXXX>
mov rdx,r13
inc rdx
xor r15d,r15d
jmp <advance_token+0xXXXX>
cmp rbx,r13
je <advance_token.cold.0+0xXXXX>
lea rdi,[r13+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
mov r13,rdi
cmp rdi,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jb <advance_token+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor edx,edx
mov r11d,0x3
cmp r13,rbx
setne cl
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r13+0xXXXX]
test dil,dil
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
and edi,0x1ffffe
cmp edi,0x22
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r13,rbx
setne dl
add rdx,r13
cmp r13,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x72
je <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token.cold.0+0xXXXX>
mov r11d,0x3
cmp r13,rbx
je <advance_token+0xXXXX>
mov rdx,r13
inc rdx
xor r15d,r15d
jmp <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
jne <advance_token+0xXXXX>
cmp rbx,r13
je <advance_token+0xXXXX>
lea rdi,[r13+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
mov r13,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jae <advance_token+0xXXXX>
xor edx,edx
cmp r13,rbx
setne cl
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r13+0xXXXX]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x27
jbe <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor r15d,r15d
xor r12d,r12d
shl r12,0x20
or r12,r11
or r11d,r15d
mov ebp,r15d
shr ebp,0x8
mov r14d,r15d
shr r14d,0x10
shr r15d,0x18
shr r12,0x20
jmp <advance_token+0xXXXX>
mov ecx,edi
movabs rdx,0x8c00000000
bt rdx,rcx
jae <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp ecx,0x110000
je <advance_token.cold.0+0xXXXX>
mov r15,rax
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rax,[r15+0xXXXX]
mov QWORD PTR [rsi],rax
movzx ecx,BYTE PTR [r15]
test cl,cl
js <advance_token+0xXXXX>
cmp ecx,0x2a
je <advance_token+0xXXXX>
cmp ecx,0x2f
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
xor edx,edx
cmp r13,rbx
setne dl
add rdx,r13
cmp r13,rbx
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdx,rbx
setne r8b
je <advance_token.cold.0+0xXXXX>
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token+0xXXXX>
cmp ecx,0x23
je <advance_token+0xXXXX>
mov r11b,0x3
cmp r13,rbx
je <advance_token+0xXXXX>
mov rdx,r13
inc rdx
jmp <advance_token+0xXXXX>
cmp edi,0x3a
jb <advance_token+0xXXXX>
cmp edi,0x5f
jne <advance_token+0xXXXX>
cmp rbx,r13
je <advance_token+0xXXXX>
lea rdi,[r13+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rdi,rbx
setne dl
add rdx,rdi
xor ebp,ebp
mov r13,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
jae <advance_token+0xXXXX>
xor edx,edx
cmp r13,rbx
setne cl
je <advance_token+0xXXXX>
movzx edi,BYTE PTR [r13+0xXXXX]
test dil,dil
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
jmp <advance_token+0xXXXX>
mov r12,QWORD PTR [rsi]
mov rbx,QWORD PTR [rsi+0xXXXX]
xor r14d,r14d
cmp r12,rbx
setne r14b
add r14,r12
mov rdx,r14
cmp r12,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r12]
mov rdx,r14
test cl,cl
jns <advance_token+0xXXXX>
cmp cl,0xe0
jb <advance_token+0xXXXX>
cmp cl,0xf0
mov rdx,r14
sbb rdx,0xffffffffffffffff
add rdx,0x2
xor r8d,r8d
cmp rdx,rbx
setne dil
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rdx]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token+0xXXXX>
mov rcx,r14
cmp r12,rbx
je <advance_token+0xXXXX>
mov dl,BYTE PTR [r12]
movzx edi,dl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
test dl,dl
js <advance_token.cold.0+0xXXXX>
movzx edi,dl
add edi,0xffffffd0
cmp edi,0x9
ja <advance_token+0xXXXX>
mov rbx,rax
test dl,dl
js <advance_token.cold.0+0xXXXX>
movzx eax,dl
add eax,0xffffffd0
xor ebp,ebp
cmp eax,0xa
setb bpl
shl ebp,0x8
mov eax,0x1
add r12,rax
mov QWORD PTR [rsi],r12
mov rdi,rsi
mov r15,rsi
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,r15
mov rdi,QWORD PTR [r15]
xor r8d,r8d
mov r11d,0x8
mov r14d,0x10000
cmp rdi,QWORD PTR [r15+0xXXXX]
setne dl
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [rdi]
test cl,cl
mov rax,rbx
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token.cold.0+0xXXXX>
xor r12d,r12d
jmp <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r14+0xXXXX]
and edx,0x7
shl edx,0x12
shl edi,0x6
and ecx,0x3f
or ecx,edi
or ecx,edx
cmp ecx,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
shl edx,0x6
or edx,r8d
mov ecx,edx
jmp <advance_token+0xXXXX>
lea rcx,[r14+0xXXXX]
jmp <advance_token+0xXXXX>
mov rcx,r14
cmp r12,rbx
je <advance_token+0xXXXX>
mov dl,BYTE PTR [r12]
mov rcx,r14
test dl,dl
jns <advance_token+0xXXXX>
cmp dl,0xe0
jb <advance_token+0xXXXX>
cmp dl,0xf0
mov rcx,r14
sbb rcx,0xffffffffffffffff
add rcx,0x2
xor r8d,r8d
cmp rcx,rbx
setne dil
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [rcx]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x27
jne <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r12]
test cl,cl
jns <advance_token+0xXXXX>
mov edx,ecx
and edx,0x1f
movzx r8d,BYTE PTR [r14]
and r8d,0x3f
cmp cl,0xdf
jbe <advance_token+0xXXXX>
movzx edi,BYTE PTR [r14+0xXXXX]
shl r8d,0x6
and edi,0x3f
or edi,r8d
cmp cl,0xf0
jae <advance_token+0xXXXX>
shl edx,0xc
or edi,edx
mov ecx,edi
cmp ecx,0x5c
je <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token+0xXXXX>
lea r14,[r12+0xXXXX]
mov QWORD PTR [rsi],r14
mov cl,BYTE PTR [r12]
test cl,cl
jns <advance_token+0xXXXX>
lea r14,[r12+0xXXXX]
mov QWORD PTR [rsi],r14
cmp cl,0xe0
jb <advance_token+0xXXXX>
lea r14,[r12+0xXXXX]
mov QWORD PTR [rsi],r14
cmp cl,0xf0
jae <advance_token+0xXXXX>
cmp r14,rbx
je <advance_token.cold.0+0xXXXX>
lea r15,[r14+0xXXXX]
mov QWORD PTR [rsi],r15
mov cl,BYTE PTR [r14]
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r12,r15
sub r12,rbx
add r12,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
mov r11d,0x7
mov ebp,0x200
mov r14d,0x10000
cmp r15,rbx
setne dl
je <advance_token+0xXXXX>
mov cl,BYTE PTR [r15]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
or r11d,r14d
or r11d,ebp
shr ebp,0x8
shr r14d,0x10
jmp <advance_token+0xXXXX>
add r12,0x4
mov QWORD PTR [rsi],r12
mov r14,r12
jmp <advance_token+0xXXXX>
cmp edx,0x27
jne <advance_token.cold.0+0xXXXX>
lea r15,[r14+0xXXXX]
mov QWORD PTR [rsi],r15
test cl,cl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r12,rbx
mov rcx,rbx
cmp rdx,rbx
je <advance_token+0xXXXX>
lea r12,[rdx+0xXXXX]
mov QWORD PTR [rsi],r12
mov dil,BYTE PTR [rdx]
mov rcx,r12
test dil,dil
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov rcx,r12
mov r14,rcx
xor r8d,r8d
cmp rcx,rbx
setne dil
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r14]
mov edx,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x2e
jle <advance_token+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
cmp edx,0x2f
je <advance_token.cold.0+0xXXXX>
mov rcx,rbx
cmp r14,rbx
je <advance_token+0xXXXX>
lea r12,[r14+0xXXXX]
mov QWORD PTR [rsi],r12
movzx edx,BYTE PTR [r14]
mov rcx,r12
test dl,dl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov r11b,0x15
jmp <advance_token+0xXXXX>
mov r11b,0x1f
jmp <advance_token+0xXXXX>
mov BYTE PTR [rax],0x25
xor ecx,ecx
jmp <advance_token+0xXXXX>
mov r11b,0x12
jmp <advance_token+0xXXXX>
mov r11b,0x6
xor ebp,ebp
jmp <advance_token+0xXXXX>
inc rbx
jmp <advance_token+0xXXXX>
mov r12,rbx
cmp r13,rbx
je <advance_token+0xXXXX>
lea r12,[r13+0xXXXX]
mov QWORD PTR [rsi],r12
mov cl,BYTE PTR [r13+0xXXXX]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor ecx,ecx
cmp r12,rbx
setne cl
add rcx,r12
mov rdi,rcx
cmp r12,rbx
je <advance_token+0xXXXX>
mov dl,BYTE PTR [r12]
mov rdi,rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
cmp rdi,rbx
setne r8b
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [rdi]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x27
jne <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token+0xXXXX>
movzx edx,BYTE PTR [r12]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
lea r14,[r12+0xXXXX]
mov QWORD PTR [rsi],r14
mov cl,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r14,rbx
je <advance_token.cold.0+0xXXXX>
lea rbp,[r14+0xXXXX]
mov QWORD PTR [rsi],rbp
mov cl,BYTE PTR [r14]
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r12,rbp
sub r12,rbx
add r12,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
mov r11d,0x7
mov r15d,0x10300
cmp rbp,rbx
setne dl
je <advance_token+0xXXXX>
mov cl,BYTE PTR [rbp+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov edx,edi
and edx,0x1fffdf
add edx,0xffffffbf
cmp edx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp eax,0x27
jne <advance_token.cold.0+0xXXXX>
lea rbp,[r14+0xXXXX]
mov QWORD PTR [rsi],rbp
test cl,cl
mov rax,r13
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov r13,rax
mov rcx,r12
mov r14,rcx
xor edi,edi
cmp rcx,rbx
setne dl
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [r14]
mov eax,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp eax,0x2e
jle <advance_token+0xXXXX>
cmp eax,0x5c
jne <advance_token+0xXXXX>
lea rax,[r14+0xXXXX]
mov QWORD PTR [rsi],rax
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov r12,rbx
mov rcx,rbx
cmp rax,rbx
je <advance_token+0xXXXX>
lea r12,[rax+0xXXXX]
mov QWORD PTR [rsi],r12
mov dl,BYTE PTR [rax]
mov rcx,r12
test dl,dl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp eax,0x2f
je <advance_token.cold.0+0xXXXX>
mov rcx,rbx
cmp r14,rbx
je <advance_token+0xXXXX>
lea r12,[r14+0xXXXX]
mov QWORD PTR [rsi],r12
mov al,BYTE PTR [r14]
mov rcx,r12
test al,al
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rsi,[rax+0xXXXX]
mov QWORD PTR [r12],rsi
mov bpl,0x1
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rsi,rbx
setne dl
add rdx,rsi
mov rax,rsi
mov r13,rbx
cmp rsi,rbx
je <advance_token+0xXXXX>
movzx ecx,BYTE PTR [rax]
mov edi,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
add edi,0xffffffd0
cmp edi,0xa
jb <advance_token+0xXXXX>
mov r13,rax
mov r14b,0x2
jmp <advance_token+0xXXXX>
mov rbx,r12
mov rdi,r12
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
mov rsi,QWORD PTR [r12]
mov rbx,QWORD PTR [r12+0xXXXX]
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
lea rax,[r13+0xXXXX]
mov r12,rsi
mov QWORD PTR [rsi],rax
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rdx,[rax+0xXXXX]
xor ebp,ebp
jmp <advance_token+0xXXXX>
cmp ecx,0x62
je <advance_token+0xXXXX>
cmp ecx,0x5f
je <advance_token+0xXXXX>
cmp ecx,0x45
je <advance_token+0xXXXX>
add ecx,0xffffffd0
cmp ecx,0xa
jb <advance_token+0xXXXX>
mov r14b,0xa
xor ebp,ebp
jmp <advance_token+0xXXXX>
cmp ecx,0x65
je <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
cmp ecx,0x6f
jne <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
lea rax,[r13+0xXXXX]
mov r12,rsi
mov QWORD PTR [rsi],rax
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rdx,[rax+0xXXXX]
xor ebp,ebp
movzx ecx,BYTE PTR [rax]
mov edi,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
add edi,0xffffffd0
cmp edi,0xa
jae <advance_token+0xXXXX>
cmp rax,rbx
je <advance_token.cold.0+0xXXXX>
lea rsi,[rax+0xXXXX]
mov QWORD PTR [r12],rsi
mov bpl,0x1
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp rsi,rbx
setne dl
add rdx,rsi
mov rax,rsi
mov r13,rbx
cmp rsi,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov r13,rax
mov r14b,0x8
test bpl,0x1
je <advance_token.cold.0+0xXXXX>
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,r12
jmp <advance_token+0xXXXX>
mov rcx,r13
inc rcx
mov QWORD PTR [rsp+0xXXXX],rax
mov r12,rsi
movzx eax,BYTE PTR [r13+0xXXXX]
mov esi,eax
test al,al
js <advance_token.cold.0+0xXXXX>
cmp esi,0x5f
je <advance_token+0xXXXX>
cmp r13,rbx
je <advance_token+0xXXXX>
add esi,0xffffffc6
cmp esi,0xfffffff6
jae <advance_token+0xXXXX>
mov r14b,0xa
jmp <advance_token+0xXXXX>
lea rdx,[r13+0xXXXX]
mov QWORD PTR [r12],rdx
test al,al
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp r13,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov edi,edx
and edi,0x1f
movzx r9d,BYTE PTR [rbx+0xXXXX]
and r9d,0x3f
cmp dl,0xdf
ja <advance_token+0xXXXX>
add rbx,0x2
shl edi,0x6
or edi,r9d
mov edx,edi
jmp <advance_token+0xXXXX>
movzx r8d,BYTE PTR [rbx+0xXXXX]
shl r9d,0x6
and r8d,0x3f
or r8d,r9d
cmp dl,0xf0
jae <advance_token+0xXXXX>
add rbx,0x3
shl edi,0xc
or r8d,edi
mov edx,r8d
jmp <advance_token+0xXXXX>
cmp rcx,rbx
je <advance_token.cold.0+0xXXXX>
lea r9,[rcx+0xXXXX]
mov QWORD PTR [rsi],r9
test r8b,r8b
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
cmp dil,0xe0
jb <advance_token+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
cmp dil,0xf0
jb <advance_token+0xXXXX>
add rdx,0x4
mov QWORD PTR [rsi],rdx
mov rcx,rdx
jmp <advance_token+0xXXXX>
mov r14,rax
lea rax,[r13+0xXXXX]
mov QWORD PTR [rsi],rax
mov al,BYTE PTR [r13+0xXXXX]
test al,al
js <advance_token.cold.0+0xXXXX>
mov rdi,rsi
mov r15,rsi
call <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor20double_quoted_string>
mov r13,QWORD PTR [r15]
mov rcx,QWORD PTR [r15+0xXXXX]
mov r12,r13
sub r12,rcx
mov rbx,r15
add r12,QWORD PTR [r15+0xXXXX]
test al,al
je <advance_token.cold.0+0xXXXX>
xor edx,edx
mov r15d,0x10500
cmp r13,rcx
setne cl
je <advance_token+0xXXXX>
mov al,BYTE PTR [r13+0xXXXX]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
mov rax,r14
mov rsi,rbx
mov r11d,0x7
jmp <advance_token+0xXXXX>
mov r11b,0x14
jmp <advance_token+0xXXXX>
mov r11b,0x23
jmp <advance_token+0xXXXX>
mov r11b,0x22
jmp <advance_token+0xXXXX>
mov r13,rax
lea rdx,[rbx+0xXXXX]
mov rax,rsi
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov rbx,rax
mov rdi,rax
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,rbx
mov rax,r13
mov r11b,0x7
jmp <advance_token+0xXXXX>
mov edx,0x1
add rbx,rdx
jmp <advance_token+0xXXXX>
mov r9b,cl
mov ecx,r8d
and ecx,0x1f
movzx r11d,BYTE PTR [rdx+r9*1]
and r11d,0x3f
cmp r8b,0xdf
jbe <advance_token+0xXXXX>
movzx r10d,BYTE PTR [rdx+r9*1+0xXXXX]
shl r11d,0x6
and r10d,0x3f
or r10d,r11d
cmp dil,0xf0
jae <advance_token+0xXXXX>
shl ecx,0xc
or r10d,ecx
mov r8d,r10d
jmp <advance_token+0xXXXX>
shl ecx,0x6
or ecx,r11d
mov r8d,ecx
jmp <advance_token+0xXXXX>
movzx r8d,BYTE PTR [rdx+r9*1+0xXXXX]
and ecx,0x7
shl ecx,0x12
shl r10d,0x6
and r8d,0x3f
or r8d,r10d
or r8d,ecx
cmp r8d,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
cmp r13,rbx
je <advance_token.cold.0+0xXXXX>
lea r14,[r13+0xXXXX]
mov rax,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rax],r14
mov al,BYTE PTR [r13+0xXXXX]
test al,al
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r14,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
mov al,BYTE PTR [r14]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jae <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
mov rcx,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rcx],rdx
test al,al
js <advance_token.cold.0+0xXXXX>
mov rbx,QWORD PTR [rsp+0xXXXX]
mov rdi,rbx
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,rbx
xor ebp,ebp
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
mov rax,QWORD PTR [rsp+0xXXXX]
mov r11b,0x5
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rsi
mov QWORD PTR [rsp+0xXXXX],rax
cmp edi,0x5f
je <advance_token+0xXXXX>
mov eax,edi
and eax,0x1fffdf
add eax,0xffffffbf
cmp eax,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x80
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,QWORD PTR [rsp+0xXXXX]
jae <advance_token.cold.0+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
lea r14,[rsp+0xXXXX]
mov rdi,r14
mov rbx,rsi
mov edx,0x1
call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xfe9a98>
mov rsi,rbx
mov r13,QWORD PTR [rbx]
mov r15,QWORD PTR [rbx+0xXXXX]
mov r12d,DWORD PTR [rbx+0xXXXX]
add r12d,r13d
mov ebp,DWORD PTR [r14]
cmp ebp,0x5
jne <advance_token+0xXXXX>
xor edx,edx
cmp r13,r15
setne cl
je <advance_token+0xXXXX>
mov al,BYTE PTR [r13+0xXXXX]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
mov ecx,edi
and ecx,0x1fffdf
add ecx,0xffffffbf
cmp ecx,0x1a
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
mov rsi,rbx
jae <advance_token.cold.0+0xXXXX>
sub r12d,r15d
cmp ebp,0x5
sete r14b
mov r15b,BYTE PTR [rsp+0xXXXX]
mov bpl,0x7
mov r11b,0x7
mov rax,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
xor edx,edx
cmp rax,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
movzx esi,BYTE PTR [rax]
test sil,sil
js <advance_token.cold.0+0xXXXX>
cmp esi,0x2f
jne <advance_token+0xXXXX>
mov ecx,0x1
add rax,rcx
mov rsi,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rsi],rax
dec r12
jne <advance_token+0xXXXX>
xor r12d,r12d
mov r14b,0x1
mov r11b,0x1
xor r15d,r15d
jmp <advance_token+0xXXXX>
xor esi,esi
cmp rax,rbx
setne dl
je <advance_token.cold.0+0xXXXX>
movzx ecx,BYTE PTR [rax]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x2a
je <advance_token+0xXXXX>
mov rsi,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rax
lea rax,[r13+0xXXXX]
mov r12,rsi
mov QWORD PTR [rsi],rax
test cl,cl
js <advance_token.cold.0+0xXXXX>
mov rdi,r12
call <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor18eat_float_exponent>
mov bpl,0x1
test al,al
je <advance_token.cold.0+0xXXXX>
xor r15d,r15d
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,r12
jmp <advance_token+0xXXXX>
mov QWORD PTR [rsp+0xXXXX],rsi
mov QWORD PTR [rsp+0xXXXX],rax
cmp r8d,0x2a
je <advance_token+0xXXXX>
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,QWORD PTR [rsp+0xXXXX]
mov r11b,0x21
jmp <advance_token+0xXXXX>
lea r15,[r13+0xXXXX]
mov rax,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rax],r15
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
cmp r15,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
movzx eax,BYTE PTR [r15]
test al,al
js <advance_token.cold.0+0xXXXX>
cmp eax,0x21
je <advance_token+0xXXXX>
mov bpl,0x2
cmp eax,0x2a
je <advance_token+0xXXXX>
mov r12d,0x1
mov rsi,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
mov bpl,0x1
jmp <advance_token+0xXXXX>
and edi,0x1ffffe
cmp edi,0x22
jne <advance_token+0xXXXX>
mov r13,rax
mov rdi,rsi
mov r14,rsi
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
lea r15,[rsp+0xXXXX]
mov rdi,r15
mov rsi,r14
mov edx,0x2
call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xfe9a98>
mov r12,QWORD PTR [r14+0xXXXX]
add r12,QWORD PTR [r14]
mov rbx,r14
sub r12,QWORD PTR [r14+0xXXXX]
mov ebp,DWORD PTR [r15]
cmp ebp,0x5
jne <advance_token+0xXXXX>
mov rdi,rbx
call <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor14eat_identifier>
mov eax,DWORD PTR [rsp+0xXXXX]
shl eax,0x18
or rax,0x10800
cmp ebp,0x5
mov r15d,0x800
cmove r15,rax
mov r11d,0x7
mov rax,r13
mov rsi,rbx
jmp <advance_token+0xXXXX>
mov rbx,r12
mov rdi,r12
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
mov rdx,QWORD PTR [r12]
mov rbx,QWORD PTR [r12+0xXXXX]
xor ecx,ecx
cmp rdx,rbx
setne cl
add rcx,rdx
xor ebp,ebp
mov r14b,0xa
mov r13,rdx
mov r15d,0x0
cmp rdx,rbx
mov rax,QWORD PTR [rsp+0xXXXX]
mov rsi,r12
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov edx,ecx
and edx,0x1f
lea rax,[r15+0xXXXX]
mov QWORD PTR [rsi],rax
movzx esi,BYTE PTR [r15+0xXXXX]
and esi,0x3f
cmp cl,0xdf
jbe <advance_token+0xXXXX>
lea rax,[r15+0xXXXX]
mov rdi,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rdi],rax
movzx edi,BYTE PTR [r15+0xXXXX]
shl esi,0x6
and edi,0x3f
or edi,esi
cmp cl,0xf0
jae <advance_token.cold.0+0xXXXX>
shl edx,0xc
or edi,edx
mov ecx,edi
mov rsi,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
shl edx,0x6
or edx,esi
mov ecx,edx
mov rsi,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
movzx edx,BYTE PTR [rbx+0xXXXX]
add rbx,0x4
and edi,0x7
shl edi,0x12
shl r8d,0x6
and edx,0x3f
or edx,r8d
or edx,edi
cmp edx,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
mov rdi,r15
mov rsi,rbx
call <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor6second>
cmp eax,0x2a
sete cl
cmp eax,0x2f
sete bpl
or bpl,cl
add bpl,bpl
jmp <advance_token+0xXXXX>
mov rbx,QWORD PTR [rsp+0xXXXX]
mov rdi,rbx
call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
mov rsi,rbx
inc r12
mov rax,QWORD PTR [rbx]
mov rbx,QWORD PTR [rbx+0xXXXX]
jmp <advance_token+0xXXXX>
mov r9b,r8b
mov r8d,edi
and r8d,0x1f
movzx r11d,BYTE PTR [rdx+r9*1]
and r11d,0x3f
cmp dil,0xdf
jbe <advance_token.cold.0+0xXXXX>
movzx r10d,BYTE PTR [rdx+r9*1+0xXXXX]
shl r11d,0x6
and r10d,0x3f
or r10d,r11d
cmp dil,0xf0
jae <advance_token.cold.0+0xXXXX>
shl r8d,0xc
or r10d,r8d
mov edi,r10d
jmp <advance_token+0xXXXX>
Disassembly of section .text.cold:
diff --git a/old.s b/new.s
index 3e195378c29..b089f5a3a9b 100644
--- a/old.s
+++ b/new.s
@@ -25,8 +25,8 @@ Disassembly of section .text:
mov rbx,QWORD PTR [rsi+0xXXXX]
cmp rdx,rbx
je <advance_token+0xXXXX>
- lea r13,[rdx+0xXXXX]
- mov QWORD PTR [rsi],r13
+ lea r12,[rdx+0xXXXX]
+ mov QWORD PTR [rsi],r12
movzx r15d,BYTE PTR [rdx]
test r15b,r15b
js <advance_token.cold.0+0xXXXX>
@@ -56,41 +56,48 @@ Disassembly of section .text:
movsxd rcx,DWORD PTR [rdx+rcx*4]
add rcx,rdx
jmp rcx
- mov r11b,0xa
+ mov ebp,0xa
+ xor r14d,r14d
+ xor r12d,r12d
+ xor r15d,r15d
jmp <advance_token+0xXXXX>
- mov r11b,0x9
+ mov ebp,0xd
jmp <advance_token+0xXXXX>
- mov r11b,0x18
+ mov ebp,0xc
jmp <advance_token+0xXXXX>
- mov r11b,0xf
+ mov ebp,0x16
jmp <advance_token+0xXXXX>
- mov r11b,0xe
+ mov ebp,0x1b
jmp <advance_token+0xXXXX>
- mov r11b,0xb
+ mov ebp,0xb
jmp <advance_token+0xXXXX>
- mov r11b,0x1b
+ mov ebp,0xf
jmp <advance_token+0xXXXX>
- mov r11b,0x16
+ mov ebp,0xe
jmp <advance_token+0xXXXX>
- mov r11b,0xd
+ mov ebp,0x18
jmp <advance_token+0xXXXX>
- mov r11b,0xc
+ mov ebp,0x9
jmp <advance_token+0xXXXX>
- mov r11b,0x2
- cmp r13,rbx
+ mov ebp,0x1a
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x1d
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x2
+ cmp r12,rbx
je <advance_token+0xXXXX>
- mov rdi,r13
+ mov rdi,r12
inc rdi
mov ecx,0xc000003
- movzx edx,BYTE PTR [r13+0xXXXX]
+ movzx edx,BYTE PTR [r12]
mov r8d,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x20
jne <advance_token+0xXXXX>
- cmp rbx,r13
+ cmp rbx,r12
je <advance_token+0xXXXX>
- lea r8,[r13+0xXXXX]
+ lea r8,[r12+0xXXXX]
mov QWORD PTR [rsi],r8
test dl,dl
js <advance_token.cold.0+0xXXXX>
@@ -98,8 +105,8 @@ Disassembly of section .text:
cmp r8,rbx
setne dil
add rdi,r8
- xor ebp,ebp
- mov r13,r8
+ xor r14d,r14d
+ mov r12,r8
cmp r8,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
@@ -109,24 +116,32 @@ Disassembly of section .text:
lea edi,[r8-0x200e]
cmp edi,0x1b
jbe <advance_token.cold.0>
- xor ebp,ebp
cmp r8d,0x85
je <advance_token+0xXXXX>
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
+ xor r13d,r13d
mov rdx,QWORD PTR [rsi]
mov rdi,QWORD PTR [rsi+0xXXXX]
mov ecx,DWORD PTR [rsi+0xXXXX]
add ecx,edx
sub ecx,edi
+ shl r15,0x20
+ movzx r8d,r13b
+ shl r8d,0x18
+ or r8,r15
+ movzx r9d,r12b
+ shl r9d,0x10
+ or r9,r8
+ shl r14d,0x8
+ movzx r8d,r14w
+ or r8,r9
+ movzx r9d,bpl
+ or r9,r8
sub rdi,rdx
mov QWORD PTR [rsi+0xXXXX],rdi
- mov BYTE PTR [rax],r11b
- mov BYTE PTR [rax+0xXXXX],bpl
- mov BYTE PTR [rax+0xXXXX],r14b
- mov BYTE PTR [rax+0xXXXX],r15b
- mov DWORD PTR [rax+0xXXXX],r12d
+ mov QWORD PTR [rax],r9
mov DWORD PTR [rax+0xXXXX],ecx
add rsp,0x28
pop rbx
@@ -136,26 +151,16 @@ Disassembly of section .text:
pop r15
pop rbp
ret
- mov r11b,0x1a
+ mov ebp,0x1c
jmp <advance_token+0xXXXX>
- mov r11b,0x1d
- jmp <advance_token+0xXXXX>
- mov r11b,0x1c
- jmp <advance_token+0xXXXX>
- mov r11b,0x20
- jmp <advance_token+0xXXXX>
- mov r11b,0x10
- jmp <advance_token+0xXXXX>
- mov r11b,0x11
- jmp <advance_token+0xXXXX>
- mov r11b,0x3
- cmp r13,rbx
+ mov ebp,0x3
+ cmp r12,rbx
je <advance_token+0xXXXX>
- lea rdx,[r13+0xXXXX]
+ lea rdx,[r12+0xXXXX]
jmp <advance_token+0xXXXX>
- cmp rbx,r13
+ cmp rbx,r12
je <advance_token+0xXXXX>
- lea rdi,[r13+0xXXXX]
+ lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
@@ -163,11 +168,11 @@ Disassembly of section .text:
cmp rdi,rbx
setne dl
add rdx,rdi
- xor ebp,ebp
- mov r13,rdi
+ xor r14d,r14d
+ mov r12,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -185,15 +190,14 @@ Disassembly of section .text:
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor edx,edx
- cmp r13,rbx
+ cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
- movzx edi,BYTE PTR [r13+0xXXXX]
+ movzx edi,BYTE PTR [r12]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x27
jbe <advance_token+0xXXXX>
- xor ebp,ebp
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
@@ -202,65 +206,39 @@ Disassembly of section .text:
bt rdx,rcx
jb <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
- mov r11b,0x19
+ mov ebp,0x20
jmp <advance_token+0xXXXX>
- mov r11b,0x13
+ mov ebp,0x10
jmp <advance_token+0xXXXX>
- mov r11b,0x17
+ mov ebp,0x11
jmp <advance_token+0xXXXX>
- mov r11b,0x1e
+ mov ebp,0x19
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x13
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x17
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x1e
jmp <advance_token+0xXXXX>
- cmp rdx,rbx
- je <advance_token+0xXXXX>
- test cl,cl
- js <advance_token.cold.0+0xXXXX>
- or ecx,0x20
- cmp ecx,0x65
- je <advance_token.cold.0+0xXXXX>
- xor r15d,r15d
- mov rbx,QWORD PTR [rsi]
- mov rcx,QWORD PTR [rsi+0xXXXX]
- mov r12d,DWORD PTR [rsi+0xXXXX]
- add r12d,ebx
- sub r12d,ecx
- xor r8d,r8d
- mov r11b,0x7
- cmp rbx,rcx
- setne dl
- je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [rbx]
- movzx edi,cl
- test dil,dil
- js <advance_token.cold.0+0xXXXX>
- cmp edi,0x5f
- je <advance_token+0xXXXX>
- mov edx,edi
- and edx,0x1fffdf
- add edx,0xffffffbf
- cmp edx,0x1a
- jb <advance_token+0xXXXX>
- cmp edi,0x80
- jb <advance_token+0xXXXX>
- jmp <advance_token.cold.0+0xXXXX>
cmp r15d,0x30
je <advance_token+0xXXXX>
- mov r14b,0xa
- cmp r13,rbx
+ mov bpl,0xa
+ cmp r12,rbx
je <advance_token+0xXXXX>
- mov rdi,r13
+ mov rdi,r12
inc rdi
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
mov r8d,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x5f
je <advance_token+0xXXXX>
- cmp r13,rbx
+ cmp r12,rbx
je <advance_token+0xXXXX>
add r8d,0xffffffc6
cmp r8d,0xfffffff6
jb <advance_token+0xXXXX>
- lea rdx,[r13+0xXXXX]
+ lea rdx,[r12+0xXXXX]
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
@@ -268,42 +246,22 @@ Disassembly of section .text:
cmp rdx,rbx
setne dil
add rdi,rdx
- mov r13,rdx
+ mov r12,rdx
cmp rdx,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
- cmp edi,0x65
- je <advance_token+0xXXXX>
- cmp edi,0x45
- je <advance_token+0xXXXX>
- xor ebp,ebp
- jmp <advance_token+0xXXXX>
- xor r8d,r8d
- mov r14b,0xa
- cmp r13,rbx
- setne dil
- je <advance_token+0xXXXX>
- movzx edx,BYTE PTR [r13+0xXXXX]
- mov ecx,edx
- test dl,dl
- js <advance_token.cold.0+0xXXXX>
- cmp ecx,0x64
- jg <advance_token+0xXXXX>
- cmp ecx,0x44
- jg <advance_token+0xXXXX>
- cmp ecx,0x2e
- jne <advance_token+0xXXXX>
- mov r14b,0xa
+ mov bpl,0xa
xor edx,edx
- cmp r13,rbx
+ cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
mov dl,cl
- add rdx,r13
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ add rdx,r12
+ movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
+ xor r13d,r13d
cmp edi,0x2e
jne <advance_token+0xXXXX>
mov r8,rdx
@@ -336,48 +294,113 @@ Disassembly of section .text:
jb <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
- lea rdx,[r13+0xXXXX]
- mov QWORD PTR [rsi],rdx
+ lea rdi,[r12+0xXXXX]
+ mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
- xor r8d,r8d
- mov bpl,0x1
- cmp rdx,rbx
- setne dil
+ xor r9d,r9d
+ mov dl,0x1
+ cmp rdi,rbx
+ setne r8b
je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [rdx]
+ movzx ecx,BYTE PTR [rdi]
test cl,cl
js <advance_token.cold.0+0xXXXX>
add ecx,0xffffffd0
cmp ecx,0x9
ja <advance_token+0xXXXX>
- lea r8,[rdx+0xXXXX]
- movzx ecx,BYTE PTR [rdx]
- mov r9d,ecx
+ lea r9,[rdi+0xXXXX]
+ movzx ecx,BYTE PTR [rdi]
+ mov r10d,ecx
test cl,cl
js <advance_token.cold.0+0xXXXX>
- cmp r9d,0x5f
+ cmp r10d,0x5f
je <advance_token.cold.0+0xXXXX>
- cmp rdx,rbx
+ cmp rdi,rbx
je <advance_token+0xXXXX>
- add r9d,0xffffffc6
- cmp r9d,0xfffffff6
+ add r10d,0xffffffc6
+ cmp r10d,0xfffffff6
jb <advance_token+0xXXXX>
- lea rdi,[rdx+0xXXXX]
- mov QWORD PTR [rsi],rdi
+ lea r8,[rdi+0xXXXX]
+ mov QWORD PTR [rsi],r8
test cl,cl
js <advance_token.cold.0+0xXXXX>
- xor r8d,r8d
- cmp rdi,rbx
- setne r8b
- add r8,rdi
- mov rdx,rdi
- cmp rdi,rbx
+ xor r9d,r9d
+ cmp r8,rbx
+ setne r9b
+ add r9,r8
+ mov rdi,r8
+ cmp r8,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
+ cmp edi,0x65
+ je <advance_token+0xXXXX>
+ cmp edi,0x45
+ je <advance_token+0xXXXX>
+ xor edx,edx
+ jmp <advance_token+0xXXXX>
+ cmp rdi,rbx
+ je <advance_token+0xXXXX>
+ test cl,cl
+ js <advance_token.cold.0+0xXXXX>
+ or ecx,0x20
+ cmp ecx,0x65
+ je <advance_token.cold.0+0xXXXX>
+ movzx r12d,bpl
+ shl r12d,0x8
+ or r12d,r13d
+ movzx r14d,dl
+ or r14d,r12d
+ shr r12d,0x8
+ shr r13d,0x10
+ mov rbx,QWORD PTR [rsi]
+ mov rcx,QWORD PTR [rsi+0xXXXX]
+ mov r15,rbx
+ sub r15,rcx
+ add r15,QWORD PTR [rsi+0xXXXX]
+ xor edx,edx
+ mov ebp,0x7
+ cmp rbx,rcx
+ setne r8b
+ je <advance_token+0xXXXX>
+ movzx ecx,BYTE PTR [rbx]
+ movzx edi,cl
+ test dil,dil
+ js <advance_token.cold.0+0xXXXX>
+ cmp edi,0x5f
+ je <advance_token+0xXXXX>
+ mov edx,edi
+ and edx,0x1fffdf
+ add edx,0xffffffbf
+ cmp edx,0x1a
+ jb <advance_token+0xXXXX>
+ cmp edi,0x80
+ jb <advance_token+0xXXXX>
+ jmp <advance_token.cold.0+0xXXXX>
+ xor r8d,r8d
+ mov bpl,0xa
+ cmp r12,rbx
+ setne dil
+ je <advance_token+0xXXXX>
+ movzx edx,BYTE PTR [r12]
+ mov ecx,edx
+ test dl,dl
+ js <advance_token.cold.0+0xXXXX>
+ cmp ecx,0x64
+ jg <advance_token+0xXXXX>
+ cmp ecx,0x44
+ jg <advance_token+0xXXXX>
+ cmp ecx,0x2e
+ je <advance_token+0xXXXX>
+ add ecx,0xffffffd0
+ cmp ecx,0xa
+ jb <advance_token+0xXXXX>
+ xor edx,edx
+ xor r13d,r13d
+ jmp <advance_token+0xXXXX>
cmp ecx,0x78
jne <advance_token+0xXXXX>
- lea rcx,[r13+0xXXXX]
+ lea rcx,[r12+0xXXXX]
mov QWORD PTR [rsi],rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
@@ -415,28 +438,28 @@ Disassembly of section .text:
add r9d,0xffffffbf
cmp r9d,0x25
jbe <advance_token+0xXXXX>
- mov r14b,0x10
+ mov bpl,0x10
test dl,0x1
je <advance_token.cold.0+0xXXXX>
- mov r13,rcx
+ mov r12,rcx
jmp <advance_token+0xXXXX>
xor edi,edi
- mov r11b,0x21
- cmp r13,rbx
+ mov ebp,0x21
+ cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
- movzx edx,BYTE PTR [r13+0xXXXX]
+ movzx edx,BYTE PTR [r12]
mov r8d,edx
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp r8d,0x2f
jne <advance_token+0xXXXX>
- lea rcx,[r13+0xXXXX]
+ lea rcx,[r12+0xXXXX]
mov QWORD PTR [rsi],rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
xor edx,edx
- mov bpl,0x2
+ mov ebp,0x200
cmp rcx,rbx
setne dil
je <advance_token.cold.0+0xXXXX>
@@ -457,13 +480,14 @@ Disassembly of section .text:
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
+ xor ebp,ebp
cmp edi,0x2f
sete bpl
- add bpl,bpl
+ shl ebp,0x9
jmp <advance_token+0xXXXX>
cmp r9d,0x21
jne <advance_token+0xXXXX>
- mov bpl,0x1
+ mov ebp,0x100
jmp <advance_token+0xXXXX>
lea rcx,[rdx+0xXXXX]
mov QWORD PTR [rsi],rcx
@@ -480,9 +504,8 @@ Disassembly of section .text:
js <advance_token+0xXXXX>
cmp r8d,0xa
jne <advance_token+0xXXXX>
- xor r14d,r14d
- xor r12d,r12d
- xor r11d,r11d
+ mov r14d,ebp
+ shr r14d,0x8
jmp <advance_token+0xXXXX>
xor r8d,r8d
cmp rbx,rcx
@@ -512,14 +535,16 @@ Disassembly of section .text:
cmp rbx,rcx
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- mov r12,rbx
- sub r12,rcx
- add r12,QWORD PTR [rsi+0xXXXX]
- xor r8d,r8d
+ mov r15,rbx
+ sub r15,rcx
+ add r15,QWORD PTR [rsi+0xXXXX]
+ xor edx,edx
mov QWORD PTR [rsi],rbx
- mov r14b,0x1
+ mov ebp,0x7
+ mov r12d,0x1
+ mov r14d,0x4
cmp rbx,rcx
- setne dl
+ setne r8b
je <advance_token+0xXXXX>
mov cl,BYTE PTR [rbx]
movzx edi,cl
@@ -534,16 +559,14 @@ Disassembly of section .text:
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
- mov r11b,0x7
- mov bpl,0x4
jmp <advance_token+0xXXXX>
xor edx,edx
- cmp r13,rbx
+ cmp r12,rbx
setne dl
- add rdx,r13
- cmp r13,rbx
+ add rdx,r12
+ cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
@@ -553,7 +576,7 @@ Disassembly of section .text:
movzx edi,BYTE PTR [rdx]
test dil,dil
js <advance_token.cold.0+0xXXXX>
- cmp r13,rbx
+ cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token+0xXXXX>
@@ -561,13 +584,13 @@ Disassembly of section .text:
je <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token+0xXXXX>
- mov rdx,r13
+ mov rdx,r12
inc rdx
- xor r15d,r15d
+ xor r13d,r13d
jmp <advance_token+0xXXXX>
- cmp rbx,r13
+ cmp rbx,r12
je <advance_token.cold.0+0xXXXX>
- lea rdi,[r13+0xXXXX]
+ lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
@@ -575,10 +598,10 @@ Disassembly of section .text:
cmp rdi,rbx
setne dl
add rdx,rdi
- mov r13,rdi
+ mov r12,rdi
cmp rdi,rbx
je <advance_token.cold.0+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -596,25 +619,19 @@ Disassembly of section .text:
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
xor edx,edx
- mov r11d,0x3
- cmp r13,rbx
- setne cl
- je <advance_token+0xXXXX>
- movzx edi,BYTE PTR [r13+0xXXXX]
- test dil,dil
- jns <advance_token+0xXXXX>
- jmp <advance_token.cold.0+0xXXXX>
+ mov ebp,0x3
+ jmp <advance_token+0xXXXX>
and edi,0x1ffffe
cmp edi,0x22
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
xor edx,edx
- cmp r13,rbx
+ cmp r12,rbx
setne dl
- add rdx,r13
- cmp r13,rbx
+ add rdx,r12
+ cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
@@ -628,12 +645,12 @@ Disassembly of section .text:
je <advance_token+0xXXXX>
cmp ecx,0x22
je <advance_token.cold.0+0xXXXX>
- mov r11d,0x3
- cmp r13,rbx
+ mov ebp,0x3
+ cmp r12,rbx
je <advance_token+0xXXXX>
- mov rdx,r13
+ mov rdx,r12
inc rdx
- xor r15d,r15d
+ xor r13d,r13d
jmp <advance_token+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
@@ -642,9 +659,9 @@ Disassembly of section .text:
jb <advance_token+0xXXXX>
cmp edi,0x5f
jne <advance_token+0xXXXX>
- cmp rbx,r13
+ cmp rbx,r12
je <advance_token+0xXXXX>
- lea rdi,[r13+0xXXXX]
+ lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
@@ -652,10 +669,10 @@ Disassembly of section .text:
cmp rdi,rbx
setne dl
add rdx,rdi
- mov r13,rdi
+ mov r12,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -667,55 +684,40 @@ Disassembly of section .text:
cmp edi,0x30
jae <advance_token+0xXXXX>
xor edx,edx
- cmp r13,rbx
+ cmp r12,rbx
setne cl
je <advance_token+0xXXXX>
- movzx edi,BYTE PTR [r13+0xXXXX]
+ movzx edi,BYTE PTR [r12]
test dil,dil
js <advance_token.cold.0+0xXXXX>
cmp edi,0x27
jbe <advance_token+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
+ xor r13d,r13d
xor r15d,r15d
- xor r12d,r12d
+ mov r12,r15
shl r12,0x20
- or r12,r11
- or r11d,r15d
- mov ebp,r15d
- shr ebp,0x8
- mov r14d,r15d
- shr r14d,0x10
- shr r15d,0x18
- shr r12,0x20
+ or r12,r13
+ or rbp,r12
+ mov r14,r12
+ shr r14,0x8
+ shr r12,0x10
+ shr r13d,0x18
+ mov r15d,r15d
jmp <advance_token+0xXXXX>
mov ecx,edi
movabs rdx,0x8c00000000
bt rdx,rcx
jae <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- cmp ecx,0x110000
- je <advance_token.cold.0+0xXXXX>
- mov r15,rax
- cmp rax,rbx
- je <advance_token.cold.0+0xXXXX>
- lea rax,[r15+0xXXXX]
- mov QWORD PTR [rsi],rax
- movzx ecx,BYTE PTR [r15]
- test cl,cl
- js <advance_token+0xXXXX>
- cmp ecx,0x2a
- je <advance_token+0xXXXX>
- cmp ecx,0x2f
- jne <advance_token+0xXXXX>
- jmp <advance_token+0xXXXX>
xor edx,edx
- cmp r13,rbx
+ cmp r12,rbx
setne dl
- add rdx,r13
- cmp r13,rbx
+ add rdx,r12
+ cmp r12,rbx
je <advance_token.cold.0+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor r9d,r9d
@@ -729,19 +731,15 @@ Disassembly of section .text:
je <advance_token+0xXXXX>
cmp ecx,0x23
je <advance_token+0xXXXX>
- mov r11b,0x3
- cmp r13,rbx
+ mov ebp,0x3
+ cmp r12,rbx
je <advance_token+0xXXXX>
- mov rdx,r13
+ mov rdx,r12
inc rdx
jmp <advance_token+0xXXXX>
- cmp edi,0x3a
- jb <advance_token+0xXXXX>
- cmp edi,0x5f
- jne <advance_token+0xXXXX>
- cmp rbx,r13
+ cmp rbx,r12
je <advance_token+0xXXXX>
- lea rdi,[r13+0xXXXX]
+ lea rdi,[r12+0xXXXX]
mov QWORD PTR [rsi],rdi
test cl,cl
js <advance_token.cold.0+0xXXXX>
@@ -749,11 +747,11 @@ Disassembly of section .text:
cmp rdi,rbx
setne dl
add rdx,rdi
- xor ebp,ebp
- mov r13,rdi
+ xor r14d,r14d
+ mov r12,rdi
cmp rdi,rbx
je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [r13+0xXXXX]
+ movzx ecx,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -763,30 +761,26 @@ Disassembly of section .text:
cmp edx,0x1a
jb <advance_token+0xXXXX>
cmp edi,0x30
- jae <advance_token+0xXXXX>
- xor edx,edx
- cmp r13,rbx
- setne cl
+ jb <advance_token+0xXXXX>
+ cmp edi,0x3a
+ jb <advance_token+0xXXXX>
+ cmp edi,0x5f
je <advance_token+0xXXXX>
- movzx edi,BYTE PTR [r13+0xXXXX]
- test dil,dil
- jns <advance_token+0xXXXX>
- jmp <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jb <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
lea rdx,[r14+0xXXXX]
jmp <advance_token+0xXXXX>
- mov r12,QWORD PTR [rsi]
+ mov r15,QWORD PTR [rsi]
mov rbx,QWORD PTR [rsi+0xXXXX]
xor r14d,r14d
- cmp r12,rbx
+ cmp r15,rbx
setne r14b
- add r14,r12
+ add r14,r15
mov rdx,r14
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [r12]
+ movzx ecx,BYTE PTR [r15]
mov rdx,r14
test cl,cl
jns <advance_token+0xXXXX>
@@ -806,9 +800,9 @@ Disassembly of section .text:
cmp ecx,0x27
je <advance_token+0xXXXX>
mov rcx,r14
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- mov dl,BYTE PTR [r12]
+ mov dl,BYTE PTR [r15]
movzx edi,dl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -832,21 +826,21 @@ Disassembly of section .text:
js <advance_token.cold.0+0xXXXX>
movzx eax,dl
add eax,0xffffffd0
- xor ebp,ebp
+ xor r14d,r14d
cmp eax,0xa
- setb bpl
- shl ebp,0x8
+ setb r14b
+ shl r14d,0x8
mov eax,0x1
- add r12,rax
- mov QWORD PTR [rsi],r12
+ add r15,rax
+ mov QWORD PTR [rsi],r15
mov rdi,rsi
mov r15,rsi
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,r15
mov rdi,QWORD PTR [r15]
xor r8d,r8d
- mov r11d,0x8
- mov r14d,0x10000
+ mov ebp,0x8
+ mov r12d,0x10000
cmp rdi,QWORD PTR [r15+0xXXXX]
setne dl
je <advance_token.cold.0+0xXXXX>
@@ -856,7 +850,7 @@ Disassembly of section .text:
js <advance_token.cold.0+0xXXXX>
cmp ecx,0x27
je <advance_token.cold.0+0xXXXX>
- xor r12d,r12d
+ xor r15d,r15d
jmp <advance_token+0xXXXX>
movzx ecx,BYTE PTR [r14+0xXXXX]
and edx,0x7
@@ -875,9 +869,9 @@ Disassembly of section .text:
lea rcx,[r14+0xXXXX]
jmp <advance_token+0xXXXX>
mov rcx,r14
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- mov dl,BYTE PTR [r12]
+ mov dl,BYTE PTR [r15]
mov rcx,r14
test dl,dl
jns <advance_token+0xXXXX>
@@ -896,9 +890,9 @@ Disassembly of section .text:
js <advance_token.cold.0+0xXXXX>
cmp edx,0x27
jne <advance_token+0xXXXX>
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [r12]
+ movzx ecx,BYTE PTR [r15]
test cl,cl
jns <advance_token+0xXXXX>
mov edx,ecx
@@ -918,39 +912,39 @@ Disassembly of section .text:
mov ecx,edi
cmp ecx,0x5c
je <advance_token+0xXXXX>
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- lea r14,[r12+0xXXXX]
+ lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
- mov cl,BYTE PTR [r12]
+ mov cl,BYTE PTR [r15]
test cl,cl
jns <advance_token+0xXXXX>
- lea r14,[r12+0xXXXX]
+ lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
cmp cl,0xe0
jb <advance_token+0xXXXX>
- lea r14,[r12+0xXXXX]
+ lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
cmp cl,0xf0
jae <advance_token+0xXXXX>
cmp r14,rbx
je <advance_token.cold.0+0xXXXX>
- lea r15,[r14+0xXXXX]
- mov QWORD PTR [rsi],r15
+ lea r13,[r14+0xXXXX]
+ mov QWORD PTR [rsi],r13
mov cl,BYTE PTR [r14]
test cl,cl
js <advance_token.cold.0+0xXXXX>
- mov r12,r15
- sub r12,rbx
- add r12,QWORD PTR [rsi+0xXXXX]
+ mov r15,r13
+ sub r15,rbx
+ add r15,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
- mov r11d,0x7
- mov ebp,0x200
- mov r14d,0x10000
- cmp r15,rbx
+ mov ebp,0x7
+ mov r14d,0x200
+ mov r12d,0x10000
+ cmp r13,rbx
setne dl
je <advance_token+0xXXXX>
- mov cl,BYTE PTR [r15]
+ mov cl,BYTE PTR [r13+0xXXXX]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -963,19 +957,24 @@ Disassembly of section .text:
jb <advance_token.cold.0+0xXXXX>
cmp edi,0x80
jae <advance_token.cold.0+0xXXXX>
- or r11d,r14d
- or r11d,ebp
- shr ebp,0x8
- shr r14d,0x10
+ shl r15,0x20
+ or r15,r12
+ add r15,r14
+ or rbp,r15
+ mov r14,r15
+ shr r14,0x8
+ mov r12,r15
+ shr r12,0x10
+ shr r15,0x20
jmp <advance_token+0xXXXX>
- add r12,0x4
- mov QWORD PTR [rsi],r12
- mov r14,r12
+ add r15,0x4
+ mov QWORD PTR [rsi],r15
+ mov r14,r15
jmp <advance_token+0xXXXX>
cmp edx,0x27
jne <advance_token.cold.0+0xXXXX>
- lea r15,[r14+0xXXXX]
- mov QWORD PTR [rsi],r15
+ lea r13,[r14+0xXXXX]
+ mov QWORD PTR [rsi],r13
test cl,cl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
@@ -983,18 +982,18 @@ Disassembly of section .text:
mov QWORD PTR [rsi],rdx
test cl,cl
js <advance_token.cold.0+0xXXXX>
- mov r12,rbx
+ mov r15,rbx
mov rcx,rbx
cmp rdx,rbx
je <advance_token+0xXXXX>
- lea r12,[rdx+0xXXXX]
- mov QWORD PTR [rsi],r12
+ lea r15,[rdx+0xXXXX]
+ mov QWORD PTR [rsi],r15
mov dil,BYTE PTR [rdx]
- mov rcx,r12
+ mov rcx,r15
test dil,dil
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- mov rcx,r12
+ mov rcx,r15
mov r14,rcx
xor r8d,r8d
cmp rcx,rbx
@@ -1013,43 +1012,122 @@ Disassembly of section .text:
mov rcx,rbx
cmp r14,rbx
je <advance_token+0xXXXX>
- lea r12,[r14+0xXXXX]
- mov QWORD PTR [rsi],r12
+ lea r15,[r14+0xXXXX]
+ mov QWORD PTR [rsi],r15
movzx edx,BYTE PTR [r14]
- mov rcx,r12
+ mov rcx,r15
test dl,dl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- mov r11b,0x15
+ cmp edx,0x110000
+ je <advance_token.cold.0+0xXXXX>
+ mov r14,rax
+ cmp rax,rbx
+ je <advance_token.cold.0+0xXXXX>
+ lea rax,[r14+0xXXXX]
+ mov QWORD PTR [rcx],rax
+ movzx edx,BYTE PTR [r14]
+ test dl,dl
+ js <advance_token+0xXXXX>
+ cmp edx,0x2a
+ je <advance_token+0xXXXX>
+ cmp edx,0x2f
+ jne <advance_token+0xXXXX>
+ xor esi,esi
+ cmp rax,rbx
+ setne dl
+ je <advance_token.cold.0+0xXXXX>
+ movzx ecx,BYTE PTR [rax]
+ test cl,cl
+ js <advance_token.cold.0+0xXXXX>
+ cmp ecx,0x2a
+ je <advance_token+0xXXXX>
+ mov rcx,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
- mov r11b,0x1f
+ xor edx,edx
+ cmp rax,rbx
+ setne cl
+ je <advance_token.cold.0+0xXXXX>
+ movzx esi,BYTE PTR [rax]
+ test sil,sil
+ js <advance_token.cold.0+0xXXXX>
+ cmp esi,0x2f
+ jne <advance_token+0xXXXX>
+ mov ecx,0x1
+ add rax,rcx
+ mov rcx,QWORD PTR [rsp+0xXXXX]
+ mov QWORD PTR [rcx],rax
+ dec r13
+ jne <advance_token+0xXXXX>
+ mov r14,r12
+ or r14,r15
+ lea rbp,[r12+r15*1]
+ inc rbp
+ shr r14d,0x8
+ shr r12d,0x10
+ xor r15d,r15d
+ xor r13d,r13d
+ jmp <advance_token+0xXXXX>
+ mov QWORD PTR [rsp+0xXXXX],rsi
+ mov QWORD PTR [rsp+0xXXXX],rax
+ cmp r8d,0x2a
+ je <advance_token+0xXXXX>
+ xor r14d,r14d
+ xor r12d,r12d
+ xor r15d,r15d
+ mov rax,QWORD PTR [rsp+0xXXXX]
+ mov rsi,QWORD PTR [rsp+0xXXXX]
+ jmp <advance_token+0xXXXX>
+ lea r14,[r12+0xXXXX]
+ mov rax,QWORD PTR [rsp+0xXXXX]
+ mov QWORD PTR [rax],r14
+ test dl,dl
+ js <advance_token.cold.0+0xXXXX>
+ xor edx,edx
+ cmp r14,rbx
+ setne cl
+ je <advance_token.cold.0+0xXXXX>
+ movzx eax,BYTE PTR [r14]
+ test al,al
+ js <advance_token.cold.0+0xXXXX>
+ cmp eax,0x21
+ je <advance_token+0xXXXX>
+ mov r15d,0x200
+ cmp eax,0x2a
+ je <advance_token+0xXXXX>
+ mov r13d,0x1
+ mov rcx,QWORD PTR [rsp+0xXXXX]
+ mov r12d,0x10000
+ jmp <advance_token+0xXXXX>
+ mov r15d,0x100
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x15
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x1f
jmp <advance_token+0xXXXX>
mov BYTE PTR [rax],0x25
xor ecx,ecx
jmp <advance_token+0xXXXX>
- mov r11b,0x12
- jmp <advance_token+0xXXXX>
- mov r11b,0x6
- xor ebp,ebp
+ mov ebp,0x12
jmp <advance_token+0xXXXX>
inc rbx
jmp <advance_token+0xXXXX>
- mov r12,rbx
- cmp r13,rbx
+ mov r15,rbx
+ cmp r12,rbx
je <advance_token+0xXXXX>
- lea r12,[r13+0xXXXX]
- mov QWORD PTR [rsi],r12
- mov cl,BYTE PTR [r13+0xXXXX]
+ lea r15,[r12+0xXXXX]
+ mov QWORD PTR [rsi],r15
+ mov cl,BYTE PTR [r12]
test cl,cl
js <advance_token.cold.0+0xXXXX>
xor ecx,ecx
- cmp r12,rbx
+ cmp r15,rbx
setne cl
- add rcx,r12
+ add rcx,r15
mov rdi,rcx
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- mov dl,BYTE PTR [r12]
+ mov dl,BYTE PTR [r15]
mov rdi,rcx
test dl,dl
js <advance_token.cold.0+0xXXXX>
@@ -1062,37 +1140,37 @@ Disassembly of section .text:
js <advance_token.cold.0+0xXXXX>
cmp edx,0x27
jne <advance_token+0xXXXX>
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token+0xXXXX>
- movzx edx,BYTE PTR [r12]
+ movzx edx,BYTE PTR [r15]
test dl,dl
js <advance_token.cold.0+0xXXXX>
cmp edx,0x5c
je <advance_token+0xXXXX>
- cmp r12,rbx
+ cmp r15,rbx
je <advance_token.cold.0+0xXXXX>
- lea r14,[r12+0xXXXX]
+ lea r14,[r15+0xXXXX]
mov QWORD PTR [rsi],r14
- mov cl,BYTE PTR [r12]
+ mov cl,BYTE PTR [r15]
test cl,cl
js <advance_token.cold.0+0xXXXX>
cmp r14,rbx
je <advance_token.cold.0+0xXXXX>
- lea rbp,[r14+0xXXXX]
- mov QWORD PTR [rsi],rbp
+ lea r12,[r14+0xXXXX]
+ mov QWORD PTR [rsi],r12
mov cl,BYTE PTR [r14]
test cl,cl
js <advance_token.cold.0+0xXXXX>
- mov r12,rbp
- sub r12,rbx
- add r12,QWORD PTR [rsi+0xXXXX]
+ mov r15,r12
+ sub r15,rbx
+ add r15,QWORD PTR [rsi+0xXXXX]
xor r8d,r8d
- mov r11d,0x7
- mov r15d,0x10300
- cmp rbp,rbx
+ mov ebp,0x7
+ mov r13d,0x10300
+ cmp r12,rbx
setne dl
je <advance_token+0xXXXX>
- mov cl,BYTE PTR [rbp+0xXXXX]
+ mov cl,BYTE PTR [r12]
movzx edi,cl
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -1108,14 +1186,14 @@ Disassembly of section .text:
jmp <advance_token.cold.0+0xXXXX>
cmp eax,0x27
jne <advance_token.cold.0+0xXXXX>
- lea rbp,[r14+0xXXXX]
- mov QWORD PTR [rsi],rbp
+ lea r12,[r14+0xXXXX]
+ mov QWORD PTR [rsi],r12
test cl,cl
- mov rax,r13
+ mov rax,QWORD PTR [rsp+0xXXXX]
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- mov r13,rax
- mov rcx,r12
+ mov QWORD PTR [rsp+0xXXXX],rax
+ mov rcx,r15
mov r14,rcx
xor edi,edi
cmp rcx,rbx
@@ -1133,14 +1211,14 @@ Disassembly of section .text:
mov QWORD PTR [rsi],rax
test cl,cl
js <advance_token.cold.0+0xXXXX>
- mov r12,rbx
+ mov r15,rbx
mov rcx,rbx
cmp rax,rbx
je <advance_token+0xXXXX>
- lea r12,[rax+0xXXXX]
- mov QWORD PTR [rsi],r12
+ lea r15,[rax+0xXXXX]
+ mov QWORD PTR [rsi],r15
mov dl,BYTE PTR [rax]
- mov rcx,r12
+ mov rcx,r15
test dl,dl
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
@@ -1149,139 +1227,14 @@ Disassembly of section .text:
mov rcx,rbx
cmp r14,rbx
je <advance_token+0xXXXX>
- lea r12,[r14+0xXXXX]
- mov QWORD PTR [rsi],r12
+ lea r15,[r14+0xXXXX]
+ mov QWORD PTR [rsi],r15
mov al,BYTE PTR [r14]
- mov rcx,r12
+ mov rcx,r15
test al,al
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- cmp rax,rbx
- je <advance_token.cold.0+0xXXXX>
- lea rsi,[rax+0xXXXX]
- mov QWORD PTR [r12],rsi
- mov bpl,0x1
- test cl,cl
- js <advance_token.cold.0+0xXXXX>
- xor edx,edx
- cmp rsi,rbx
- setne dl
- add rdx,rsi
- mov rax,rsi
- mov r13,rbx
- cmp rsi,rbx
- je <advance_token+0xXXXX>
- movzx ecx,BYTE PTR [rax]
- mov edi,ecx
- test cl,cl
- js <advance_token.cold.0+0xXXXX>
- cmp edi,0x5f
- je <advance_token+0xXXXX>
- add edi,0xffffffd0
- cmp edi,0xa
- jb <advance_token+0xXXXX>
- mov r13,rax
- mov r14b,0x2
- jmp <advance_token+0xXXXX>
- mov rbx,r12
- mov rdi,r12
- call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
- mov rsi,QWORD PTR [r12]
- mov rbx,QWORD PTR [r12+0xXXXX]
- jmp <advance_token+0xXXXX>
- mov QWORD PTR [rsp+0xXXXX],rax
- lea rax,[r13+0xXXXX]
- mov r12,rsi
- mov QWORD PTR [rsi],rax
- test dl,dl
- js <advance_token.cold.0+0xXXXX>
- cmp rax,rbx
- je <advance_token.cold.0+0xXXXX>
- lea rdx,[rax+0xXXXX]
- xor ebp,ebp
- jmp <advance_token+0xXXXX>
- cmp ecx,0x62
- je <advance_token+0xXXXX>
- cmp ecx,0x5f
- je <advance_token+0xXXXX>
- cmp ecx,0x45
- je <advance_token+0xXXXX>
- add ecx,0xffffffd0
- cmp ecx,0xa
- jb <advance_token+0xXXXX>
- mov r14b,0xa
- xor ebp,ebp
- jmp <advance_token+0xXXXX>
- cmp ecx,0x65
- je <advance_token+0xXXXX>
- jmp <advance_token+0xXXXX>
- cmp ecx,0x6f
- jne <advance_token+0xXXXX>
- mov QWORD PTR [rsp+0xXXXX],rax
- lea rax,[r13+0xXXXX]
- mov r12,rsi
- mov QWORD PTR [rsi],rax
- test dl,dl
- js <advance_token.cold.0+0xXXXX>
- cmp rax,rbx
- je <advance_token.cold.0+0xXXXX>
- lea rdx,[rax+0xXXXX]
- xor ebp,ebp
- movzx ecx,BYTE PTR [rax]
- mov edi,ecx
- test cl,cl
- js <advance_token.cold.0+0xXXXX>
- cmp edi,0x5f
- je <advance_token.cold.0+0xXXXX>
- add edi,0xffffffd0
- cmp edi,0xa
- jae <advance_token+0xXXXX>
- cmp rax,rbx
- je <advance_token.cold.0+0xXXXX>
- lea rsi,[rax+0xXXXX]
- mov QWORD PTR [r12],rsi
- mov bpl,0x1
- test cl,cl
- js <advance_token.cold.0+0xXXXX>
- xor edx,edx
- cmp rsi,rbx
- setne dl
- add rdx,rsi
- mov rax,rsi
- mov r13,rbx
- cmp rsi,rbx
- jne <advance_token+0xXXXX>
- jmp <advance_token+0xXXXX>
- mov r13,rax
- mov r14b,0x8
- test bpl,0x1
- je <advance_token.cold.0+0xXXXX>
- mov rax,QWORD PTR [rsp+0xXXXX]
- mov rsi,r12
- jmp <advance_token+0xXXXX>
- mov rcx,r13
- inc rcx
- mov QWORD PTR [rsp+0xXXXX],rax
- mov r12,rsi
- movzx eax,BYTE PTR [r13+0xXXXX]
- mov esi,eax
- test al,al
- js <advance_token.cold.0+0xXXXX>
- cmp esi,0x5f
- je <advance_token+0xXXXX>
- cmp r13,rbx
- je <advance_token+0xXXXX>
- add esi,0xffffffc6
- cmp esi,0xfffffff6
- jae <advance_token+0xXXXX>
- mov r14b,0xa
- jmp <advance_token+0xXXXX>
- lea rdx,[r13+0xXXXX]
- mov QWORD PTR [r12],rdx
- test al,al
- jns <advance_token+0xXXXX>
- jmp <advance_token.cold.0+0xXXXX>
- cmp r13,rbx
+ cmp r12,rbx
jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
mov edi,edx
@@ -1313,41 +1266,30 @@ Disassembly of section .text:
test r8b,r8b
jns <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- lea rcx,[rdx+0xXXXX]
- mov QWORD PTR [rsi],rcx
- cmp dil,0xe0
- jb <advance_token+0xXXXX>
- lea rcx,[rdx+0xXXXX]
- mov QWORD PTR [rsi],rcx
- cmp dil,0xf0
- jb <advance_token+0xXXXX>
- add rdx,0x4
- mov QWORD PTR [rsi],rdx
- mov rcx,rdx
- jmp <advance_token+0xXXXX>
mov r14,rax
- lea rax,[r13+0xXXXX]
+ lea rax,[r12+0xXXXX]
mov QWORD PTR [rsi],rax
- mov al,BYTE PTR [r13+0xXXXX]
+ mov al,BYTE PTR [r12]
test al,al
js <advance_token.cold.0+0xXXXX>
mov rdi,rsi
- mov r15,rsi
- call <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor20double_quoted_string>
- mov r13,QWORD PTR [r15]
- mov rcx,QWORD PTR [r15+0xXXXX]
- mov r12,r13
- sub r12,rcx
- mov rbx,r15
- add r12,QWORD PTR [r15+0xXXXX]
+ mov r13,rsi
+ call <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor20double_quoted_string>
+ mov r12,QWORD PTR [r13+0xXXXX]
+ mov rcx,QWORD PTR [r13+0xXXXX]
+ mov r15,r12
+ sub r15,rcx
+ mov rbx,r13
+ add r15,QWORD PTR [r13+0xXXXX]
+ mov ebp,0x7
test al,al
je <advance_token.cold.0+0xXXXX>
xor edx,edx
- mov r15d,0x10500
- cmp r13,rcx
+ mov r13d,0x10500
+ cmp r12,rcx
setne cl
je <advance_token+0xXXXX>
- mov al,BYTE PTR [r13+0xXXXX]
+ mov al,BYTE PTR [r12]
movzx edi,al
test dil,dil
js <advance_token.cold.0+0xXXXX>
@@ -1362,15 +1304,161 @@ Disassembly of section .text:
jae <advance_token.cold.0+0xXXXX>
mov rax,r14
mov rsi,rbx
- mov r11d,0x7
jmp <advance_token+0xXXXX>
- mov r11b,0x14
+ lea rcx,[rdx+0xXXXX]
+ mov QWORD PTR [rsi],rcx
+ cmp dil,0xe0
+ jb <advance_token+0xXXXX>
+ lea rcx,[rdx+0xXXXX]
+ mov QWORD PTR [rsi],rcx
+ cmp dil,0xf0
+ jb <advance_token+0xXXXX>
+ add rdx,0x4
+ mov QWORD PTR [rsi],rdx
+ mov rcx,rdx
jmp <advance_token+0xXXXX>
- mov r11b,0x23
+ mov rbx,r14
+ mov rdi,r14
+ call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
+ mov rsi,QWORD PTR [r14]
+ mov rbx,QWORD PTR [r14+0xXXXX]
+ xor ecx,ecx
+ cmp rsi,rbx
+ setne cl
+ add rcx,rsi
+ xor edx,edx
+ mov r12,rsi
+ mov r13d,0x0
+ cmp rsi,rbx
+ mov rax,r15
+ mov rsi,r14
+ jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
- mov r11b,0x22
+ mov rcx,r12
+ inc rcx
+ mov r14,rsi
+ mov r15,rax
+ movzx eax,BYTE PTR [r12]
+ mov esi,eax
+ test al,al
+ js <advance_token.cold.0+0xXXXX>
+ cmp esi,0x5f
+ je <advance_token+0xXXXX>
+ cmp r12,rbx
+ je <advance_token+0xXXXX>
+ add esi,0xffffffc6
+ cmp esi,0xfffffff6
+ jae <advance_token+0xXXXX>
+ mov bpl,0xa
+ mov rax,r15
+ mov rsi,r14
jmp <advance_token+0xXXXX>
- mov r13,rax
+ lea rsi,[r12+0xXXXX]
+ mov QWORD PTR [r14],rsi
+ test al,al
+ jns <advance_token+0xXXXX>
+ jmp <advance_token.cold.0+0xXXXX>
+ cmp ecx,0x62
+ je <advance_token+0xXXXX>
+ cmp ecx,0x5f
+ je <advance_token+0xXXXX>
+ cmp ecx,0x45
+ jne <advance_token+0xXXXX>
+ jmp <advance_token+0xXXXX>
+ mov r14,rax
+ lea rax,[r12+0xXXXX]
+ mov r15,rsi
+ mov QWORD PTR [rsi],rax
+ test dl,dl
+ js <advance_token.cold.0+0xXXXX>
+ cmp rax,rbx
+ je <advance_token.cold.0+0xXXXX>
+ lea rdx,[rax+0xXXXX]
+ xor r13d,r13d
+ jmp <advance_token+0xXXXX>
+ cmp rax,rbx
+ je <advance_token.cold.0+0xXXXX>
+ lea rsi,[rax+0xXXXX]
+ mov QWORD PTR [r15],rsi
+ mov r13b,0x1
+ test cl,cl
+ js <advance_token.cold.0+0xXXXX>
+ xor edx,edx
+ cmp rsi,rbx
+ setne dl
+ add rdx,rsi
+ mov rax,rsi
+ mov r12,rbx
+ cmp rsi,rbx
+ je <advance_token+0xXXXX>
+ movzx ecx,BYTE PTR [rax]
+ mov edi,ecx
+ test cl,cl
+ js <advance_token.cold.0+0xXXXX>
+ cmp edi,0x5f
+ je <advance_token+0xXXXX>
+ add edi,0xffffffd0
+ cmp edi,0xa
+ jb <advance_token+0xXXXX>
+ mov r12,rax
+ mov bpl,0x2
+ jmp <advance_token+0xXXXX>
+ mov rbx,r15
+ mov rdi,r15
+ call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
+ mov rsi,QWORD PTR [r15]
+ mov rbx,QWORD PTR [r15+0xXXXX]
+ jmp <advance_token+0xXXXX>
+ cmp ecx,0x65
+ je <advance_token+0xXXXX>
+ jmp <advance_token+0xXXXX>
+ cmp ecx,0x6f
+ jne <advance_token+0xXXXX>
+ mov r14,rax
+ lea rax,[r12+0xXXXX]
+ mov r15,rsi
+ mov QWORD PTR [rsi],rax
+ test dl,dl
+ js <advance_token.cold.0+0xXXXX>
+ cmp rax,rbx
+ je <advance_token.cold.0+0xXXXX>
+ lea rdx,[rax+0xXXXX]
+ xor r13d,r13d
+ movzx ecx,BYTE PTR [rax]
+ mov edi,ecx
+ test cl,cl
+ js <advance_token.cold.0+0xXXXX>
+ cmp edi,0x5f
+ je <advance_token.cold.0+0xXXXX>
+ add edi,0xffffffd0
+ cmp edi,0xa
+ jae <advance_token+0xXXXX>
+ cmp rax,rbx
+ je <advance_token.cold.0+0xXXXX>
+ lea rsi,[rax+0xXXXX]
+ mov QWORD PTR [r15],rsi
+ mov r13b,0x1
+ test cl,cl
+ js <advance_token.cold.0+0xXXXX>
+ xor edx,edx
+ cmp rsi,rbx
+ setne dl
+ add rdx,rsi
+ mov rax,rsi
+ mov r12,rbx
+ cmp rsi,rbx
+ jne <advance_token+0xXXXX>
+ jmp <advance_token+0xXXXX>
+ mov r12,rax
+ mov bpl,0x8
+ test r13b,0x1
+ je <advance_token.cold.0+0xXXXX>
+ mov rax,r14
+ mov rsi,r15
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x14
+ jmp <advance_token+0xXXXX>
+ mov QWORD PTR [rsp+0xXXXX],rax
lea rdx,[rbx+0xXXXX]
mov rax,rsi
mov QWORD PTR [rsi],rdx
@@ -1380,8 +1468,7 @@ Disassembly of section .text:
mov rdi,rax
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,rbx
- mov rax,r13
- mov r11b,0x7
+ mov rax,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
mov edx,0x1
add rbx,rdx
@@ -1417,15 +1504,74 @@ Disassembly of section .text:
cmp r8d,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- cmp r13,rbx
+ mov ebp,0x23
+ jmp <advance_token+0xXXXX>
+ mov ebp,0x22
+ jmp <advance_token+0xXXXX>
+ mov QWORD PTR [rsp+0xXXXX],rsi
+ mov QWORD PTR [rsp+0xXXXX],rax
+ cmp edi,0x5f
+ je <advance_token+0xXXXX>
+ mov eax,edi
+ and eax,0x1fffdf
+ add eax,0xffffffbf
+ cmp eax,0x1a
+ jb <advance_token+0xXXXX>
+ cmp edi,0x80
+ mov rax,QWORD PTR [rsp+0xXXXX]
+ mov rsi,QWORD PTR [rsp+0xXXXX]
+ jae <advance_token.cold.0+0xXXXX>
+ mov QWORD PTR [rsp+0xXXXX],rax
+ lea r14,[rsp+0xXXXX]
+ mov rdi,r14
+ mov rbx,rsi
+ mov edx,0x1
+ call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xffe638>
+ mov rsi,rbx
+ mov r13,QWORD PTR [rbx]
+ mov r12,QWORD PTR [rbx+0xXXXX]
+ mov r15,QWORD PTR [rbx+0xXXXX]
+ add r15,r13
+ mov ebp,DWORD PTR [r14]
+ cmp ebp,0x5
+ jne <advance_token+0xXXXX>
+ xor edx,edx
+ cmp r13,r12
+ setne cl
+ je <advance_token+0xXXXX>
+ mov al,BYTE PTR [r13+0xXXXX]
+ movzx edi,al
+ test dil,dil
+ js <advance_token.cold.0+0xXXXX>
+ cmp edi,0x5f
je <advance_token.cold.0+0xXXXX>
- lea r14,[r13+0xXXXX]
+ mov ecx,edi
+ and ecx,0x1fffdf
+ add ecx,0xffffffbf
+ cmp ecx,0x1a
+ jb <advance_token.cold.0+0xXXXX>
+ cmp edi,0x80
+ mov rsi,rbx
+ jae <advance_token.cold.0+0xXXXX>
+ sub r15,r12
+ xor r12d,r12d
+ cmp ebp,0x5
+ sete r12b
+ mov r13b,BYTE PTR [rsp+0xXXXX]
+ mov r14d,0x7
+ mov ebp,0x7
+ mov rax,QWORD PTR [rsp+0xXXXX]
+ jmp <advance_token+0xXXXX>
+ cmp r12,rbx
+ je <advance_token.cold.0+0xXXXX>
+ lea r14,[r12+0xXXXX]
mov rax,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rax],r14
- mov al,BYTE PTR [r13+0xXXXX]
+ mov al,BYTE PTR [r12]
test al,al
js <advance_token.cold.0+0xXXXX>
xor edx,edx
+ mov ebp,0x5
cmp r14,rbx
setne cl
je <advance_token.cold.0+0xXXXX>
@@ -1449,217 +1595,85 @@ Disassembly of section .text:
mov rdi,rbx
call <11rustc_lexer6cursorNtB3_6Cursor9eat_whileNvB5_14is_id_continueEB5_>
mov rsi,rbx
- xor ebp,ebp
xor r14d,r14d
xor r12d,r12d
xor r15d,r15d
+ xor r13d,r13d
mov rax,QWORD PTR [rsp+0xXXXX]
- mov r11b,0x5
jmp <advance_token+0xXXXX>
- mov QWORD PTR [rsp+0xXXXX],rsi
- mov QWORD PTR [rsp+0xXXXX],rax
- cmp edi,0x5f
- je <advance_token+0xXXXX>
- mov eax,edi
- and eax,0x1fffdf
- add eax,0xffffffbf
- cmp eax,0x1a
- jb <advance_token+0xXXXX>
- cmp edi,0x80
- mov rax,QWORD PTR [rsp+0xXXXX]
- mov rsi,QWORD PTR [rsp+0xXXXX]
- jae <advance_token.cold.0+0xXXXX>
- mov QWORD PTR [rsp+0xXXXX],rax
- lea r14,[rsp+0xXXXX]
- mov rdi,r14
+ mov r14,rax
+ lea rax,[r12+0xXXXX]
mov rbx,rsi
- mov edx,0x1
- call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xfe9a98>
- mov rsi,rbx
- mov r13,QWORD PTR [rbx]
- mov r15,QWORD PTR [rbx+0xXXXX]
- mov r12d,DWORD PTR [rbx+0xXXXX]
- add r12d,r13d
- mov ebp,DWORD PTR [r14]
- cmp ebp,0x5
- jne <advance_token+0xXXXX>
- xor edx,edx
- cmp r13,r15
- setne cl
- je <advance_token+0xXXXX>
- mov al,BYTE PTR [r13+0xXXXX]
- movzx edi,al
- test dil,dil
- js <advance_token.cold.0+0xXXXX>
- cmp edi,0x5f
- je <advance_token.cold.0+0xXXXX>
- mov ecx,edi
- and ecx,0x1fffdf
- add ecx,0xffffffbf
- cmp ecx,0x1a
- jb <advance_token.cold.0+0xXXXX>
- cmp edi,0x80
- mov rsi,rbx
- jae <advance_token.cold.0+0xXXXX>
- sub r12d,r15d
- cmp ebp,0x5
- sete r14b
- mov r15b,BYTE PTR [rsp+0xXXXX]
- mov bpl,0x7
- mov r11b,0x7
- mov rax,QWORD PTR [rsp+0xXXXX]
- jmp <advance_token+0xXXXX>
- xor edx,edx
- cmp rax,rbx
- setne cl
- je <advance_token.cold.0+0xXXXX>
- movzx esi,BYTE PTR [rax]
- test sil,sil
- js <advance_token.cold.0+0xXXXX>
- cmp esi,0x2f
- jne <advance_token+0xXXXX>
- mov ecx,0x1
- add rax,rcx
- mov rsi,QWORD PTR [rsp+0xXXXX]
- mov QWORD PTR [rsi],rax
- dec r12
- jne <advance_token+0xXXXX>
- xor r12d,r12d
- mov r14b,0x1
- mov r11b,0x1
- xor r15d,r15d
- jmp <advance_token+0xXXXX>
- xor esi,esi
- cmp rax,rbx
- setne dl
- je <advance_token.cold.0+0xXXXX>
- movzx ecx,BYTE PTR [rax]
- test cl,cl
- js <advance_token.cold.0+0xXXXX>
- cmp ecx,0x2a
- je <advance_token+0xXXXX>
- mov rsi,QWORD PTR [rsp+0xXXXX]
- jmp <advance_token+0xXXXX>
- mov QWORD PTR [rsp+0xXXXX],rax
- lea rax,[r13+0xXXXX]
- mov r12,rsi
mov QWORD PTR [rsi],rax
test cl,cl
js <advance_token.cold.0+0xXXXX>
- mov rdi,r12
- call <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor18eat_float_exponent>
- mov bpl,0x1
+ mov rdi,rbx
+ call <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor18eat_float_exponent>
+ mov rsi,rbx
+ mov dil,0x1
+ mov dl,0x1
test al,al
- je <advance_token.cold.0+0xXXXX>
- xor r15d,r15d
- mov rax,QWORD PTR [rsp+0xXXXX]
- mov rsi,r12
- jmp <advance_token+0xXXXX>
- mov QWORD PTR [rsp+0xXXXX],rsi
- mov QWORD PTR [rsp+0xXXXX],rax
- cmp r8d,0x2a
- je <advance_token+0xXXXX>
- mov rax,QWORD PTR [rsp+0xXXXX]
- mov rsi,QWORD PTR [rsp+0xXXXX]
- mov r11b,0x21
- jmp <advance_token+0xXXXX>
- lea r15,[r13+0xXXXX]
- mov rax,QWORD PTR [rsp+0xXXXX]
- mov QWORD PTR [rax],r15
- test dl,dl
- js <advance_token.cold.0+0xXXXX>
- xor edx,edx
- cmp r15,rbx
- setne cl
- je <advance_token.cold.0+0xXXXX>
- movzx eax,BYTE PTR [r15]
- test al,al
- js <advance_token.cold.0+0xXXXX>
- cmp eax,0x21
- je <advance_token+0xXXXX>
- mov bpl,0x2
- cmp eax,0x2a
- je <advance_token+0xXXXX>
- mov r12d,0x1
- mov rsi,QWORD PTR [rsp+0xXXXX]
- jmp <advance_token+0xXXXX>
- mov bpl,0x1
- jmp <advance_token+0xXXXX>
+ mov rax,r14
+ jne <advance_token+0xXXXX>
+ jmp <advance_token.cold.0+0xXXXX>
and edi,0x1ffffe
cmp edi,0x22
jne <advance_token+0xXXXX>
- mov r13,rax
+ mov QWORD PTR [rsp+0xXXXX],rax
mov rdi,rsi
mov r14,rsi
- call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
- lea r15,[rsp+0xXXXX]
- mov rdi,r15
+ call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
+ lea r12,[rsp+0xXXXX]
+ mov rdi,r12
mov rsi,r14
mov edx,0x2
- call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xfe9a98>
- mov r12,QWORD PTR [r14+0xXXXX]
- add r12,QWORD PTR [r14]
+ call QWORD PTR [rip+0xXXXX] # <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor24raw_double_quoted_string@@Base-0xffe638>
+ mov r15,QWORD PTR [r14+0xXXXX]
+ add r15,QWORD PTR [r14]
mov rbx,r14
- sub r12,QWORD PTR [r14+0xXXXX]
- mov ebp,DWORD PTR [r15]
+ sub r15,QWORD PTR [r14+0xXXXX]
+ mov ebp,DWORD PTR [r12]
cmp ebp,0x5
jne <advance_token+0xXXXX>
mov rdi,rbx
- call <_RNvMs_Cs7PwxHKQ5CdT_11rustc_lexerNtNtB4_6cursor6Cursor14eat_identifier>
+ call <_RNvMs_Cs9UMZOM84B39_11rustc_lexerNtNtB4_6cursor6Cursor14eat_identifier>
mov eax,DWORD PTR [rsp+0xXXXX]
shl eax,0x18
or rax,0x10800
cmp ebp,0x5
- mov r15d,0x800
- cmove r15,rax
- mov r11d,0x7
- mov rax,r13
- mov rsi,rbx
- jmp <advance_token+0xXXXX>
- mov rbx,r12
- mov rdi,r12
- call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
- mov rdx,QWORD PTR [r12]
- mov rbx,QWORD PTR [r12+0xXXXX]
- xor ecx,ecx
- cmp rdx,rbx
- setne cl
- add rcx,rdx
- xor ebp,ebp
- mov r14b,0xa
- mov r13,rdx
- mov r15d,0x0
- cmp rdx,rbx
+ mov r13d,0x800
+ cmove r13,rax
+ mov ebp,0x7
mov rax,QWORD PTR [rsp+0xXXXX]
- mov rsi,r12
- jne <advance_token+0xXXXX>
jmp <advance_token+0xXXXX>
- mov edx,ecx
- and edx,0x1f
- lea rax,[r15+0xXXXX]
- mov QWORD PTR [rsi],rax
- movzx esi,BYTE PTR [r15+0xXXXX]
- and esi,0x3f
- cmp cl,0xdf
+ mov ebp,0x6
+ jmp <advance_token+0xXXXX>
+ mov esi,edx
+ and esi,0x1f
+ lea rax,[r14+0xXXXX]
+ mov QWORD PTR [rcx],rax
+ movzx ecx,BYTE PTR [r14+0xXXXX]
+ and ecx,0x3f
+ cmp dl,0xdf
jbe <advance_token+0xXXXX>
- lea rax,[r15+0xXXXX]
+ lea rax,[r14+0xXXXX]
mov rdi,QWORD PTR [rsp+0xXXXX]
mov QWORD PTR [rdi],rax
- movzx edi,BYTE PTR [r15+0xXXXX]
- shl esi,0x6
+ movzx edi,BYTE PTR [r14+0xXXXX]
+ shl ecx,0x6
and edi,0x3f
- or edi,esi
- cmp cl,0xf0
+ or edi,ecx
+ cmp dl,0xf0
jae <advance_token.cold.0+0xXXXX>
- shl edx,0xc
- or edi,edx
- mov ecx,edi
- mov rsi,QWORD PTR [rsp+0xXXXX]
+ shl esi,0xc
+ or edi,esi
+ mov edx,edi
+ mov rcx,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
- shl edx,0x6
- or edx,esi
- mov ecx,edx
- mov rsi,QWORD PTR [rsp+0xXXXX]
+ shl esi,0x6
+ or esi,ecx
+ mov edx,esi
+ mov rcx,QWORD PTR [rsp+0xXXXX]
jmp <advance_token+0xXXXX>
movzx edx,BYTE PTR [rbx+0xXXXX]
add rbx,0x4
@@ -1672,21 +1686,22 @@ Disassembly of section .text:
cmp edx,0x110000
jne <advance_token+0xXXXX>
jmp <advance_token.cold.0+0xXXXX>
- mov rdi,r15
+ mov rdi,r14
mov rsi,rbx
- call <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor6second>
+ call <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor6second>
cmp eax,0x2a
sete cl
cmp eax,0x2f
- sete bpl
- or bpl,cl
- add bpl,bpl
+ sete al
+ or al,cl
+ movzx r15d,al
+ shl r15d,0x9
jmp <advance_token+0xXXXX>
mov rbx,QWORD PTR [rsp+0xXXXX]
mov rdi,rbx
- call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs7PwxHKQ5CdT_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf376ea>
- mov rsi,rbx
- inc r12
+ call QWORD PTR [rip+0xXXXX] # <_RNvMNtCs9UMZOM84B39_11rustc_lexer6cursorNtB2_6Cursor4bump@@Base-0xf3928a>
+ mov rcx,rbx
+ inc r13
mov rax,QWORD PTR [rbx]
mov rbx,QWORD PTR [rbx+0xXXXX]
jmp <advance_token+0xXXXX>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment