Created
January 16, 2018 23:55
-
-
Save jeethu/596bfc1251590bc51cc230046b52fb38 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.file "listobject.c" | |
.intel_syntax noprefix | |
.text | |
.p2align 4,,15 | |
.type list_reverse, @function | |
list_reverse: | |
.LFB125: | |
.cfi_startproc | |
mov rdx, QWORD PTR 16[rdi] | |
cmp rdx, 1 | |
jle .L2 | |
mov rax, QWORD PTR 24[rdi] | |
lea rdx, -8[rax+rdx*8] | |
cmp rax, rdx | |
jnb .L2 | |
.p2align 4,,10 | |
.p2align 3 | |
.L3: | |
mov rcx, QWORD PTR [rax] | |
mov rsi, QWORD PTR [rdx] | |
add rax, 8 | |
sub rdx, 8 | |
mov QWORD PTR -8[rax], rsi | |
mov QWORD PTR 8[rdx], rcx | |
cmp rax, rdx | |
jb .L3 | |
.L2: | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
lea rax, _Py_NoneStruct[rip] | |
ret | |
.cfi_endproc | |
.LFE125: | |
.size list_reverse, .-list_reverse | |
.p2align 4,,15 | |
.type list_length, @function | |
list_length: | |
.LFB144: | |
.cfi_startproc | |
mov rax, QWORD PTR 16[rdi] | |
ret | |
.cfi_endproc | |
.LFE144: | |
.size list_length, .-list_length | |
.p2align 4,,15 | |
.type list_traverse, @function | |
list_traverse: | |
.LFB193: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
mov r14, rdi | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
mov r13, rsi | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov rax, QWORD PTR 16[rdi] | |
mov r12, rdx | |
lea rbx, -1[rax] | |
lea rbp, 0[0+rbx*8] | |
jmp .L8 | |
.p2align 4,,10 | |
.p2align 3 | |
.L12: | |
mov rax, QWORD PTR 24[r14] | |
mov rdi, QWORD PTR [rax+rbp] | |
test rdi, rdi | |
je .L11 | |
mov rsi, r12 | |
call r13 | |
test eax, eax | |
jne .L7 | |
.L11: | |
sub rbp, 8 | |
sub rbx, 1 | |
.L8: | |
test rbx, rbx | |
jns .L12 | |
xor eax, eax | |
.L7: | |
pop rbx | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE193: | |
.size list_traverse, .-list_traverse | |
.p2align 4,,15 | |
.type listiter_traverse, @function | |
listiter_traverse: | |
.LFB201: | |
.cfi_startproc | |
mov rdi, QWORD PTR 24[rdi] | |
mov rax, rsi | |
test rdi, rdi | |
je .L15 | |
mov rsi, rdx | |
jmp rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L15: | |
xor eax, eax | |
ret | |
.cfi_endproc | |
.LFE201: | |
.size listiter_traverse, .-listiter_traverse | |
.p2align 4,,15 | |
.type listiter_next, @function | |
listiter_next: | |
.LFB202: | |
.cfi_startproc | |
mov rax, QWORD PTR 24[rdi] | |
test rax, rax | |
je .L20 | |
mov rdx, QWORD PTR 16[rdi] | |
cmp rdx, QWORD PTR 16[rax] | |
jl .L25 | |
mov QWORD PTR 24[rdi], 0 | |
sub QWORD PTR [rax], 1 | |
jne .L20 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov rdx, QWORD PTR 8[rax] | |
mov rdi, rax | |
call [QWORD PTR 48[rdx]] | |
xor eax, eax | |
add rsp, 8 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L25: | |
mov rax, QWORD PTR 24[rax] | |
mov rax, QWORD PTR [rax+rdx*8] | |
add rdx, 1 | |
mov QWORD PTR 16[rdi], rdx | |
add QWORD PTR [rax], 1 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L20: | |
xor eax, eax | |
ret | |
.cfi_endproc | |
.LFE202: | |
.size listiter_next, .-listiter_next | |
.p2align 4,,15 | |
.type listreviter_traverse, @function | |
listreviter_traverse: | |
.LFB208: | |
.cfi_startproc | |
mov rdi, QWORD PTR 24[rdi] | |
mov rax, rsi | |
test rdi, rdi | |
je .L27 | |
mov rsi, rdx | |
jmp rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L27: | |
xor eax, eax | |
ret | |
.cfi_endproc | |
.LFE208: | |
.size listreviter_traverse, .-listreviter_traverse | |
.p2align 4,,15 | |
.type listreviter_next, @function | |
listreviter_next: | |
.LFB209: | |
.cfi_startproc | |
mov rax, QWORD PTR 24[rdi] | |
test rax, rax | |
je .L32 | |
mov rdx, QWORD PTR 16[rdi] | |
test rdx, rdx | |
js .L31 | |
cmp QWORD PTR 16[rax], rdx | |
jg .L37 | |
.L31: | |
mov QWORD PTR 16[rdi], -1 | |
mov QWORD PTR 24[rdi], 0 | |
sub QWORD PTR [rax], 1 | |
jne .L32 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov rdx, QWORD PTR 8[rax] | |
mov rdi, rax | |
call [QWORD PTR 48[rdx]] | |
xor eax, eax | |
add rsp, 8 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L37: | |
mov rax, QWORD PTR 24[rax] | |
mov rax, QWORD PTR [rax+rdx*8] | |
sub rdx, 1 | |
mov QWORD PTR 16[rdi], rdx | |
add QWORD PTR [rax], 1 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L32: | |
xor eax, eax | |
ret | |
.cfi_endproc | |
.LFE209: | |
.size listreviter_next, .-listreviter_next | |
.p2align 4,,15 | |
.type listiter_dealloc, @function | |
listiter_dealloc: | |
.LFB200: | |
.cfi_startproc | |
push rbx | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
mov rax, QWORD PTR -8[rdi] | |
mov rbx, rdi | |
mov rdx, QWORD PTR -24[rdi] | |
and eax, 1 | |
or rax, -4 | |
mov QWORD PTR -8[rdi], rax | |
mov rax, QWORD PTR -16[rdi] | |
mov QWORD PTR [rax], rdx | |
mov rdx, QWORD PTR -24[rdi] | |
mov QWORD PTR 8[rdx], rax | |
mov QWORD PTR -24[rdi], 0 | |
mov rdi, QWORD PTR 24[rdi] | |
test rdi, rdi | |
je .L40 | |
sub QWORD PTR [rdi], 1 | |
jne .L40 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L40: | |
mov rdi, rbx | |
pop rbx | |
.cfi_def_cfa_offset 8 | |
jmp PyObject_GC_Del@PLT | |
.cfi_endproc | |
.LFE200: | |
.size listiter_dealloc, .-listiter_dealloc | |
.p2align 4,,15 | |
.type _list_clear, @function | |
_list_clear: | |
.LFB151: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
mov rbp, QWORD PTR 24[rdi] | |
test rbp, rbp | |
je .L44 | |
mov rbx, QWORD PTR 16[rdi] | |
mov QWORD PTR 24[rdi], 0 | |
mov QWORD PTR 16[rdi], 0 | |
mov QWORD PTR 32[rdi], 0 | |
.L45: | |
sub rbx, 1 | |
js .L54 | |
.L49: | |
mov rdi, QWORD PTR 0[rbp+rbx*8] | |
test rdi, rdi | |
je .L45 | |
sub QWORD PTR [rdi], 1 | |
jne .L45 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L49 | |
.L54: | |
mov rdi, rbp | |
call PyMem_Free@PLT | |
.L44: | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE151: | |
.size _list_clear, .-_list_clear | |
.p2align 4,,15 | |
.type gallop_right, @function | |
gallop_right: | |
.LFB174: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
lea r14, [rsi+rcx*8] | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
mov r15, rsi | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov r13, rdx | |
xor edx, edx | |
mov r12, rdi | |
mov rbp, rcx | |
sub rsp, 24 | |
.cfi_def_cfa_offset 80 | |
mov rsi, QWORD PTR [r14] | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
mov QWORD PTR [rsp], rax | |
js .L56 | |
je .L57 | |
lea rax, 1[rbp] | |
cmp rax, 1 | |
mov QWORD PTR [rsp], rax | |
jle .L71 | |
mov r13d, 63 | |
mov QWORD PTR 8[rsp], 0 | |
mov ebx, 1 | |
.p2align 4,,10 | |
.p2align 3 | |
.L61: | |
lea rax, 0[0+rbx*8] | |
mov rcx, r14 | |
xor edx, edx | |
mov rdi, r12 | |
sub rcx, rax | |
mov rsi, QWORD PTR [rcx] | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L56 | |
je .L81 | |
sub r13d, 1 | |
lea rax, 1[rbx+rbx] | |
je .L79 | |
cmp QWORD PTR [rsp], rax | |
mov QWORD PTR 8[rsp], rbx | |
jle .L79 | |
mov rbx, rax | |
jmp .L61 | |
.p2align 4,,10 | |
.p2align 3 | |
.L56: | |
mov r13, -1 | |
.L55: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
mov rax, r13 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L57: | |
.cfi_restore_state | |
sub r13, rbp | |
cmp r13, 1 | |
mov QWORD PTR 8[rsp], r13 | |
jle .L73 | |
mov ebx, 63 | |
mov r13d, 1 | |
.p2align 4,,10 | |
.p2align 3 | |
.L66: | |
mov rsi, QWORD PTR [r14+r13*8] | |
xor edx, edx | |
mov rdi, r12 | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L56 | |
jne .L82 | |
sub ebx, 1 | |
lea rax, 1[r13+r13] | |
je .L78 | |
cmp QWORD PTR 8[rsp], rax | |
mov QWORD PTR [rsp], r13 | |
jle .L78 | |
mov r13, rax | |
jmp .L66 | |
.p2align 4,,10 | |
.p2align 3 | |
.L78: | |
lea rbx, 0[rbp+r13] | |
.L63: | |
add rbp, QWORD PTR 8[rsp] | |
add rbx, 1 | |
.L62: | |
cmp rbp, rbx | |
jle .L80 | |
.p2align 4,,10 | |
.p2align 3 | |
.L67: | |
mov r13, rbp | |
xor edx, edx | |
mov rdi, r12 | |
sub r13, rbx | |
sar r13 | |
add r13, rbx | |
mov rsi, QWORD PTR [r15+r13*8] | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L56 | |
jne .L69 | |
lea rbx, 1[r13] | |
cmp rbx, rbp | |
jl .L67 | |
.L80: | |
mov r13, rbp | |
jmp .L55 | |
.p2align 4,,10 | |
.p2align 3 | |
.L69: | |
cmp r13, rbx | |
jle .L55 | |
mov rbp, r13 | |
jmp .L67 | |
.p2align 4,,10 | |
.p2align 3 | |
.L79: | |
sub rbp, rbx | |
xor ebx, ebx | |
jmp .L62 | |
.p2align 4,,10 | |
.p2align 3 | |
.L81: | |
mov rax, QWORD PTR [rsp] | |
mov rcx, rbx | |
sub rbp, QWORD PTR 8[rsp] | |
cmp rax, rbx | |
cmovle rcx, rax | |
sub rax, rcx | |
mov rbx, rax | |
jmp .L62 | |
.p2align 4,,10 | |
.p2align 3 | |
.L82: | |
mov rax, QWORD PTR 8[rsp] | |
mov rbx, QWORD PTR [rsp] | |
add rbx, rbp | |
cmp rax, r13 | |
cmovle r13, rax | |
mov QWORD PTR 8[rsp], r13 | |
jmp .L63 | |
.L71: | |
xor ebx, ebx | |
jmp .L62 | |
.L73: | |
mov rbx, rbp | |
jmp .L63 | |
.cfi_endproc | |
.LFE174: | |
.size gallop_right, .-gallop_right | |
.p2align 4,,15 | |
.type gallop_left, @function | |
gallop_left: | |
.LFB173: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
mov r14, rsi | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
lea r13, [rsi+rcx*8] | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rsi, rdi | |
mov rbp, rdi | |
mov r12, rdx | |
xor edx, edx | |
sub rsp, 40 | |
.cfi_def_cfa_offset 96 | |
mov rdi, QWORD PTR 0[r13] | |
mov rbx, rcx | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
mov QWORD PTR 16[rsp], rax | |
js .L84 | |
je .L85 | |
sub r12, rbx | |
cmp r12, 1 | |
mov QWORD PTR 8[rsp], r12 | |
jle .L99 | |
mov r12d, 63 | |
mov QWORD PTR 16[rsp], 0 | |
mov r15d, 1 | |
.p2align 4,,10 | |
.p2align 3 | |
.L89: | |
mov rdi, QWORD PTR 0[r13+r15*8] | |
xor edx, edx | |
mov rsi, rbp | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L84 | |
je .L109 | |
sub r12d, 1 | |
lea rax, 1[r15+r15] | |
je .L106 | |
cmp QWORD PTR 8[rsp], rax | |
mov QWORD PTR 16[rsp], r15 | |
jle .L106 | |
mov r15, rax | |
jmp .L89 | |
.p2align 4,,10 | |
.p2align 3 | |
.L84: | |
mov r12, -1 | |
.L83: | |
add rsp, 40 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
mov rax, r12 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L85: | |
.cfi_restore_state | |
lea rax, 1[rbx] | |
cmp rax, 1 | |
mov QWORD PTR 24[rsp], rax | |
jle .L101 | |
mov DWORD PTR 8[rsp], 63 | |
mov r12d, 1 | |
.p2align 4,,10 | |
.p2align 3 | |
.L94: | |
lea rax, 0[0+r12*8] | |
mov rcx, r13 | |
xor edx, edx | |
mov rsi, rbp | |
sub rcx, rax | |
mov rdi, QWORD PTR [rcx] | |
call PyObject_RichCompareBool@PLT | |
movsx r15, eax | |
test r15, r15 | |
js .L84 | |
jne .L110 | |
sub DWORD PTR 8[rsp], 1 | |
lea rax, 1[r12+r12] | |
je .L107 | |
cmp QWORD PTR 24[rsp], rax | |
mov QWORD PTR 16[rsp], r12 | |
jle .L107 | |
mov r12, rax | |
jmp .L94 | |
.p2align 4,,10 | |
.p2align 3 | |
.L107: | |
sub rbx, r12 | |
.L90: | |
cmp rbx, r15 | |
jle .L108 | |
.p2align 4,,10 | |
.p2align 3 | |
.L95: | |
mov r12, rbx | |
xor edx, edx | |
mov rsi, rbp | |
sub r12, r15 | |
sar r12 | |
add r12, r15 | |
mov rdi, QWORD PTR [r14+r12*8] | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L84 | |
je .L97 | |
lea r15, 1[r12] | |
cmp r15, rbx | |
jl .L95 | |
.L108: | |
mov r12, rbx | |
jmp .L83 | |
.p2align 4,,10 | |
.p2align 3 | |
.L97: | |
cmp r12, r15 | |
jle .L83 | |
mov rbx, r12 | |
jmp .L95 | |
.p2align 4,,10 | |
.p2align 3 | |
.L106: | |
lea rcx, [rbx+r15] | |
.L86: | |
add rbx, QWORD PTR 8[rsp] | |
lea r15, 1[rcx] | |
jmp .L90 | |
.p2align 4,,10 | |
.p2align 3 | |
.L109: | |
mov rax, QWORD PTR 8[rsp] | |
mov rcx, QWORD PTR 16[rsp] | |
add rcx, rbx | |
cmp rax, r15 | |
cmovle r15, rax | |
mov QWORD PTR 8[rsp], r15 | |
jmp .L86 | |
.p2align 4,,10 | |
.p2align 3 | |
.L110: | |
mov rax, QWORD PTR 24[rsp] | |
sub rbx, QWORD PTR 16[rsp] | |
mov r8, r12 | |
cmp rax, r12 | |
cmovle r8, rax | |
sub rax, r8 | |
mov r15, rax | |
jmp .L90 | |
.L99: | |
mov rcx, rbx | |
jmp .L86 | |
.L101: | |
xor r15d, r15d | |
jmp .L90 | |
.cfi_endproc | |
.LFE173: | |
.size gallop_left, .-gallop_left | |
.p2align 4,,15 | |
.type list_contains, @function | |
list_contains: | |
.LFB145: | |
.cfi_startproc | |
push r12 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 12, -16 | |
mov r12, rsi | |
push rbp | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 6, -24 | |
mov rbp, rdi | |
push rbx | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 3, -32 | |
xor ebx, ebx | |
.p2align 4,,10 | |
.p2align 3 | |
.L112: | |
cmp QWORD PTR 16[rbp], rbx | |
jle .L116 | |
mov rax, QWORD PTR 24[rbp] | |
mov edx, 2 | |
mov rdi, r12 | |
mov rsi, QWORD PTR [rax+rbx*8] | |
add rbx, 1 | |
call PyObject_RichCompareBool@PLT | |
test eax, eax | |
je .L112 | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbp | |
.cfi_def_cfa_offset 16 | |
pop r12 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L116: | |
.cfi_restore_state | |
pop rbx | |
.cfi_def_cfa_offset 24 | |
xor eax, eax | |
pop rbp | |
.cfi_def_cfa_offset 16 | |
pop r12 | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE145: | |
.size list_contains, .-list_contains | |
.p2align 4,,15 | |
.type list_count, @function | |
list_count: | |
.LFB191: | |
.cfi_startproc | |
push r13 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 13, -16 | |
push r12 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 12, -24 | |
push rbp | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 6, -32 | |
push rbx | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 3, -40 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 48 | |
cmp QWORD PTR 16[rdi], 0 | |
jle .L123 | |
mov r12, rsi | |
mov rbp, rdi | |
xor ebx, ebx | |
xor r13d, r13d | |
jmp .L122 | |
.p2align 4,,10 | |
.p2align 3 | |
.L126: | |
add r13, 1 | |
.L120: | |
add rbx, 1 | |
cmp QWORD PTR 16[rbp], rbx | |
jle .L118 | |
.L122: | |
mov rax, QWORD PTR 24[rbp] | |
mov edx, 2 | |
mov rsi, r12 | |
mov rdi, QWORD PTR [rax+rbx*8] | |
call PyObject_RichCompareBool@PLT | |
cmp eax, 0 | |
jg .L126 | |
je .L120 | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
ret | |
.L123: | |
.cfi_restore_state | |
xor r13d, r13d | |
.L118: | |
add rsp, 8 | |
.cfi_def_cfa_offset 40 | |
mov rdi, r13 | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
jmp PyLong_FromSsize_t@PLT | |
.cfi_endproc | |
.LFE191: | |
.size list_count, .-list_count | |
.p2align 4,,15 | |
.type list___sizeof__, @function | |
list___sizeof__: | |
.LFB128: | |
.cfi_startproc | |
mov rax, QWORD PTR 8[rdi] | |
mov rdx, QWORD PTR 32[rdi] | |
mov rax, QWORD PTR 32[rax] | |
lea rdi, [rax+rdx*8] | |
jmp PyLong_FromSsize_t@PLT | |
.cfi_endproc | |
.LFE128: | |
.size list___sizeof__, .-list___sizeof__ | |
.p2align 4,,15 | |
.type listreviter_len, @function | |
listreviter_len: | |
.LFB210: | |
.cfi_startproc | |
mov rdx, QWORD PTR 24[rdi] | |
xor eax, eax | |
test rdx, rdx | |
je .L129 | |
mov rax, QWORD PTR 16[rdi] | |
add rax, 1 | |
cmp QWORD PTR 16[rdx], rax | |
mov edx, 0 | |
cmovl rax, rdx | |
.L129: | |
mov rdi, rax | |
jmp PyLong_FromSsize_t@PLT | |
.cfi_endproc | |
.LFE210: | |
.size listreviter_len, .-listreviter_len | |
.section .rodata.str1.1,"aMS",@progbits,1 | |
.LC0: | |
.string "O|O&O&:index" | |
.LC1: | |
.string "%R is not in list" | |
.text | |
.p2align 4,,15 | |
.type list_index, @function | |
list_index: | |
.LFB126: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
mov r12, rdi | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov rdi, rsi | |
mov rsi, rdx | |
lea rdx, .LC0[rip] | |
sub rsp, 32 | |
.cfi_def_cfa_offset 80 | |
mov r8, QWORD PTR _PyEval_SliceIndexNotNone@GOTPCREL[rip] | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 24[rsp], rax | |
xor eax, eax | |
movabs rax, 9223372036854775807 | |
mov QWORD PTR 8[rsp], 0 | |
mov rcx, rsp | |
mov QWORD PTR 16[rsp], rax | |
lea rax, 16[rsp] | |
push rax | |
.cfi_def_cfa_offset 88 | |
push r8 | |
.cfi_def_cfa_offset 96 | |
xor eax, eax | |
lea r9, 24[rsp] | |
call _PyArg_ParseStack@PLT | |
test eax, eax | |
pop rdx | |
.cfi_def_cfa_offset 88 | |
pop rcx | |
.cfi_def_cfa_offset 80 | |
je .L144 | |
mov rbx, QWORD PTR 8[rsp] | |
mov r13, QWORD PTR 16[rsp] | |
mov r14, QWORD PTR [rsp] | |
test rbx, rbx | |
jns .L135 | |
add rbx, QWORD PTR 16[r12] | |
mov eax, 0 | |
cmovs rbx, rax | |
.L135: | |
test r13, r13 | |
js .L145 | |
.L136: | |
cmp r13, rbx | |
jle .L137 | |
cmp rbx, QWORD PTR 16[r12] | |
jge .L137 | |
lea rbp, 0[0+rbx*8] | |
jmp .L140 | |
.p2align 4,,10 | |
.p2align 3 | |
.L138: | |
jne .L144 | |
add rbx, 1 | |
cmp rbx, r13 | |
je .L137 | |
add rbp, 8 | |
cmp rbx, QWORD PTR 16[r12] | |
jge .L137 | |
.L140: | |
mov rax, QWORD PTR 24[r12] | |
mov edx, 2 | |
mov rsi, r14 | |
mov rdi, QWORD PTR [rax+rbp] | |
call PyObject_RichCompareBool@PLT | |
cmp eax, 0 | |
jle .L138 | |
mov rdi, rbx | |
call PyLong_FromSsize_t@PLT | |
jmp .L132 | |
.p2align 4,,10 | |
.p2align 3 | |
.L145: | |
add r13, QWORD PTR 16[r12] | |
jns .L136 | |
.L137: | |
mov rdi, QWORD PTR PyExc_ValueError[rip] | |
lea rsi, .LC1[rip] | |
mov rdx, r14 | |
xor eax, eax | |
call PyErr_Format@PLT | |
.L144: | |
xor eax, eax | |
.L134: | |
.L132: | |
mov rcx, QWORD PTR 24[rsp] | |
xor rcx, QWORD PTR fs:40 | |
jne .L146 | |
add rsp, 32 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 48 | |
pop rbx | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.L146: | |
.cfi_restore_state | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE126: | |
.size list_index, .-list_index | |
.p2align 4,,15 | |
.type list___reversed__, @function | |
list___reversed__: | |
.LFB129: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
mov rbp, rdi | |
lea rdi, PyListRevIter_Type[rip] | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov rbx, rax | |
je .L147 | |
mov rax, QWORD PTR 16[rbp] | |
mov rdi, rbx | |
sub rax, 1 | |
mov QWORD PTR 16[rbx], rax | |
add QWORD PTR 0[rbp], 1 | |
mov QWORD PTR 24[rbx], rbp | |
call PyObject_GC_Track@PLT | |
.L147: | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
mov rax, rbx | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE129: | |
.size list___reversed__, .-list___reversed__ | |
.p2align 4,,15 | |
.type listreviter_dealloc, @function | |
listreviter_dealloc: | |
.LFB207: | |
.cfi_startproc | |
push rbx | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
mov rbx, rdi | |
call PyObject_GC_UnTrack@PLT | |
mov rdi, QWORD PTR 24[rbx] | |
test rdi, rdi | |
je .L155 | |
sub QWORD PTR [rdi], 1 | |
jne .L155 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L155: | |
mov rdi, rbx | |
pop rbx | |
.cfi_def_cfa_offset 8 | |
jmp PyObject_GC_Del@PLT | |
.cfi_endproc | |
.LFE207: | |
.size listreviter_dealloc, .-listreviter_dealloc | |
.p2align 4,,15 | |
.type list_dealloc, @function | |
list_dealloc: | |
.LFB142: | |
.cfi_startproc | |
push r13 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 13, -16 | |
push r12 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 12, -24 | |
mov r12, rdi | |
push rbp | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 6, -32 | |
push rbx | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 3, -40 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 48 | |
call PyObject_GC_UnTrack@PLT | |
mov r13, QWORD PTR _PyRuntime[rip+1392] | |
mov eax, DWORD PTR 184[r13] | |
cmp eax, 49 | |
jg .L159 | |
mov rdx, QWORD PTR 24[r12] | |
add eax, 1 | |
mov DWORD PTR 184[r13], eax | |
test rdx, rdx | |
je .L160 | |
mov rax, QWORD PTR 16[r12] | |
lea rbx, -1[rax] | |
lea rbp, 0[0+rbx*8] | |
jmp .L161 | |
.p2align 4,,10 | |
.p2align 3 | |
.L163: | |
mov rdi, QWORD PTR [rdx+rbp] | |
test rdi, rdi | |
je .L162 | |
sub QWORD PTR [rdi], 1 | |
jne .L162 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
mov rdx, QWORD PTR 24[r12] | |
.L162: | |
sub rbp, 8 | |
sub rbx, 1 | |
.L161: | |
test rbx, rbx | |
jns .L163 | |
mov rdi, rdx | |
call PyMem_Free@PLT | |
.L160: | |
movsx rax, DWORD PTR numfree[rip] | |
mov rdx, QWORD PTR 8[r12] | |
cmp eax, 79 | |
jle .L180 | |
.L164: | |
mov rdi, r12 | |
call [QWORD PTR 320[rdx]] | |
.L165: | |
mov eax, DWORD PTR 184[r13] | |
sub eax, 1 | |
cmp QWORD PTR 192[r13], 0 | |
mov DWORD PTR 184[r13], eax | |
je .L158 | |
test eax, eax | |
jle .L181 | |
.L158: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L159: | |
.cfi_restore_state | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
mov rdi, r12 | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
jmp _PyTrash_thread_deposit_object@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L181: | |
.cfi_restore_state | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
jmp _PyTrash_thread_destroy_chain@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L180: | |
.cfi_restore_state | |
lea rcx, PyList_Type[rip] | |
cmp rdx, rcx | |
jne .L164 | |
lea edx, 1[rax] | |
mov DWORD PTR numfree[rip], edx | |
lea rdx, free_list[rip] | |
mov QWORD PTR [rdx+rax*8], r12 | |
jmp .L165 | |
.cfi_endproc | |
.LFE142: | |
.size list_dealloc, .-list_dealloc | |
.p2align 4,,15 | |
.type listiter_setstate, @function | |
listiter_setstate: | |
.LFB205: | |
.cfi_startproc | |
push rbx | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
mov rbx, rdi | |
mov rdi, rsi | |
call PyLong_AsSsize_t@PLT | |
cmp rax, -1 | |
je .L195 | |
mov rdx, QWORD PTR 24[rbx] | |
test rdx, rdx | |
je .L187 | |
test rax, rax | |
js .L190 | |
cmp QWORD PTR 16[rdx], rax | |
cmovle rax, QWORD PTR 16[rdx] | |
.L189: | |
mov QWORD PTR 16[rbx], rax | |
.L187: | |
lea rax, _Py_NoneStruct[rip] | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L195: | |
.cfi_restore_state | |
call PyErr_Occurred@PLT | |
test rax, rax | |
jne .L196 | |
cmp QWORD PTR 24[rbx], 0 | |
je .L187 | |
.L190: | |
xor eax, eax | |
jmp .L189 | |
.p2align 4,,10 | |
.p2align 3 | |
.L196: | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE205: | |
.size listiter_setstate, .-listiter_setstate | |
.p2align 4,,15 | |
.type listreviter_setstate, @function | |
listreviter_setstate: | |
.LFB212: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
mov rbp, rdi | |
mov rdi, rsi | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
call PyLong_AsSsize_t@PLT | |
cmp rax, -1 | |
mov rbx, rax | |
je .L211 | |
mov rdx, QWORD PTR 24[rbp] | |
test rdx, rdx | |
je .L202 | |
mov rax, -1 | |
cmp rbx, rax | |
jl .L203 | |
mov rax, QWORD PTR 16[rdx] | |
sub rax, 1 | |
cmp rax, rbx | |
cmovg rax, rbx | |
.L203: | |
mov QWORD PTR 16[rbp], rax | |
.L202: | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
lea rax, _Py_NoneStruct[rip] | |
.L197: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L211: | |
.cfi_restore_state | |
call PyErr_Occurred@PLT | |
test rax, rax | |
jne .L212 | |
mov rdx, QWORD PTR 24[rbp] | |
test rdx, rdx | |
je .L202 | |
mov rax, QWORD PTR 16[rdx] | |
sub rax, 1 | |
cmp rax, rbx | |
cmovg rax, rbx | |
jmp .L203 | |
.p2align 4,,10 | |
.p2align 3 | |
.L212: | |
xor eax, eax | |
jmp .L197 | |
.cfi_endproc | |
.LFE212: | |
.size listreviter_setstate, .-listreviter_setstate | |
.section .rodata.str1.1 | |
.LC2: | |
.string "Objects/listobject.c" | |
.LC3: | |
.string "GC object already tracked" | |
.text | |
.p2align 4,,15 | |
.type list_iter, @function | |
list_iter: | |
.LFB199: | |
.cfi_startproc | |
push rbx | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
sub rsp, 16 | |
.cfi_def_cfa_offset 32 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L224 | |
mov rbx, rdi | |
lea rdi, PyListIter_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
je .L213 | |
mov rdx, QWORD PTR -8[rax] | |
mov QWORD PTR 16[rax], 0 | |
add QWORD PTR [rbx], 1 | |
mov QWORD PTR 24[rax], rbx | |
lea rbx, -24[rax] | |
mov rcx, rdx | |
sar rcx | |
cmp rcx, -2 | |
jne .L225 | |
.L216: | |
and edx, 1 | |
or rdx, -6 | |
mov QWORD PTR -8[rax], rdx | |
mov rdx, QWORD PTR _PyRuntime[rip+432] | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR -24[rax], rdx | |
mov QWORD PTR -16[rax], rcx | |
mov QWORD PTR [rcx], rbx | |
mov QWORD PTR 8[rdx], rbx | |
.L213: | |
add rsp, 16 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 16 | |
pop rbx | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L225: | |
.cfi_restore_state | |
lea rdi, .LC3[rip] | |
mov QWORD PTR 8[rsp], rax | |
call Py_FatalError@PLT | |
mov rax, QWORD PTR 8[rsp] | |
mov rdx, QWORD PTR -8[rax] | |
jmp .L216 | |
.p2align 4,,10 | |
.p2align 3 | |
.L224: | |
lea rdi, .LC2[rip] | |
mov esi, 2784 | |
call _PyErr_BadInternalCall@PLT | |
xor eax, eax | |
jmp .L213 | |
.cfi_endproc | |
.LFE199: | |
.size list_iter, .-list_iter | |
.section .rodata.str1.1 | |
.LC4: | |
.string "list index out of range" | |
.text | |
.p2align 4,,15 | |
.type list_item, @function | |
list_item: | |
.LFB146: | |
.cfi_startproc | |
test rsi, rsi | |
js .L227 | |
cmp QWORD PTR 16[rdi], rsi | |
jg .L228 | |
.L227: | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov rax, QWORD PTR indexerr[rip] | |
test rax, rax | |
jne .L229 | |
lea rdi, .LC4[rip] | |
call PyUnicode_FromString@PLT | |
test rax, rax | |
mov QWORD PTR indexerr[rip], rax | |
je .L226 | |
.L229: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
mov rsi, rax | |
call PyErr_SetObject@PLT | |
xor eax, eax | |
.L226: | |
add rsp, 8 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L228: | |
mov rax, QWORD PTR 24[rdi] | |
mov rax, QWORD PTR [rax+rsi*8] | |
add QWORD PTR [rax], 1 | |
ret | |
.cfi_endproc | |
.LFE146: | |
.size list_item, .-list_item | |
.p2align 4,,15 | |
.type list_richcompare, @function | |
list_richcompare: | |
.LFB194: | |
.cfi_startproc | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L238 | |
mov rax, QWORD PTR 8[rsi] | |
test BYTE PTR 171[rax], 2 | |
je .L238 | |
mov rax, QWORD PTR 16[rdi] | |
mov rcx, QWORD PTR 16[rsi] | |
cmp rax, rcx | |
je .L260 | |
lea r8d, -2[rdx] | |
cmp r8d, 1 | |
ja .L260 | |
cmp edx, 2 | |
je .L272 | |
add QWORD PTR _Py_TrueStruct[rip], 1 | |
lea rax, _Py_TrueStruct[rip] | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L238: | |
add QWORD PTR _Py_NotImplementedStruct[rip], 1 | |
lea rax, _Py_NotImplementedStruct[rip] | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L260: | |
test rax, rax | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
mov r13d, edx | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
mov r12, rsi | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
mov rbp, rdi | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
jle .L246 | |
test rcx, rcx | |
jle .L246 | |
xor ebx, ebx | |
jmp .L245 | |
.p2align 4,,10 | |
.p2align 3 | |
.L273: | |
mov rax, QWORD PTR 16[rbp] | |
je .L244 | |
add rbx, 1 | |
cmp rbx, rax | |
jge .L246 | |
cmp rbx, QWORD PTR 16[r12] | |
jge .L246 | |
.L245: | |
mov rax, QWORD PTR 24[r12] | |
mov edx, 2 | |
lea r14, 0[0+rbx*8] | |
mov rsi, QWORD PTR [rax+rbx*8] | |
mov rax, QWORD PTR 24[rbp] | |
mov rdi, QWORD PTR [rax+rbx*8] | |
call PyObject_RichCompareBool@PLT | |
test eax, eax | |
jns .L273 | |
xor eax, eax | |
.L237: | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L244: | |
.cfi_restore_state | |
cmp rbx, rax | |
jl .L274 | |
.p2align 4,,10 | |
.p2align 3 | |
.L246: | |
cmp r13d, 5 | |
ja .L248 | |
lea rcx, .L250[rip] | |
movsx rdx, DWORD PTR [rcx+r13*4] | |
add rdx, rcx | |
jmp rdx | |
.section .rodata | |
.align 4 | |
.align 4 | |
.L250: | |
.long .L249-.L250 | |
.long .L251-.L250 | |
.long .L252-.L250 | |
.long .L253-.L250 | |
.long .L254-.L250 | |
.long .L255-.L250 | |
.text | |
.p2align 4,,10 | |
.p2align 3 | |
.L274: | |
cmp rbx, QWORD PTR 16[r12] | |
jge .L246 | |
cmp r13d, 2 | |
je .L271 | |
cmp r13d, 3 | |
je .L270 | |
mov rax, QWORD PTR 24[r12] | |
mov edx, r13d | |
pop rbx | |
.cfi_restore 3 | |
.cfi_def_cfa_offset 40 | |
mov rsi, QWORD PTR [rax+r14] | |
mov rax, QWORD PTR 24[rbp] | |
pop rbp | |
.cfi_restore 6 | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_restore 12 | |
.cfi_def_cfa_offset 24 | |
mov rdi, QWORD PTR [rax+r14] | |
pop r13 | |
.cfi_restore 13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_restore 14 | |
.cfi_def_cfa_offset 8 | |
jmp PyObject_RichCompare@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L272: | |
add QWORD PTR _Py_FalseStruct[rip], 1 | |
lea rax, _Py_FalseStruct[rip] | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L254: | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
.cfi_offset 6, -40 | |
.cfi_offset 12, -32 | |
.cfi_offset 13, -24 | |
.cfi_offset 14, -16 | |
cmp QWORD PTR 16[r12], rax | |
jge .L271 | |
.p2align 4,,10 | |
.p2align 3 | |
.L270: | |
add QWORD PTR _Py_TrueStruct[rip], 1 | |
lea rax, _Py_TrueStruct[rip] | |
jmp .L237 | |
.p2align 4,,10 | |
.p2align 3 | |
.L251: | |
cmp QWORD PTR 16[r12], rax | |
jge .L270 | |
.p2align 4,,10 | |
.p2align 3 | |
.L271: | |
add QWORD PTR _Py_FalseStruct[rip], 1 | |
lea rax, _Py_FalseStruct[rip] | |
jmp .L237 | |
.p2align 4,,10 | |
.p2align 3 | |
.L249: | |
cmp QWORD PTR 16[r12], rax | |
jg .L270 | |
jmp .L271 | |
.p2align 4,,10 | |
.p2align 3 | |
.L253: | |
cmp QWORD PTR 16[r12], rax | |
jne .L270 | |
jmp .L271 | |
.p2align 4,,10 | |
.p2align 3 | |
.L252: | |
cmp QWORD PTR 16[r12], rax | |
jne .L271 | |
jmp .L270 | |
.p2align 4,,10 | |
.p2align 3 | |
.L255: | |
cmp QWORD PTR 16[r12], rax | |
jle .L270 | |
jmp .L271 | |
.L248: | |
call abort@PLT | |
.cfi_endproc | |
.LFE194: | |
.size list_richcompare, .-list_richcompare | |
.section .rodata.str1.1 | |
.LC5: | |
.string "[]" | |
.LC6: | |
.string "[...]" | |
.LC7: | |
.string ", " | |
.text | |
.p2align 4,,15 | |
.type list_repr, @function | |
list_repr: | |
.LFB143: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
sub rsp, 64 | |
.cfi_def_cfa_offset 112 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 56[rsp], rax | |
xor eax, eax | |
cmp QWORD PTR 16[rdi], 0 | |
je .L298 | |
mov r12, rdi | |
call Py_ReprEnter@PLT | |
movsx rbp, eax | |
cmp rbp, 0 | |
je .L278 | |
jle .L291 | |
lea rdi, .LC6[rip] | |
call PyUnicode_FromString@PLT | |
.L275: | |
mov rcx, QWORD PTR 56[rsp] | |
xor rcx, QWORD PTR fs:40 | |
jne .L299 | |
add rsp, 64 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 48 | |
pop rbx | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L298: | |
.cfi_restore_state | |
lea rdi, .LC5[rip] | |
call PyUnicode_FromString@PLT | |
jmp .L275 | |
.p2align 4,,10 | |
.p2align 3 | |
.L278: | |
mov r13, rsp | |
mov rdi, r13 | |
call _PyUnicodeWriter_Init@PLT | |
mov rax, QWORD PTR 16[r12] | |
mov esi, 91 | |
mov rdi, r13 | |
mov BYTE PTR 52[rsp], 1 | |
lea rax, [rax+rax*2] | |
mov QWORD PTR 40[rsp], rax | |
call _PyUnicodeWriter_WriteChar@PLT | |
test eax, eax | |
js .L285 | |
cmp QWORD PTR 16[r12], 0 | |
lea r14, .LC7[rip] | |
jle .L288 | |
.p2align 4,,10 | |
.p2align 3 | |
.L280: | |
mov rax, QWORD PTR 24[r12] | |
mov rdi, QWORD PTR [rax+rbp*8] | |
call PyObject_Repr@PLT | |
test rax, rax | |
mov rbx, rax | |
je .L285 | |
mov rsi, rax | |
mov rdi, r13 | |
call _PyUnicodeWriter_WriteStr@PLT | |
test eax, eax | |
mov rax, QWORD PTR [rbx] | |
js .L300 | |
sub rax, 1 | |
test rax, rax | |
mov QWORD PTR [rbx], rax | |
jne .L286 | |
mov rax, QWORD PTR 8[rbx] | |
mov rdi, rbx | |
call [QWORD PTR 48[rax]] | |
.L286: | |
add rbp, 1 | |
cmp rbp, QWORD PTR 16[r12] | |
jge .L288 | |
test rbp, rbp | |
jle .L280 | |
mov edx, 2 | |
mov rsi, r14 | |
mov rdi, r13 | |
call _PyUnicodeWriter_WriteASCIIString@PLT | |
test eax, eax | |
jns .L280 | |
.L285: | |
mov rdi, r13 | |
call _PyUnicodeWriter_Dealloc@PLT | |
mov rdi, r12 | |
call Py_ReprLeave@PLT | |
xor eax, eax | |
jmp .L275 | |
.p2align 4,,10 | |
.p2align 3 | |
.L288: | |
mov esi, 93 | |
mov rdi, r13 | |
mov BYTE PTR 52[rsp], 0 | |
call _PyUnicodeWriter_WriteChar@PLT | |
test eax, eax | |
js .L285 | |
mov rdi, r12 | |
call Py_ReprLeave@PLT | |
mov rdi, r13 | |
call _PyUnicodeWriter_Finish@PLT | |
jmp .L275 | |
.p2align 4,,10 | |
.p2align 3 | |
.L300: | |
sub rax, 1 | |
test rax, rax | |
mov QWORD PTR [rbx], rax | |
jne .L285 | |
mov rax, QWORD PTR 8[rbx] | |
mov rdi, rbx | |
call [QWORD PTR 48[rax]] | |
jmp .L285 | |
.p2align 4,,10 | |
.p2align 3 | |
.L291: | |
xor eax, eax | |
jmp .L275 | |
.L299: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE143: | |
.size list_repr, .-list_repr | |
.p2align 4,,15 | |
.type listiter_len, @function | |
listiter_len: | |
.LFB203: | |
.cfi_startproc | |
mov rax, QWORD PTR 24[rdi] | |
test rax, rax | |
je .L302 | |
mov rax, QWORD PTR 16[rax] | |
sub rax, QWORD PTR 16[rdi] | |
jns .L306 | |
.L302: | |
xor edi, edi | |
jmp PyLong_FromLong@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L306: | |
mov rdi, rax | |
jmp PyLong_FromSsize_t@PLT | |
.cfi_endproc | |
.LFE203: | |
.size listiter_len, .-listiter_len | |
.section .rodata.str1.1 | |
.LC8: | |
.string "iter" | |
.LC9: | |
.string "N(O)n" | |
.LC10: | |
.string "N(N)" | |
.text | |
.p2align 4,,15 | |
.type listiter_reduce, @function | |
listiter_reduce: | |
.LFB204: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
mov rbx, QWORD PTR 24[rdi] | |
test rbx, rbx | |
jne .L317 | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L309 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rbx, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR [rbx], 1 | |
.L310: | |
mov rax, QWORD PTR -8[rbx] | |
mov QWORD PTR 24[rbx], 0 | |
lea rbp, -24[rbx] | |
mov QWORD PTR 16[rbx], 0 | |
mov QWORD PTR 32[rbx], 0 | |
mov rdx, rax | |
sar rdx | |
cmp rdx, -2 | |
je .L312 | |
lea rdi, .LC3[rip] | |
call Py_FatalError@PLT | |
mov rax, QWORD PTR -8[rbx] | |
.L312: | |
and eax, 1 | |
lea rdi, .LC8[rip] | |
or rax, -6 | |
mov QWORD PTR -8[rbx], rax | |
mov rax, QWORD PTR _PyRuntime[rip+432] | |
mov rdx, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbx], rax | |
mov QWORD PTR -16[rbx], rdx | |
mov QWORD PTR [rdx], rbp | |
mov QWORD PTR 8[rax], rbp | |
call _PyObject_GetBuiltin@PLT | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
mov rdx, rbx | |
lea rdi, .LC10[rip] | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
mov rsi, rax | |
xor eax, eax | |
jmp Py_BuildValue@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L317: | |
.cfi_restore_state | |
mov rbp, QWORD PTR 16[rdi] | |
lea rdi, .LC8[rip] | |
call _PyObject_GetBuiltin@PLT | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
mov rcx, rbp | |
mov rdx, rbx | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
lea rdi, .LC9[rip] | |
mov rsi, rax | |
xor eax, eax | |
jmp Py_BuildValue@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L309: | |
.cfi_restore_state | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov rbx, rax | |
jne .L310 | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE204: | |
.size listiter_reduce, .-listiter_reduce | |
.section .rodata.str1.1 | |
.LC11: | |
.string "reversed" | |
.text | |
.p2align 4,,15 | |
.type listreviter_reduce, @function | |
listreviter_reduce: | |
.LFB211: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
mov rbx, QWORD PTR 24[rdi] | |
test rbx, rbx | |
jne .L328 | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L320 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rbx, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR [rbx], 1 | |
.L321: | |
mov rax, QWORD PTR -8[rbx] | |
mov QWORD PTR 24[rbx], 0 | |
lea rbp, -24[rbx] | |
mov QWORD PTR 16[rbx], 0 | |
mov QWORD PTR 32[rbx], 0 | |
mov rdx, rax | |
sar rdx | |
cmp rdx, -2 | |
je .L323 | |
lea rdi, .LC3[rip] | |
call Py_FatalError@PLT | |
mov rax, QWORD PTR -8[rbx] | |
.L323: | |
and eax, 1 | |
lea rdi, .LC8[rip] | |
or rax, -6 | |
mov QWORD PTR -8[rbx], rax | |
mov rax, QWORD PTR _PyRuntime[rip+432] | |
mov rdx, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbx], rax | |
mov QWORD PTR -16[rbx], rdx | |
mov QWORD PTR [rdx], rbp | |
mov QWORD PTR 8[rax], rbp | |
call _PyObject_GetBuiltin@PLT | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
mov rdx, rbx | |
lea rdi, .LC10[rip] | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
mov rsi, rax | |
xor eax, eax | |
jmp Py_BuildValue@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L328: | |
.cfi_restore_state | |
mov rbp, QWORD PTR 16[rdi] | |
lea rdi, .LC11[rip] | |
call _PyObject_GetBuiltin@PLT | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
mov rcx, rbp | |
mov rdx, rbx | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
lea rdi, .LC9[rip] | |
mov rsi, rax | |
xor eax, eax | |
jmp Py_BuildValue@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L320: | |
.cfi_restore_state | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov rbx, rax | |
jne .L321 | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE211: | |
.size listreviter_reduce, .-listreviter_reduce | |
.p2align 4,,15 | |
.type list_clear, @function | |
list_clear: | |
.LFB121: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
mov rbp, QWORD PTR 24[rdi] | |
test rbp, rbp | |
je .L330 | |
mov rbx, QWORD PTR 16[rdi] | |
mov QWORD PTR 24[rdi], 0 | |
mov QWORD PTR 16[rdi], 0 | |
mov QWORD PTR 32[rdi], 0 | |
.L331: | |
sub rbx, 1 | |
js .L340 | |
.L335: | |
mov rdi, QWORD PTR 0[rbp+rbx*8] | |
test rdi, rdi | |
je .L331 | |
sub QWORD PTR [rdi], 1 | |
jne .L331 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L335 | |
.L340: | |
mov rdi, rbp | |
call PyMem_Free@PLT | |
.L330: | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
lea rax, _Py_NoneStruct[rip] | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE121: | |
.size list_clear, .-list_clear | |
.p2align 4,,15 | |
.type merge_at, @function | |
merge_at: | |
.LFB180: | |
.cfi_startproc | |
lea rax, [rsi+rsi*2] | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
mov r12, rdi | |
sal rax, 3 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
lea rdx, 40[rdi+rax] | |
sub rsp, 104 | |
.cfi_def_cfa_offset 160 | |
mov r14, QWORD PTR [rdx] | |
mov r15, QWORD PTR 8[rdx] | |
lea rdx, [rdi+rax] | |
lea rax, 64[rdi+rax] | |
mov r13, QWORD PTR 56[rdx] | |
mov rbp, QWORD PTR [rax] | |
mov rax, QWORD PTR 8[rax] | |
mov QWORD PTR 16[rsp], rax | |
lea rax, 3[rsi+rsi*2] | |
lea rcx, [rdi+rax*8] | |
mov rbx, QWORD PTR 56[rcx] | |
lea rax, 0[r13+rbx] | |
mov QWORD PTR 56[rdx], rax | |
mov eax, DWORD PTR 32[rdi] | |
lea edx, -3[rax] | |
movsx rdx, edx | |
cmp rdx, rsi | |
jne .L342 | |
lea rdx, 6[rdx+rdx*2] | |
lea rdx, 32[rdi+rdx*8] | |
movdqu xmm0, XMMWORD PTR 8[rdx] | |
movups XMMWORD PTR 40[rcx], xmm0 | |
mov rdx, QWORD PTR 24[rdx] | |
mov QWORD PTR 56[rcx], rdx | |
.L342: | |
mov rdi, QWORD PTR 0[rbp] | |
sub eax, 1 | |
xor ecx, ecx | |
mov DWORD PTR 32[r12], eax | |
mov rdx, r13 | |
mov rsi, r14 | |
call gallop_right | |
test rax, rax | |
js .L428 | |
lea rdx, 0[0+rax*8] | |
test r15, r15 | |
lea rcx, [r15+rdx] | |
cmovne r15, rcx | |
sub r13, rax | |
mov QWORD PTR 8[rsp], r13 | |
jne .L531 | |
.L341: | |
mov rax, QWORD PTR 8[rsp] | |
add rsp, 104 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L531: | |
.cfi_restore_state | |
lea rax, [r14+rdx] | |
mov r14, r13 | |
lea r13, 0[0+r13*8] | |
lea rcx, -1[rbx] | |
mov rdx, rbx | |
mov rsi, rbp | |
mov rdi, QWORD PTR -8[rax+r13] | |
mov QWORD PTR 40[rsp], rax | |
call gallop_left | |
test rax, rax | |
mov r9, rax | |
jle .L429 | |
cmp r14, r9 | |
mov rax, QWORD PTR 24[r12] | |
mov rdi, QWORD PTR 8[r12] | |
jle .L532 | |
cmp r9, rax | |
lea r13, 0[0+r9*8] | |
jg .L533 | |
.L388: | |
mov rsi, QWORD PTR 16[rsp] | |
lea rax, -8[0+r9*8] | |
lea rbx, 0[rbp+rax] | |
test rsi, rsi | |
je .L389 | |
lea r10, [rsi+rax] | |
mov rdx, r13 | |
mov rsi, rbp | |
mov QWORD PTR 32[rsp], r9 | |
mov QWORD PTR 24[rsp], r10 | |
call memcpy@PLT | |
mov rax, QWORD PTR 16[r12] | |
mov r10, QWORD PTR 24[rsp] | |
mov r9, QWORD PTR 32[rsp] | |
test rax, rax | |
mov QWORD PTR 64[rsp], rax | |
jne .L528 | |
mov rax, QWORD PTR 8[r12] | |
lea rdx, -8[r13] | |
lea rbp, [rax+rdx] | |
mov QWORD PTR 72[rsp], rax | |
.L427: | |
add rdx, QWORD PTR 64[rsp] | |
mov QWORD PTR 56[rsp], rdx | |
.L424: | |
sub QWORD PTR 8[rsp], 1 | |
lea r8, -8[rbx] | |
mov rax, QWORD PTR 8[rsp] | |
lea rcx, 0[0+rax*8] | |
mov rax, QWORD PTR 40[rsp] | |
lea rdx, [r15+rcx] | |
add rax, rcx | |
test r15, r15 | |
lea r14, -8[rax] | |
mov rax, QWORD PTR [rax] | |
cmovne r15, rdx | |
test r10, r10 | |
mov QWORD PTR [rbx], rax | |
je .L441 | |
lea rax, -8[r15] | |
lea r13, -8[r10] | |
mov QWORD PTR 32[rsp], rax | |
mov rax, QWORD PTR [r15] | |
mov QWORD PTR [r10], rax | |
.L392: | |
cmp r9, 1 | |
mov r15, QWORD PTR 8[rsp] | |
je .L407 | |
mov rax, QWORD PTR [r12] | |
mov rbx, r9 | |
mov QWORD PTR 88[rsp], r12 | |
mov QWORD PTR 48[rsp], rax | |
mov rax, r14 | |
mov r14, rbp | |
mov rbp, rax | |
.L416: | |
mov r12, rbp | |
mov QWORD PTR 16[rsp], rbx | |
xor r15d, r15d | |
mov rbx, r13 | |
mov QWORD PTR 24[rsp], 0 | |
mov r13, r14 | |
mov rbp, r8 | |
mov r14, QWORD PTR 56[rsp] | |
jmp .L393 | |
.p2align 4,,10 | |
.p2align 3 | |
.L534: | |
js .L442 | |
mov rax, QWORD PTR [r12] | |
lea rsi, -8[rbp] | |
test rbx, rbx | |
lea rdx, -8[r12] | |
mov r8, rsi | |
mov QWORD PTR 0[rbp], rax | |
je .L396 | |
mov rcx, QWORD PTR 32[rsp] | |
sub rbx, 8 | |
mov rax, QWORD PTR [rcx] | |
mov QWORD PTR 8[rbx], rax | |
lea rax, -8[rcx] | |
mov QWORD PTR 32[rsp], rax | |
.L396: | |
mov rax, QWORD PTR 24[rsp] | |
add rax, 1 | |
sub QWORD PTR 8[rsp], 1 | |
je .L443 | |
cmp rax, QWORD PTR 48[rsp] | |
jge .L444 | |
mov r12, rdx | |
xor r15d, r15d | |
.L398: | |
mov rbp, rsi | |
mov QWORD PTR 24[rsp], rax | |
.L393: | |
mov rsi, QWORD PTR [r12] | |
mov rdi, QWORD PTR 0[r13] | |
xor edx, edx | |
mov QWORD PTR 56[rsp], rbp | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
jne .L534 | |
mov rdx, QWORD PTR 0[r13] | |
lea rsi, -8[rbp] | |
test rbx, rbx | |
lea rdi, -8[r13] | |
mov r8, rsi | |
mov QWORD PTR 0[rbp], rdx | |
je .L399 | |
mov rdx, QWORD PTR [r14] | |
sub rbx, 8 | |
sub r14, 8 | |
mov QWORD PTR 8[rbx], rdx | |
.L399: | |
sub QWORD PTR 16[rsp], 1 | |
add r15, 1 | |
mov rcx, QWORD PTR 16[rsp] | |
cmp rcx, 1 | |
je .L400 | |
cmp QWORD PTR 48[rsp], r15 | |
jle .L535 | |
mov r13, rdi | |
jmp .L398 | |
.p2align 4,,10 | |
.p2align 3 | |
.L532: | |
cmp r14, rax | |
jle .L346 | |
xor ebx, ebx | |
cmp QWORD PTR 16[r12], 0 | |
lea rax, 2080[r12] | |
setne bl | |
add ebx, 1 | |
cmp rdi, rax | |
je .L348 | |
mov QWORD PTR 24[rsp], r9 | |
call PyMem_Free@PLT | |
mov r9, QWORD PTR 24[rsp] | |
.L348: | |
cmp ebx, 1 | |
movabs rax, 1152921504606846975 | |
movabs rdx, 576460752303423487 | |
cmovne rax, rdx | |
cmp QWORD PTR 8[rsp], rax | |
ja .L387 | |
mov r14, QWORD PTR 8[rsp] | |
movsx rdi, ebx | |
mov QWORD PTR 24[rsp], r9 | |
mov rbx, rdi | |
imul rbx, r14 | |
lea rdi, 0[0+rbx*8] | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov rdi, rax | |
mov QWORD PTR 8[r12], rax | |
je .L387 | |
cmp QWORD PTR 16[r12], 0 | |
mov QWORD PTR 24[r12], r14 | |
mov r9, QWORD PTR 24[rsp] | |
je .L346 | |
lea rax, [rax+r13] | |
mov QWORD PTR 16[r12], rax | |
.L346: | |
mov rbx, QWORD PTR 40[rsp] | |
mov rdx, r13 | |
mov QWORD PTR 24[rsp], r9 | |
mov rsi, rbx | |
call memcpy@PLT | |
mov rdi, QWORD PTR 16[r12] | |
mov r9, QWORD PTR 24[rsp] | |
test rdi, rdi | |
mov QWORD PTR 48[rsp], rdi | |
je .L352 | |
mov rdx, r13 | |
mov rsi, r15 | |
call memcpy@PLT | |
mov rax, QWORD PTR 16[r12] | |
mov r9, QWORD PTR 24[rsp] | |
lea r8, 8[rbx] | |
mov rcx, QWORD PTR 8[r12] | |
mov QWORD PTR 48[rsp], rax | |
mov rax, QWORD PTR 0[rbp] | |
mov QWORD PTR [rbx], rax | |
.L353: | |
mov rax, QWORD PTR 16[rsp] | |
sub r9, 1 | |
mov QWORD PTR 24[rsp], r9 | |
lea rbx, 8[rax] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR 16[rsp], rbx | |
lea rbx, 8[r15] | |
mov QWORD PTR [r15], rax | |
jne .L423 | |
.L355: | |
mov rdx, r13 | |
mov rsi, rcx | |
mov rdi, r8 | |
call memcpy@PLT | |
test rbx, rbx | |
je .L536 | |
mov rsi, QWORD PTR 48[rsp] | |
mov rdx, r13 | |
mov rdi, rbx | |
call memcpy@PLT | |
mov rax, QWORD PTR 24[rsp] | |
mov QWORD PTR 8[rsp], rax | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L352: | |
mov rbx, QWORD PTR 40[rsp] | |
mov rax, QWORD PTR 0[rbp] | |
test r15, r15 | |
mov rcx, QWORD PTR 8[r12] | |
lea r8, 8[rbx] | |
mov QWORD PTR [rbx], rax | |
jne .L353 | |
sub r9, 1 | |
mov QWORD PTR 24[rsp], r9 | |
je .L422 | |
xor ebx, ebx | |
.L423: | |
add rbp, 8 | |
cmp QWORD PTR 8[rsp], 1 | |
je .L356 | |
mov rax, QWORD PTR [r12] | |
mov r14, QWORD PTR 16[rsp] | |
mov r13, QWORD PTR 48[rsp] | |
mov QWORD PTR 56[rsp], r12 | |
mov r12, rcx | |
mov QWORD PTR 32[rsp], rax | |
.L380: | |
xor r15d, r15d | |
xor eax, eax | |
mov QWORD PTR 40[rsp], r14 | |
mov QWORD PTR 16[rsp], r15 | |
mov r14, r12 | |
mov r15, rbp | |
mov r12, rbx | |
mov rbp, rax | |
mov rbx, r8 | |
jmp .L357 | |
.p2align 4,,10 | |
.p2align 3 | |
.L539: | |
js .L537 | |
mov rax, QWORD PTR [r15] | |
lea rdx, 8[rbx] | |
test r12, r12 | |
lea rsi, 8[r15] | |
mov r8, rdx | |
mov QWORD PTR [rbx], rax | |
je .L360 | |
mov rbx, QWORD PTR 40[rsp] | |
add r12, 8 | |
mov rax, QWORD PTR [rbx] | |
mov QWORD PTR -8[r12], rax | |
lea rax, 8[rbx] | |
mov QWORD PTR 40[rsp], rax | |
.L360: | |
mov rax, QWORD PTR 16[rsp] | |
add rax, 1 | |
sub QWORD PTR 24[rsp], 1 | |
je .L538 | |
cmp rax, QWORD PTR 32[rsp] | |
jge .L431 | |
mov r15, rsi | |
xor ebp, ebp | |
.L363: | |
mov rbx, rdx | |
mov QWORD PTR 16[rsp], rax | |
.L357: | |
mov rsi, QWORD PTR [r14] | |
mov rdi, QWORD PTR [r15] | |
xor edx, edx | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
jne .L539 | |
mov rsi, QWORD PTR [r14] | |
lea rdx, 8[rbx] | |
test r12, r12 | |
lea rdi, 8[r14] | |
mov r8, rdx | |
mov QWORD PTR [rbx], rsi | |
je .L364 | |
mov rsi, QWORD PTR 0[r13] | |
add r12, 8 | |
add r13, 8 | |
mov QWORD PTR -8[r12], rsi | |
.L364: | |
sub QWORD PTR 8[rsp], 1 | |
add rbp, 1 | |
mov rbx, QWORD PTR 8[rsp] | |
cmp rbx, 1 | |
je .L432 | |
cmp QWORD PTR 32[rsp], rbp | |
jle .L540 | |
mov r14, rdi | |
jmp .L363 | |
.p2align 4,,10 | |
.p2align 3 | |
.L429: | |
mov QWORD PTR 8[rsp], rax | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L389: | |
mov rdx, r13 | |
mov rsi, rbp | |
mov QWORD PTR 24[rsp], r9 | |
call memcpy@PLT | |
mov rax, QWORD PTR 16[r12] | |
mov r9, QWORD PTR 24[rsp] | |
test rax, rax | |
mov QWORD PTR 64[rsp], rax | |
je .L541 | |
xor r10d, r10d | |
.L528: | |
mov rsi, QWORD PTR 16[rsp] | |
mov rdx, r13 | |
mov rdi, rax | |
mov QWORD PTR 32[rsp], r10 | |
mov QWORD PTR 24[rsp], r9 | |
call memcpy@PLT | |
mov rax, QWORD PTR 16[r12] | |
lea rdx, -8[r13] | |
mov r10, QWORD PTR 32[rsp] | |
mov r9, QWORD PTR 24[rsp] | |
mov QWORD PTR 64[rsp], rax | |
mov rax, QWORD PTR 8[r12] | |
mov QWORD PTR 72[rsp], rax | |
lea rbp, [rax+rdx] | |
jmp .L427 | |
.p2align 4,,10 | |
.p2align 3 | |
.L536: | |
mov rax, QWORD PTR 24[rsp] | |
mov QWORD PTR 8[rsp], rax | |
jmp .L341 | |
.L526: | |
mov QWORD PTR 16[rsp], r14 | |
mov QWORD PTR 48[rsp], r13 | |
mov rbp, r12 | |
mov rcx, rdx | |
.p2align 4,,10 | |
.p2align 3 | |
.L356: | |
mov r14, QWORD PTR 24[rsp] | |
mov rsi, rbp | |
mov rdi, r8 | |
mov QWORD PTR 8[rsp], rcx | |
lea r13, 0[0+r14*8] | |
mov rdx, r13 | |
call memmove@PLT | |
test rbx, rbx | |
lea rbp, [rax+r13] | |
mov rcx, QWORD PTR 8[rsp] | |
je .L381 | |
mov rsi, QWORD PTR 16[rsp] | |
mov rdx, r13 | |
mov rdi, rbx | |
call memmove@PLT | |
mov rcx, QWORD PTR 8[rsp] | |
mov QWORD PTR 8[rsp], 0 | |
mov rax, QWORD PTR [rcx] | |
mov QWORD PTR 0[rbp], rax | |
mov rax, QWORD PTR 48[rsp] | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR [rbx+r14*8], rax | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L533: | |
cmp QWORD PTR 16[r12], 0 | |
movabs rdx, 1152921504606846975 | |
movabs rax, 576460752303423487 | |
cmove rax, rdx | |
cmp QWORD PTR 16[r12], 1 | |
mov r13, rax | |
lea rax, 2080[r12] | |
sbb ebx, ebx | |
add ebx, 2 | |
cmp rdi, rax | |
je .L384 | |
mov QWORD PTR 24[rsp], r9 | |
call PyMem_Free@PLT | |
mov r9, QWORD PTR 24[rsp] | |
.L384: | |
cmp r9, r13 | |
ja .L387 | |
movsx rdi, ebx | |
mov QWORD PTR 24[rsp], r9 | |
mov rbx, rdi | |
imul rbx, r9 | |
lea rdi, 0[0+rbx*8] | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov rdi, rax | |
mov QWORD PTR 8[r12], rax | |
je .L387 | |
cmp QWORD PTR 16[r12], 0 | |
mov r9, QWORD PTR 24[rsp] | |
mov QWORD PTR 24[r12], r9 | |
lea r13, 0[0+r9*8] | |
je .L388 | |
lea rax, [rax+r13] | |
mov QWORD PTR 16[r12], rax | |
jmp .L388 | |
.p2align 4,,10 | |
.p2align 3 | |
.L441: | |
xor r13d, r13d | |
mov QWORD PTR 32[rsp], r15 | |
jmp .L392 | |
.L543: | |
mov rax, r11 | |
mov r11, r15 | |
mov r10, r14 | |
mov r15, rax | |
mov rax, QWORD PTR 8[rsp] | |
mov r14, rbp | |
mov r8, r15 | |
mov r13, r11 | |
mov rbp, r10 | |
lea rcx, 0[0+rax*8] | |
mov r15, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L407: | |
mov ebx, 1 | |
mov rdx, rcx | |
mov QWORD PTR 8[rsp], r8 | |
sub rbx, r15 | |
mov QWORD PTR 16[rsp], rcx | |
neg r15 | |
sal rbx, 3 | |
mov r12, r15 | |
lea rsi, [r14+rbx] | |
lea rdi, [r8+rbx] | |
sal r12, 3 | |
call memmove@PLT | |
mov r8, QWORD PTR 8[rsp] | |
test r13, r13 | |
lea r14, [r8+r12] | |
je .L417 | |
mov rsi, QWORD PTR 32[rsp] | |
mov rcx, QWORD PTR 16[rsp] | |
lea rdi, 0[r13+rbx] | |
add rsi, rbx | |
mov rdx, rcx | |
call memmove@PLT | |
mov rax, QWORD PTR 0[rbp] | |
add r13, r12 | |
mov QWORD PTR [r14], rax | |
je .L530 | |
mov rax, QWORD PTR 56[rsp] | |
mov QWORD PTR 8[rsp], 0 | |
mov rax, QWORD PTR [rax] | |
mov QWORD PTR 0[r13], rax | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L422: | |
mov rdx, r13 | |
mov rsi, rcx | |
mov rdi, r8 | |
call memcpy@PLT | |
mov QWORD PTR 8[rsp], 0 | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L417: | |
mov rax, QWORD PTR 0[rbp] | |
mov QWORD PTR [r14], rax | |
.L530: | |
mov QWORD PTR 8[rsp], 0 | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L400: | |
mov rax, QWORD PTR 8[rsp] | |
mov QWORD PTR 56[rsp], r14 | |
mov r13, rbx | |
mov r14, r12 | |
mov rbp, rdi | |
lea rcx, 0[0+rax*8] | |
mov r15, rax | |
jmp .L407 | |
.p2align 4,,10 | |
.p2align 3 | |
.L442: | |
mov r15, QWORD PTR 56[rsp] | |
mov r9, QWORD PTR 16[rsp] | |
mov r13, rbx | |
mov QWORD PTR 8[rsp], -1 | |
.L395: | |
test r9, r9 | |
je .L341 | |
mov ebx, 1 | |
lea rbp, 0[0+r9*8] | |
mov rsi, QWORD PTR 72[rsp] | |
sub rbx, r9 | |
sal rbx, 3 | |
mov rdx, rbp | |
lea rdi, [r15+rbx] | |
call memcpy@PLT | |
test r13, r13 | |
je .L341 | |
mov rsi, QWORD PTR 64[rsp] | |
lea rdi, 0[r13+rbx] | |
mov rdx, rbp | |
call memcpy@PLT | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L428: | |
mov QWORD PTR 8[rsp], -1 | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L381: | |
mov rax, QWORD PTR [rcx] | |
mov QWORD PTR 8[rsp], 0 | |
mov QWORD PTR 0[rbp], rax | |
jmp .L341 | |
.p2align 4,,10 | |
.p2align 3 | |
.L443: | |
mov r13, rbx | |
mov r9, QWORD PTR 16[rsp] | |
mov r15, rsi | |
jmp .L395 | |
.p2align 4,,10 | |
.p2align 3 | |
.L535: | |
mov r13, rbx | |
mov rbp, r12 | |
mov QWORD PTR 56[rsp], r14 | |
mov rbx, rcx | |
mov r10, rdi | |
.L397: | |
mov rax, QWORD PTR 48[rsp] | |
mov r12, r8 | |
mov r14, r10 | |
add rax, 1 | |
mov QWORD PTR 16[rsp], rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L501: | |
mov rdi, QWORD PTR 16[rsp] | |
xor eax, eax | |
mov rsi, QWORD PTR 40[rsp] | |
cmp rdi, 1 | |
setg al | |
sub rdi, rax | |
mov rax, QWORD PTR 88[rsp] | |
mov QWORD PTR 16[rsp], rdi | |
mov QWORD PTR [rax], rdi | |
mov rdi, QWORD PTR 8[rsp] | |
lea rcx, -1[rdi] | |
mov rdx, rdi | |
mov rdi, QWORD PTR [r14] | |
call gallop_right | |
test rax, rax | |
mov r15, rax | |
js .L446 | |
mov rdi, QWORD PTR 8[rsp] | |
sub rdi, rax | |
mov QWORD PTR 80[rsp], rdi | |
je .L401 | |
mov rax, rdi | |
lea rcx, 0[0+rdi*8] | |
neg rax | |
sal rax, 3 | |
add r12, rax | |
add rbp, rax | |
test r13, r13 | |
lea rdi, 8[r12] | |
lea rsi, 8[rbp] | |
je .L402 | |
mov rdx, QWORD PTR 32[rsp] | |
add r13, rax | |
mov QWORD PTR 8[rsp], rcx | |
add rax, rdx | |
test rdx, rdx | |
cmove rax, rdx | |
mov rdx, rcx | |
mov QWORD PTR 32[rsp], rax | |
call memmove@PLT | |
test r13, r13 | |
je .L404 | |
mov rax, QWORD PTR 32[rsp] | |
mov rcx, QWORD PTR 8[rsp] | |
lea rdi, 8[r13] | |
lea rsi, 8[rax] | |
mov rdx, rcx | |
call memmove@PLT | |
.L404: | |
test r15, r15 | |
je .L447 | |
mov QWORD PTR 8[rsp], r15 | |
.L401: | |
lea rax, -8[r14] | |
xor r15d, r15d | |
test r13, r13 | |
lea r11, -8[r12] | |
mov QWORD PTR 24[rsp], rax | |
mov rax, QWORD PTR [r14] | |
mov QWORD PTR [r12], rax | |
je .L405 | |
mov rsi, QWORD PTR 56[rsp] | |
lea r15, -8[r13] | |
mov rax, QWORD PTR [rsi] | |
mov QWORD PTR 0[r13], rax | |
lea rax, -8[rsi] | |
mov QWORD PTR 56[rsp], rax | |
.L405: | |
lea r13, -1[rbx] | |
cmp r13, 1 | |
je .L542 | |
mov rsi, QWORD PTR 72[rsp] | |
mov rdi, QWORD PTR 0[rbp] | |
lea rcx, -2[rbx] | |
mov rdx, r13 | |
mov QWORD PTR 48[rsp], r11 | |
call gallop_left | |
test rax, rax | |
mov rbx, rax | |
mov r11, QWORD PTR 48[rsp] | |
js .L449 | |
mov rcx, r13 | |
sub rcx, rax | |
je .L450 | |
mov rax, rcx | |
mov r14, QWORD PTR 24[rsp] | |
lea r13, 0[0+rcx*8] | |
neg rax | |
sal rax, 3 | |
add r11, rax | |
add r14, rax | |
test r15, r15 | |
lea rdi, 8[r11] | |
lea rsi, 8[r14] | |
je .L409 | |
mov QWORD PTR 24[rsp], rcx | |
mov rcx, QWORD PTR 56[rsp] | |
add r15, rax | |
mov rdx, r13 | |
mov QWORD PTR 48[rsp], r11 | |
add rax, rcx | |
test rcx, rcx | |
cmove rax, rcx | |
mov r12, rax | |
mov QWORD PTR 56[rsp], rax | |
call memcpy@PLT | |
test r15, r15 | |
mov rcx, QWORD PTR 24[rsp] | |
mov r11, QWORD PTR 48[rsp] | |
je .L411 | |
lea rdi, 8[r15] | |
lea rsi, 8[r12] | |
mov rdx, r13 | |
call memcpy@PLT | |
mov r11, QWORD PTR 48[rsp] | |
mov rcx, QWORD PTR 24[rsp] | |
.L411: | |
cmp rbx, 1 | |
je .L543 | |
test rbx, rbx | |
je .L530 | |
.L408: | |
mov rax, QWORD PTR 0[rbp] | |
xor r13d, r13d | |
test r15, r15 | |
lea rdx, -8[rbp] | |
lea r12, -8[r11] | |
mov QWORD PTR [r11], rax | |
je .L414 | |
mov rsi, QWORD PTR 32[rsp] | |
lea r13, -8[r15] | |
mov rax, QWORD PTR [rsi] | |
mov QWORD PTR [r15], rax | |
lea rax, -8[rsi] | |
mov QWORD PTR 32[rsp], rax | |
.L414: | |
sub QWORD PTR 8[rsp], 1 | |
je .L453 | |
cmp QWORD PTR 80[rsp], 6 | |
mov rbp, rdx | |
jg .L501 | |
cmp rcx, 6 | |
jg .L501 | |
mov rax, QWORD PTR 16[rsp] | |
mov rcx, QWORD PTR 88[rsp] | |
mov r8, r12 | |
add rax, 1 | |
mov QWORD PTR 48[rsp], rax | |
mov QWORD PTR [rcx], rax | |
jmp .L416 | |
.p2align 4,,10 | |
.p2align 3 | |
.L450: | |
mov r14, QWORD PTR 24[rsp] | |
mov rbx, r13 | |
jmp .L408 | |
.p2align 4,,10 | |
.p2align 3 | |
.L402: | |
mov rdx, QWORD PTR 32[rsp] | |
test rdx, rdx | |
je .L420 | |
add rdx, rax | |
mov QWORD PTR 32[rsp], rdx | |
mov rdx, rcx | |
call memmove@PLT | |
jmp .L404 | |
.p2align 4,,10 | |
.p2align 3 | |
.L409: | |
mov rdx, QWORD PTR 56[rsp] | |
mov QWORD PTR 48[rsp], r11 | |
mov QWORD PTR 24[rsp], rcx | |
test rdx, rdx | |
je .L421 | |
add rdx, rax | |
mov QWORD PTR 56[rsp], rdx | |
mov rdx, r13 | |
call memcpy@PLT | |
mov rcx, QWORD PTR 24[rsp] | |
mov r11, QWORD PTR 48[rsp] | |
jmp .L411 | |
.p2align 4,,10 | |
.p2align 3 | |
.L444: | |
mov QWORD PTR 56[rsp], r14 | |
mov r14, r13 | |
mov rbp, rdx | |
mov r13, rbx | |
mov r10, r14 | |
mov rbx, QWORD PTR 16[rsp] | |
jmp .L397 | |
.L537: | |
mov QWORD PTR 48[rsp], r13 | |
mov r13, QWORD PTR 8[rsp] | |
mov rcx, r14 | |
mov r14, rbx | |
mov QWORD PTR 24[rsp], -1 | |
mov rbx, r12 | |
mov r8, r14 | |
sal r13, 3 | |
jmp .L355 | |
.L432: | |
mov rax, QWORD PTR 40[rsp] | |
mov QWORD PTR 48[rsp], r13 | |
mov rbp, r15 | |
mov rbx, r12 | |
mov rcx, rdi | |
mov QWORD PTR 16[rsp], rax | |
jmp .L356 | |
.L540: | |
mov r14, QWORD PTR 40[rsp] | |
mov rbp, r15 | |
mov rbx, r12 | |
mov r15, rdi | |
.L362: | |
mov rax, QWORD PTR 32[rsp] | |
mov r12, rbp | |
add rax, 1 | |
mov QWORD PTR 40[rsp], rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L500: | |
mov rsi, QWORD PTR 40[rsp] | |
xor eax, eax | |
mov rdx, QWORD PTR 8[rsp] | |
mov rdi, QWORD PTR [r12] | |
mov QWORD PTR 16[rsp], r8 | |
cmp rsi, 1 | |
setg al | |
xor ecx, ecx | |
sub rsi, rax | |
mov rax, QWORD PTR 56[rsp] | |
mov QWORD PTR 40[rsp], rsi | |
mov QWORD PTR [rax], rsi | |
mov rsi, r15 | |
call gallop_right | |
test rax, rax | |
mov QWORD PTR 32[rsp], rax | |
mov r8, QWORD PTR 16[rsp] | |
je .L365 | |
js .L544 | |
lea rbp, 0[0+rax*8] | |
mov rdi, r8 | |
mov rsi, r15 | |
mov rdx, rbp | |
call memcpy@PLT | |
mov r8, rax | |
add r8, rbp | |
test rbx, rbx | |
je .L367 | |
mov rdi, rbx | |
mov rdx, rbp | |
mov rsi, r13 | |
mov QWORD PTR 16[rsp], r8 | |
add rbx, rbp | |
add r15, rbp | |
call memcpy@PLT | |
mov r8, QWORD PTR 16[rsp] | |
.L368: | |
add r13, rbp | |
.L369: | |
mov rcx, QWORD PTR 32[rsp] | |
sub QWORD PTR 8[rsp], rcx | |
mov rax, QWORD PTR 8[rsp] | |
cmp rax, 1 | |
je .L435 | |
test rax, rax | |
je .L341 | |
.L365: | |
lea rax, 8[r12] | |
xor r11d, r11d | |
test rbx, rbx | |
lea rbp, 8[r8] | |
mov QWORD PTR 16[rsp], rax | |
mov rax, QWORD PTR [r12] | |
mov QWORD PTR [r8], rax | |
je .L371 | |
mov rax, QWORD PTR [r14] | |
lea r11, 8[rbx] | |
add r14, 8 | |
mov QWORD PTR [rbx], rax | |
.L371: | |
sub QWORD PTR 24[rsp], 1 | |
je .L529 | |
mov rdx, QWORD PTR 24[rsp] | |
mov rsi, QWORD PTR 16[rsp] | |
xor ecx, ecx | |
mov rdi, QWORD PTR [r15] | |
mov QWORD PTR 48[rsp], r11 | |
call gallop_left | |
test rax, rax | |
mov rcx, rax | |
mov r11, QWORD PTR 48[rsp] | |
je .L437 | |
js .L545 | |
mov r12, QWORD PTR 16[rsp] | |
lea rbx, 0[0+rax*8] | |
mov rdi, rbp | |
mov QWORD PTR 64[rsp], r11 | |
mov QWORD PTR 48[rsp], rax | |
mov rdx, rbx | |
add rbp, rbx | |
mov rsi, r12 | |
call memmove@PLT | |
mov r11, QWORD PTR 64[rsp] | |
mov rcx, QWORD PTR 48[rsp] | |
test r11, r11 | |
je .L375 | |
mov rdi, r11 | |
mov rdx, rbx | |
mov rsi, r14 | |
mov QWORD PTR 16[rsp], rcx | |
add r12, rbx | |
call memmove@PLT | |
mov rcx, QWORD PTR 16[rsp] | |
mov r11, rax | |
add r11, rbx | |
.L376: | |
add r14, rbx | |
.L377: | |
sub QWORD PTR 24[rsp], rcx | |
je .L529 | |
.L373: | |
mov rax, QWORD PTR [r15] | |
xor ebx, ebx | |
test r11, r11 | |
lea rdx, 8[r15] | |
lea r8, 8[rbp] | |
mov QWORD PTR 0[rbp], rax | |
je .L378 | |
mov rax, QWORD PTR 0[r13] | |
lea rbx, 8[r11] | |
add r13, 8 | |
mov QWORD PTR [r11], rax | |
.L378: | |
sub QWORD PTR 8[rsp], 1 | |
mov rax, QWORD PTR 8[rsp] | |
cmp rax, 1 | |
je .L526 | |
cmp QWORD PTR 32[rsp], 6 | |
mov r15, rdx | |
jg .L500 | |
cmp rcx, 6 | |
jg .L500 | |
mov rax, QWORD PTR 40[rsp] | |
mov rcx, QWORD PTR 56[rsp] | |
mov rbp, r12 | |
mov r12, rdx | |
add rax, 1 | |
mov QWORD PTR 32[rsp], rax | |
mov QWORD PTR [rcx], rax | |
jmp .L380 | |
.p2align 4,,10 | |
.p2align 3 | |
.L437: | |
mov r12, QWORD PTR 16[rsp] | |
jmp .L373 | |
.p2align 4,,10 | |
.p2align 3 | |
.L367: | |
add r15, rbp | |
test r13, r13 | |
jne .L368 | |
mov rbx, r13 | |
jmp .L369 | |
.p2align 4,,10 | |
.p2align 3 | |
.L375: | |
mov r12, QWORD PTR 16[rsp] | |
add r12, rbx | |
test r14, r14 | |
jne .L376 | |
mov r11, r14 | |
jmp .L377 | |
.L538: | |
mov QWORD PTR 48[rsp], r13 | |
mov r13, QWORD PTR 8[rsp] | |
mov rbx, r12 | |
mov rcx, r14 | |
sal r13, 3 | |
jmp .L355 | |
.L431: | |
mov rbx, r12 | |
mov r12, r14 | |
mov rbp, rsi | |
mov r14, QWORD PTR 40[rsp] | |
mov r15, r12 | |
jmp .L362 | |
.L420: | |
mov rdx, rcx | |
call memmove@PLT | |
mov r13, QWORD PTR 32[rsp] | |
jmp .L404 | |
.L421: | |
mov rdx, r13 | |
call memcpy@PLT | |
mov r15, QWORD PTR 56[rsp] | |
mov rcx, QWORD PTR 24[rsp] | |
mov r11, QWORD PTR 48[rsp] | |
jmp .L411 | |
.L529: | |
mov QWORD PTR 48[rsp], r13 | |
mov r13, QWORD PTR 8[rsp] | |
mov rbx, r11 | |
mov r8, rbp | |
mov rcx, r15 | |
sal r13, 3 | |
jmp .L355 | |
.L446: | |
mov r9, rbx | |
mov r15, r12 | |
mov QWORD PTR 8[rsp], -1 | |
jmp .L395 | |
.L542: | |
mov rax, r11 | |
mov r11, r15 | |
mov r14, rbp | |
mov r15, rax | |
mov rax, QWORD PTR 8[rsp] | |
mov rbp, QWORD PTR 24[rsp] | |
mov r8, r15 | |
mov r13, r11 | |
lea rcx, 0[0+rax*8] | |
mov r15, rax | |
jmp .L407 | |
.L449: | |
mov rax, r11 | |
mov r8, r13 | |
mov r11, r15 | |
mov r13, r11 | |
mov r15, rax | |
mov r9, r8 | |
mov QWORD PTR 8[rsp], -1 | |
jmp .L395 | |
.L453: | |
mov r9, rbx | |
mov r15, r12 | |
jmp .L395 | |
.L387: | |
call PyErr_NoMemory@PLT | |
mov QWORD PTR 8[rsp], -1 | |
jmp .L341 | |
.L435: | |
mov QWORD PTR 16[rsp], r14 | |
mov QWORD PTR 48[rsp], r13 | |
mov rbp, r12 | |
mov rcx, r15 | |
jmp .L356 | |
.L544: | |
mov QWORD PTR 48[rsp], r13 | |
mov r13, QWORD PTR 8[rsp] | |
mov rcx, r15 | |
mov QWORD PTR 24[rsp], -1 | |
sal r13, 3 | |
jmp .L355 | |
.L545: | |
mov QWORD PTR 48[rsp], r13 | |
mov r13, QWORD PTR 8[rsp] | |
mov rbx, r11 | |
mov r8, rbp | |
mov rcx, r15 | |
mov QWORD PTR 24[rsp], -1 | |
sal r13, 3 | |
jmp .L355 | |
.L447: | |
mov r9, rbx | |
mov QWORD PTR 8[rsp], 0 | |
mov r15, r12 | |
jmp .L395 | |
.L541: | |
mov rax, QWORD PTR 8[r12] | |
xor r10d, r10d | |
mov QWORD PTR 56[rsp], 0 | |
mov QWORD PTR 72[rsp], rax | |
lea rbp, -8[rax+r13] | |
jmp .L424 | |
.cfi_endproc | |
.LFE180: | |
.size merge_at, .-merge_at | |
.section .rodata.str1.1 | |
.LC12: | |
.string "list modified during sort" | |
.text | |
.p2align 4,,15 | |
.type list_sort_impl, @function | |
list_sort_impl: | |
.LFB185: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
sub rsp, 4280 | |
.cfi_def_cfa_offset 4336 | |
mov rax, QWORD PTR 32[rdi] | |
mov rcx, QWORD PTR fs:40 | |
mov QWORD PTR 4264[rsp], rcx | |
xor ecx, ecx | |
mov rcx, QWORD PTR 16[rdi] | |
mov QWORD PTR 48[rsp], rdi | |
mov QWORD PTR 96[rsp], rax | |
lea rax, _Py_NoneStruct[rip] | |
mov DWORD PTR 108[rsp], edx | |
mov QWORD PTR 24[rsp], rcx | |
mov rcx, QWORD PTR 24[rdi] | |
cmp rsi, rax | |
mov QWORD PTR 40[rsp], rcx | |
je .L707 | |
mov rax, QWORD PTR 48[rsp] | |
test rsi, rsi | |
mov rbx, rsi | |
mov QWORD PTR 16[rax], 0 | |
mov QWORD PTR 24[rax], 0 | |
mov QWORD PTR 32[rax], -1 | |
je .L548 | |
mov rax, QWORD PTR 24[rsp] | |
cmp rax, 127 | |
jg .L553 | |
lea r15, 128[rsp] | |
test rax, rax | |
lea r14, 2088[r15+rax*8] | |
jle .L555 | |
.L554: | |
xor ebp, ebp | |
mov r13, QWORD PTR 24[rsp] | |
mov r12, QWORD PTR 40[rsp] | |
jmp .L565 | |
.p2align 4,,10 | |
.p2align 3 | |
.L558: | |
add rbp, 1 | |
cmp rbp, r13 | |
je .L708 | |
.L565: | |
mov rsi, QWORD PTR [r12+rbp*8] | |
xor edx, edx | |
xor eax, eax | |
mov rdi, rbx | |
call PyObject_CallFunctionObjArgs@PLT | |
test rax, rax | |
mov QWORD PTR [r14+rbp*8], rax | |
jne .L558 | |
mov r12, rax | |
.L702: | |
sub rbp, 1 | |
cmp rbp, -1 | |
je .L559 | |
.L709: | |
mov rdi, QWORD PTR [r14+rbp*8] | |
sub QWORD PTR [rdi], 1 | |
jne .L702 | |
mov rax, QWORD PTR 8[rdi] | |
sub rbp, 1 | |
call [QWORD PTR 48[rax]] | |
cmp rbp, -1 | |
jne .L709 | |
.L559: | |
mov rcx, QWORD PTR 24[rsp] | |
cmp rcx, 127 | |
jg .L562 | |
mov rax, QWORD PTR 48[rsp] | |
mov rbp, QWORD PTR 24[rax] | |
mov rbx, QWORD PTR 16[rax] | |
.L701: | |
mov QWORD PTR 16[rax], rcx | |
mov rcx, QWORD PTR 40[rsp] | |
test rbp, rbp | |
mov QWORD PTR 24[rax], rcx | |
mov rcx, QWORD PTR 96[rsp] | |
mov QWORD PTR 32[rax], rcx | |
je .L563 | |
.p2align 4,,10 | |
.p2align 3 | |
.L564: | |
sub rbx, 1 | |
js .L710 | |
.L621: | |
mov rdi, QWORD PTR 0[rbp+rbx*8] | |
test rdi, rdi | |
je .L564 | |
sub QWORD PTR [rdi], 1 | |
jne .L564 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L621 | |
.L710: | |
mov rdi, rbp | |
call PyMem_Free@PLT | |
.L617: | |
test r12, r12 | |
je .L546 | |
add QWORD PTR [r12], 1 | |
.L546: | |
mov rbx, QWORD PTR 4264[rsp] | |
xor rbx, QWORD PTR fs:40 | |
mov rax, r12 | |
jne .L711 | |
add rsp, 4280 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.L553: | |
.cfi_restore_state | |
lea rdi, 0[0+rax*8] | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov r14, rax | |
jne .L554 | |
call PyErr_NoMemory@PLT | |
mov rax, QWORD PTR 48[rsp] | |
mov rcx, QWORD PTR 24[rsp] | |
xor r12d, r12d | |
mov rbx, QWORD PTR 16[rax] | |
mov QWORD PTR 16[rax], rcx | |
mov rcx, QWORD PTR 40[rsp] | |
mov rbp, QWORD PTR 24[rax] | |
mov QWORD PTR 24[rax], rcx | |
mov rcx, QWORD PTR 96[rsp] | |
test rbp, rbp | |
mov QWORD PTR 32[rax], rcx | |
jne .L564 | |
.L563: | |
xor r12d, r12d | |
jmp .L546 | |
.L707: | |
mov QWORD PTR 16[rdi], 0 | |
mov QWORD PTR 24[rdi], 0 | |
mov QWORD PTR 32[rdi], -1 | |
.L548: | |
lea r15, 128[rsp] | |
mov QWORD PTR 152[rsp], 256 | |
mov QWORD PTR 144[rsp], 0 | |
mov DWORD PTR 160[rsp], 0 | |
mov QWORD PTR 128[rsp], 7 | |
lea r12, _Py_NoneStruct[rip] | |
lea rax, 2080[r15] | |
mov QWORD PTR 136[rsp], rax | |
mov rax, QWORD PTR 24[rsp] | |
cmp rax, 1 | |
jle .L550 | |
mov ecx, DWORD PTR 108[rsp] | |
test ecx, ecx | |
je .L627 | |
mov r14, QWORD PTR 40[rsp] | |
lea rax, -8[0+rax*8] | |
mov QWORD PTR 8[rsp], 0 | |
mov QWORD PTR 120[rsp], 0 | |
mov rbx, r14 | |
.L552: | |
add rax, rbx | |
cmp rax, rbx | |
jbe .L551 | |
mov rdx, rbx | |
.p2align 4,,10 | |
.p2align 3 | |
.L570: | |
mov rcx, QWORD PTR [rdx] | |
mov rsi, QWORD PTR [rax] | |
add rdx, 8 | |
sub rax, 8 | |
mov QWORD PTR -8[rdx], rsi | |
mov QWORD PTR 8[rax], rcx | |
cmp rdx, rax | |
jb .L570 | |
jmp .L551 | |
.L627: | |
mov r14, QWORD PTR 40[rsp] | |
mov QWORD PTR 8[rsp], 0 | |
mov QWORD PTR 120[rsp], 0 | |
.L551: | |
mov rax, QWORD PTR 24[rsp] | |
cmp rax, 63 | |
jle .L633 | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L572: | |
mov rcx, rax | |
sar rax | |
and ecx, 1 | |
or rdx, rcx | |
cmp rax, 63 | |
jg .L572 | |
add rax, rdx | |
mov QWORD PTR 32[rsp], rax | |
mov rax, QWORD PTR 24[rsp] | |
.L571: | |
mov QWORD PTR 16[rsp], rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L601: | |
mov rax, QWORD PTR 16[rsp] | |
lea rbp, 8[r14] | |
lea rbx, [r14+rax*8] | |
cmp rbx, rbp | |
je .L634 | |
mov rdi, QWORD PTR 8[r14] | |
mov rsi, QWORD PTR [r14] | |
xor edx, edx | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L643 | |
test rax, rax | |
lea r13, 16[r14] | |
je .L574 | |
cmp rbx, r13 | |
jbe .L636 | |
sub rbx, r14 | |
lea r12, -17[rbx] | |
mov ebx, 2 | |
shr r12, 3 | |
add r12, 3 | |
jmp .L577 | |
.p2align 4,,10 | |
.p2align 3 | |
.L712: | |
je .L576 | |
add rbx, 1 | |
cmp rbx, r12 | |
je .L576 | |
.L577: | |
mov rsi, QWORD PTR -24[r13+rbx*8] | |
mov rdi, QWORD PTR -16[r13+rbx*8] | |
xor edx, edx | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
jns .L712 | |
.p2align 4,,10 | |
.p2align 3 | |
.L643: | |
xor r12d, r12d | |
.L568: | |
cmp QWORD PTR 120[rsp], 0 | |
je .L704 | |
cmp QWORD PTR 24[rsp], 0 | |
jle .L704 | |
.L606: | |
mov rbp, QWORD PTR 120[rsp] | |
mov r13, QWORD PTR 24[rsp] | |
xor ebx, ebx | |
.p2align 4,,10 | |
.p2align 3 | |
.L612: | |
mov rdi, QWORD PTR 0[rbp+rbx*8] | |
sub QWORD PTR [rdi], 1 | |
jne .L611 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L611: | |
add rbx, 1 | |
cmp rbx, r13 | |
jl .L612 | |
cmp QWORD PTR 24[rsp], 127 | |
jle .L704 | |
mov rdi, QWORD PTR 120[rsp] | |
call PyMem_Free@PLT | |
.L704: | |
mov rax, QWORD PTR 48[rsp] | |
mov rax, QWORD PTR 32[rax] | |
cmp rax, -1 | |
je .L607 | |
test r12, r12 | |
je .L705 | |
mov rdi, QWORD PTR PyExc_ValueError[rip] | |
lea rsi, .LC12[rip] | |
call PyErr_SetString@PLT | |
.L705: | |
xor r12d, r12d | |
.L607: | |
mov eax, DWORD PTR 108[rsp] | |
test eax, eax | |
je .L550 | |
mov rax, QWORD PTR 24[rsp] | |
cmp rax, 1 | |
jle .L550 | |
mov rbx, QWORD PTR 40[rsp] | |
lea rax, -8[rbx+rax*8] | |
cmp rax, rbx | |
jbe .L550 | |
mov rdx, rbx | |
.p2align 4,,10 | |
.p2align 3 | |
.L615: | |
mov rcx, QWORD PTR [rdx] | |
mov rsi, QWORD PTR [rax] | |
add rdx, 8 | |
sub rax, 8 | |
mov QWORD PTR -8[rdx], rsi | |
mov QWORD PTR 8[rax], rcx | |
cmp rdx, rax | |
jb .L615 | |
.L550: | |
mov rdi, QWORD PTR 136[rsp] | |
lea rax, 2080[r15] | |
cmp rdi, rax | |
je .L616 | |
call PyMem_Free@PLT | |
.L616: | |
mov rax, QWORD PTR 48[rsp] | |
mov rcx, QWORD PTR 24[rsp] | |
mov rbx, QWORD PTR 16[rax] | |
mov QWORD PTR 16[rax], rcx | |
mov rcx, QWORD PTR 40[rsp] | |
mov rbp, QWORD PTR 24[rax] | |
mov QWORD PTR 24[rax], rcx | |
mov rcx, QWORD PTR 96[rsp] | |
test rbp, rbp | |
mov QWORD PTR 32[rax], rcx | |
jne .L564 | |
jmp .L617 | |
.L708: | |
mov rax, QWORD PTR 24[rsp] | |
lea r15, 128[rsp] | |
.L555: | |
lea rdx, 1[rax] | |
mov rax, rdx | |
shr rax, 63 | |
add rax, rdx | |
sar rax | |
cmp rax, 128 | |
jg .L566 | |
mov QWORD PTR 152[rsp], rax | |
lea rax, 2080[0+rax*8] | |
.L567: | |
add rax, r15 | |
mov DWORD PTR 160[rsp], 0 | |
mov QWORD PTR 128[rsp], 7 | |
mov QWORD PTR 144[rsp], rax | |
lea rax, 2080[r15] | |
mov QWORD PTR 136[rsp], rax | |
mov rax, QWORD PTR 24[rsp] | |
cmp rax, 1 | |
jle .L629 | |
mov edx, DWORD PTR 108[rsp] | |
test edx, edx | |
je .L630 | |
test r14, r14 | |
lea rax, -8[0+rax*8] | |
je .L631 | |
lea rdx, [r14+rax] | |
cmp rdx, r14 | |
jbe .L632 | |
mov rcx, r14 | |
.p2align 4,,10 | |
.p2align 3 | |
.L569: | |
mov rsi, QWORD PTR [rcx] | |
mov rdi, QWORD PTR [rdx] | |
add rcx, 8 | |
sub rdx, 8 | |
mov QWORD PTR -8[rcx], rdi | |
mov QWORD PTR 8[rdx], rsi | |
cmp rcx, rdx | |
jb .L569 | |
.L632: | |
mov rbx, QWORD PTR 40[rsp] | |
mov QWORD PTR 120[rsp], r14 | |
mov QWORD PTR 8[rsp], rbx | |
jmp .L552 | |
.L566: | |
mov QWORD PTR 152[rsp], 128 | |
mov eax, 3104 | |
jmp .L567 | |
.p2align 4,,10 | |
.p2align 3 | |
.L634: | |
mov rcx, rbp | |
.L573: | |
mov rbx, QWORD PTR 32[rsp] | |
cmp rax, rbx | |
cmovle rbx, rax | |
cmp r14, rcx | |
lea rax, [r14+rbx*8] | |
cmovne rbp, rcx | |
mov r13, rbp | |
cmp rax, rbp | |
mov QWORD PTR 64[rsp], rax | |
jbe .L584 | |
mov rcx, QWORD PTR 8[rsp] | |
mov QWORD PTR 112[rsp], rbx | |
mov QWORD PTR 56[rsp], r15 | |
mov rax, rcx | |
sub rcx, 8 | |
sub rax, r14 | |
mov QWORD PTR 80[rsp], rcx | |
mov QWORD PTR 72[rsp], rax | |
add rax, 8 | |
mov QWORD PTR 88[rsp], rax | |
.L593: | |
mov r12, QWORD PTR 0[r13] | |
mov rbp, r13 | |
mov rbx, r14 | |
.p2align 4,,10 | |
.p2align 3 | |
.L586: | |
mov rax, rbp | |
xor edx, edx | |
mov rdi, r12 | |
sub rax, rbx | |
sar rax, 4 | |
lea r15, [rbx+rax*8] | |
mov rsi, QWORD PTR [r15] | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
js .L640 | |
jne .L587 | |
lea rbx, 8[r15] | |
cmp rbp, rbx | |
ja .L586 | |
.L589: | |
cmp rbx, r13 | |
jnb .L590 | |
lea rax, -1[r13] | |
mov edi, 8 | |
mov rsi, r13 | |
sub rax, rbx | |
shr rax, 3 | |
lea rdx, 8[0+rax*8] | |
sub rdi, rdx | |
sub rsi, rdx | |
add rdi, r13 | |
call memmove@PLT | |
.L590: | |
mov rax, QWORD PTR 8[rsp] | |
mov QWORD PTR [rbx], r12 | |
test rax, rax | |
je .L591 | |
lea rdx, 0[r13+rax] | |
mov rax, r14 | |
neg rax | |
mov rbp, QWORD PTR [rdx+rax] | |
mov rax, QWORD PTR 72[rsp] | |
lea r12, [rbx+rax] | |
mov rbx, rax | |
lea rax, [rax+r13] | |
cmp r12, rax | |
jnb .L592 | |
mov rax, QWORD PTR 80[rsp] | |
mov rdi, QWORD PTR 88[rsp] | |
sub rax, r14 | |
lea rax, 7[r13+rax] | |
sub rax, r12 | |
shr rax, 3 | |
lea rdx, 8[0+rax*8] | |
sub rbx, rdx | |
sub rdi, rdx | |
mov rsi, rbx | |
add rdi, r13 | |
add rsi, r13 | |
call memmove@PLT | |
.L592: | |
mov QWORD PTR [r12], rbp | |
.L591: | |
add r13, 8 | |
cmp QWORD PTR 64[rsp], r13 | |
ja .L593 | |
mov rbx, QWORD PTR 112[rsp] | |
mov r15, QWORD PTR 56[rsp] | |
.p2align 4,,10 | |
.p2align 3 | |
.L584: | |
movsx rax, DWORD PTR 160[rsp] | |
mov rdi, QWORD PTR 8[rsp] | |
mov rdx, rax | |
lea rax, [rax+rax*2] | |
add edx, 1 | |
sal rax, 3 | |
lea rcx, 40[r15+rax] | |
mov QWORD PTR [rcx], r14 | |
mov QWORD PTR 8[rcx], rdi | |
mov QWORD PTR 184[rsp+rax], rbx | |
mov DWORD PTR 160[rsp], edx | |
jmp .L594 | |
.p2align 4,,10 | |
.p2align 3 | |
.L713: | |
cmp ecx, 1 | |
jle .L595 | |
lea rcx, [r9+r8] | |
cmp QWORD PTR 136[rsp+rax], rcx | |
jle .L596 | |
.L595: | |
cmp r8, rdi | |
jg .L598 | |
.L706: | |
mov rdi, r15 | |
call merge_at | |
test rax, rax | |
js .L643 | |
mov edx, DWORD PTR 160[rsp] | |
.L594: | |
cmp edx, 1 | |
jle .L598 | |
lea ecx, -2[rdx] | |
movsx rsi, ecx | |
lea rax, [rsi+rsi*2] | |
sal rax, 3 | |
test ecx, ecx | |
mov r8, QWORD PTR 184[rsp+rax] | |
mov rdi, QWORD PTR 208[rsp+rax] | |
je .L595 | |
mov r9, QWORD PTR 160[rsp+rax] | |
lea r10, [r8+rdi] | |
cmp r9, r10 | |
jg .L713 | |
.L596: | |
xor eax, eax | |
cmp r9, rdi | |
setl al | |
sub rsi, rax | |
jmp .L706 | |
.p2align 4,,10 | |
.p2align 3 | |
.L587: | |
cmp rbx, r15 | |
jnb .L589 | |
mov rbp, r15 | |
jmp .L586 | |
.p2align 4,,10 | |
.p2align 3 | |
.L598: | |
mov rcx, QWORD PTR 8[rsp] | |
lea rax, 0[0+rbx*8] | |
add r14, rax | |
add rax, rcx | |
test rcx, rcx | |
cmove rax, rcx | |
sub QWORD PTR 16[rsp], rbx | |
mov QWORD PTR 8[rsp], rax | |
jne .L601 | |
jmp .L602 | |
.p2align 4,,10 | |
.p2align 3 | |
.L714: | |
lea rax, [rsi+rsi*2] | |
mov rbx, QWORD PTR 208[rsp+rax*8] | |
cmp QWORD PTR 160[rsp+rax*8], rbx | |
jge .L603 | |
sub rsi, 1 | |
.L603: | |
mov rdi, r15 | |
call merge_at | |
test rax, rax | |
js .L604 | |
mov edx, DWORD PTR 160[rsp] | |
.L602: | |
cmp edx, 1 | |
jle .L703 | |
sub edx, 2 | |
test edx, edx | |
movsx rsi, edx | |
jne .L714 | |
xor esi, esi | |
jmp .L603 | |
.p2align 4,,10 | |
.p2align 3 | |
.L640: | |
mov r15, QWORD PTR 56[rsp] | |
xor r12d, r12d | |
jmp .L568 | |
.p2align 4,,10 | |
.p2align 3 | |
.L574: | |
cmp rbx, r13 | |
jbe .L638 | |
sub rbx, r14 | |
lea r12, -17[rbx] | |
mov ebx, 2 | |
shr r12, 3 | |
add r12, 3 | |
jmp .L580 | |
.p2align 4,,10 | |
.p2align 3 | |
.L715: | |
jne .L578 | |
add rbx, 1 | |
cmp rbx, r12 | |
je .L578 | |
.L580: | |
mov rsi, QWORD PTR -24[r13+rbx*8] | |
mov rdi, QWORD PTR -16[r13+rbx*8] | |
xor edx, edx | |
call PyObject_RichCompareBool@PLT | |
cdqe | |
test rax, rax | |
jns .L715 | |
jmp .L643 | |
.L638: | |
mov ebx, 2 | |
.p2align 4,,10 | |
.p2align 3 | |
.L578: | |
cmp rbx, QWORD PTR 32[rsp] | |
jge .L584 | |
lea rax, [r14+rbx*8] | |
mov rcx, rax | |
mov rax, QWORD PTR 16[rsp] | |
jmp .L573 | |
.p2align 4,,10 | |
.p2align 3 | |
.L576: | |
lea rcx, -8[0+rbx*8] | |
lea rax, [r14+rcx] | |
.L575: | |
cmp r14, rax | |
jnb .L581 | |
mov rdx, r14 | |
.p2align 4,,10 | |
.p2align 3 | |
.L582: | |
mov rsi, QWORD PTR [rdx] | |
mov rdi, QWORD PTR [rax] | |
add rdx, 8 | |
sub rax, 8 | |
mov QWORD PTR -8[rdx], rdi | |
mov QWORD PTR 8[rax], rsi | |
cmp rdx, rax | |
jb .L582 | |
.L581: | |
mov rdx, QWORD PTR 8[rsp] | |
test rdx, rdx | |
je .L578 | |
lea rax, [rdx+rcx] | |
cmp rdx, rax | |
jnb .L578 | |
.p2align 4,,10 | |
.p2align 3 | |
.L583: | |
mov rcx, QWORD PTR [rdx] | |
mov rsi, QWORD PTR [rax] | |
add rdx, 8 | |
sub rax, 8 | |
mov QWORD PTR -8[rdx], rsi | |
mov QWORD PTR 8[rax], rcx | |
cmp rdx, rax | |
jb .L583 | |
jmp .L578 | |
.L629: | |
mov QWORD PTR 120[rsp], r14 | |
.L703: | |
lea r12, _Py_NoneStruct[rip] | |
jmp .L568 | |
.L562: | |
mov rdi, r14 | |
call PyMem_Free@PLT | |
mov rax, QWORD PTR 48[rsp] | |
mov rcx, QWORD PTR 24[rsp] | |
mov rbp, QWORD PTR 24[rax] | |
mov rbx, QWORD PTR 16[rax] | |
jmp .L701 | |
.L630: | |
mov rax, QWORD PTR 40[rsp] | |
mov QWORD PTR 120[rsp], r14 | |
mov QWORD PTR 8[rsp], rax | |
jmp .L551 | |
.L633: | |
mov QWORD PTR 32[rsp], rax | |
jmp .L571 | |
.L604: | |
cmp QWORD PTR 120[rsp], 0 | |
je .L705 | |
xor r12d, r12d | |
cmp QWORD PTR 24[rsp], 0 | |
jg .L606 | |
jmp .L705 | |
.L636: | |
mov rax, rbp | |
mov ecx, 8 | |
mov ebx, 2 | |
jmp .L575 | |
.L631: | |
mov rbx, QWORD PTR 40[rsp] | |
mov QWORD PTR 120[rsp], 0 | |
mov QWORD PTR 8[rsp], rbx | |
jmp .L552 | |
.L711: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE185: | |
.size list_sort_impl, .-list_sort_impl | |
.p2align 4,,15 | |
.type list_sort, @function | |
list_sort: | |
.LFB124: | |
.cfi_startproc | |
push rbx | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
mov rbx, rdi | |
mov rdi, rsi | |
mov rsi, rdx | |
mov rdx, rcx | |
lea rcx, _parser.13259[rip] | |
sub rsp, 32 | |
.cfi_def_cfa_offset 48 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 24[rsp], rax | |
xor eax, eax | |
lea rax, _Py_NoneStruct[rip] | |
lea r9, 12[rsp] | |
lea r8, 16[rsp] | |
mov DWORD PTR 12[rsp], 0 | |
mov QWORD PTR 16[rsp], rax | |
xor eax, eax | |
call _PyArg_ParseStackAndKeywords@PLT | |
test eax, eax | |
je .L719 | |
mov edx, DWORD PTR 12[rsp] | |
mov rsi, QWORD PTR 16[rsp] | |
mov rdi, rbx | |
call list_sort_impl | |
.L716: | |
mov rbx, QWORD PTR 24[rsp] | |
xor rbx, QWORD PTR fs:40 | |
jne .L721 | |
add rsp, 32 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 16 | |
pop rbx | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L719: | |
.cfi_restore_state | |
.L717: | |
xor eax, eax | |
jmp .L716 | |
.L721: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE124: | |
.size list_sort, .-list_sort | |
.section .rodata.str1.8,"aMS",@progbits,1 | |
.align 8 | |
.LC13: | |
.string "cannot add more objects to list" | |
.text | |
.p2align 4,,15 | |
.type list_append, @function | |
list_append: | |
.LFB159: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
movabs rax, 9223372036854775807 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov r13, QWORD PTR 16[rdi] | |
cmp r13, rax | |
je .L737 | |
mov rax, QWORD PTR 32[rdi] | |
lea rbx, 1[r13] | |
mov rbp, rdi | |
mov r14, rsi | |
cmp rbx, rax | |
jg .L725 | |
sar rax | |
cmp rbx, rax | |
jl .L725 | |
mov rax, QWORD PTR 24[rdi] | |
mov QWORD PTR 16[rdi], rbx | |
.L726: | |
add QWORD PTR [r14], 1 | |
mov QWORD PTR [rax+r13*8], r14 | |
lea rax, _Py_NoneStruct[rip] | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
.L722: | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L725: | |
.cfi_restore_state | |
mov r12, rbx | |
xor eax, eax | |
sar r12, 3 | |
add r12, rbx | |
cmp rbx, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r12, rax | |
movabs rax, 1152921504606846975 | |
cmp r12, rax | |
ja .L730 | |
test rbx, rbx | |
je .L732 | |
lea rsi, 0[0+r12*8] | |
.L729: | |
mov rdi, QWORD PTR 24[rbp] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L730 | |
mov QWORD PTR 24[rbp], rax | |
mov QWORD PTR 16[rbp], rbx | |
mov QWORD PTR 32[rbp], r12 | |
jmp .L726 | |
.p2align 4,,10 | |
.p2align 3 | |
.L732: | |
xor esi, esi | |
xor r12d, r12d | |
jmp .L729 | |
.p2align 4,,10 | |
.p2align 3 | |
.L730: | |
call PyErr_NoMemory@PLT | |
xor eax, eax | |
jmp .L722 | |
.p2align 4,,10 | |
.p2align 3 | |
.L737: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
call PyErr_SetString@PLT | |
xor eax, eax | |
jmp .L722 | |
.cfi_endproc | |
.LFE159: | |
.size list_append, .-list_append | |
.section .rodata.str1.1 | |
.LC14: | |
.string "nO:insert" | |
.text | |
.p2align 4,,15 | |
.type list_insert, @function | |
list_insert: | |
.LFB120: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
mov r12, rdi | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rdi, rsi | |
mov rsi, rdx | |
lea rdx, .LC14[rip] | |
sub rsp, 40 | |
.cfi_def_cfa_offset 96 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 24[rsp], rax | |
xor eax, eax | |
lea rcx, 8[rsp] | |
lea r8, 16[rsp] | |
call _PyArg_ParseStack@PLT | |
test eax, eax | |
je .L762 | |
mov rbp, QWORD PTR 16[rsp] | |
mov r15, QWORD PTR 8[rsp] | |
mov rbx, QWORD PTR 16[r12] | |
test rbp, rbp | |
je .L779 | |
movabs rax, 9223372036854775807 | |
cmp rbx, rax | |
je .L780 | |
mov rax, QWORD PTR 32[r12] | |
lea r13, 1[rbx] | |
cmp r13, rax | |
jle .L781 | |
.L742: | |
mov r14, r13 | |
xor eax, eax | |
sar r14, 3 | |
add r14, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r14, rax | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L747 | |
test r13, r13 | |
je .L764 | |
lea rsi, 0[0+r14*8] | |
.L746: | |
mov rdi, QWORD PTR 24[r12] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L747 | |
test r15, r15 | |
mov QWORD PTR 24[r12], rax | |
mov QWORD PTR 16[r12], r13 | |
mov QWORD PTR 32[r12], r14 | |
js .L782 | |
.L748: | |
cmp r15, rbx | |
mov rcx, r15 | |
cmovg rcx, rbx | |
.L749: | |
lea rsi, 0[0+rcx*8] | |
cmp rbx, 32 | |
lea r12, [rax+rsi] | |
jg .L750 | |
lea rsi, -1[rbx] | |
cmp rcx, rsi | |
jg .L752 | |
mov r9, rbx | |
movabs rdx, -9223372036854775808 | |
sub r9, rcx | |
cmp rcx, rdx | |
je .L771 | |
cmp r9, 24 | |
jbe .L771 | |
lea rdi, 0[0+rbx*8] | |
mov r11, rsi | |
sub r11, rcx | |
lea r8, -16[rdi] | |
lea rdx, [rax+r8] | |
shr rdx, 3 | |
and edx, 1 | |
lea r10, 1[rdx] | |
cmp r11, r10 | |
jb .L754 | |
test rdx, rdx | |
je .L755 | |
mov r10, QWORD PTR [rax+rsi*8] | |
mov QWORD PTR 8[rax+rsi*8], r10 | |
lea rsi, -2[rbx] | |
.L755: | |
sub r9, rdx | |
neg rdx | |
sal rdx, 3 | |
mov r10, r9 | |
lea r11, -8[rdi+rdx] | |
add r8, rdx | |
shr r10 | |
add r8, rax | |
xor edx, edx | |
xor edi, edi | |
add r11, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L756: | |
movdqa xmm0, XMMWORD PTR [r8+rdx] | |
add rdi, 1 | |
movups XMMWORD PTR [r11+rdx], xmm0 | |
sub rdx, 16 | |
cmp rdi, r10 | |
jb .L756 | |
mov rdx, r9 | |
and rdx, -2 | |
sub rsi, rdx | |
cmp r9, rdx | |
je .L752 | |
.L754: | |
mov rdx, QWORD PTR [rax+rsi*8] | |
mov QWORD PTR 8[rax+rsi*8], rdx | |
sub rsi, 1 | |
cmp rsi, rcx | |
jl .L752 | |
mov rdx, QWORD PTR [rax+rsi*8] | |
mov QWORD PTR 8[rax+rsi*8], rdx | |
.L752: | |
add QWORD PTR 0[rbp], 1 | |
mov QWORD PTR [r12], rbp | |
lea rbp, _Py_NoneStruct[rip] | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
.L738: | |
mov rbx, QWORD PTR 24[rsp] | |
xor rbx, QWORD PTR fs:40 | |
mov rax, rbp | |
jne .L783 | |
add rsp, 40 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L781: | |
.cfi_restore_state | |
sar rax | |
cmp r13, rax | |
jl .L742 | |
test r15, r15 | |
mov QWORD PTR 16[r12], r13 | |
mov rax, QWORD PTR 24[r12] | |
jns .L748 | |
.L782: | |
mov rcx, r15 | |
mov edx, 0 | |
add rcx, rbx | |
cmovs rcx, rdx | |
jmp .L749 | |
.p2align 4,,10 | |
.p2align 3 | |
.L771: | |
mov rdx, QWORD PTR [rax+rsi*8] | |
mov QWORD PTR 8[rax+rsi*8], rdx | |
sub rsi, 1 | |
cmp rcx, rsi | |
jle .L771 | |
jmp .L752 | |
.p2align 4,,10 | |
.p2align 3 | |
.L764: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L746 | |
.p2align 4,,10 | |
.p2align 3 | |
.L750: | |
sub rbx, rcx | |
lea rdi, 8[rax+rsi] | |
mov rsi, r12 | |
lea rdx, 0[0+rbx*8] | |
call memmove@PLT | |
jmp .L752 | |
.p2align 4,,10 | |
.p2align 3 | |
.L762: | |
.L739: | |
xor ebp, ebp | |
jmp .L738 | |
.L780: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
xor ebp, ebp | |
call PyErr_SetString@PLT | |
jmp .L738 | |
.L747: | |
call PyErr_NoMemory@PLT | |
xor ebp, ebp | |
jmp .L738 | |
.L779: | |
lea rdi, .LC2[rip] | |
mov esi, 249 | |
call _PyErr_BadInternalCall@PLT | |
jmp .L738 | |
.L783: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE120: | |
.size list_insert, .-list_insert | |
.p2align 4,,15 | |
.type list_copy, @function | |
list_copy: | |
.LFB122: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
mov r12d, 0 | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov rbx, QWORD PTR 16[rdi] | |
test rbx, rbx | |
cmovle r12, rbx | |
sub rbx, r12 | |
js .L810 | |
mov eax, DWORD PTR numfree[rip] | |
mov r13, rdi | |
test eax, eax | |
je .L787 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rbp, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR 0[rbp], 1 | |
.L788: | |
test rbx, rbx | |
jne .L790 | |
mov QWORD PTR 24[rbp], 0 | |
xor eax, eax | |
.L791: | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rbp], rbx | |
lea r14, -24[rbp] | |
mov QWORD PTR 32[rbp], rbx | |
mov rcx, rdx | |
sar rcx | |
cmp rcx, -2 | |
jne .L811 | |
.L794: | |
and edx, 1 | |
sal r12, 3 | |
or rdx, -6 | |
test rbx, rbx | |
mov QWORD PTR -8[rbp], rdx | |
mov rdx, QWORD PTR _PyRuntime[rip+432] | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR -24[rbp], rdx | |
mov QWORD PTR -16[rbp], rcx | |
mov QWORD PTR [rcx], r14 | |
mov QWORD PTR 8[rdx], r14 | |
mov rcx, QWORD PTR 24[r13] | |
je .L784 | |
.L793: | |
lea rsi, [rcx+r12] | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L795: | |
mov rcx, QWORD PTR [rsi+rdx*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rax+rdx*8], rcx | |
add rdx, 1 | |
cmp rbx, rdx | |
jne .L795 | |
.L784: | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
mov rax, rbp | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L811: | |
.cfi_restore_state | |
lea rdi, .LC3[rip] | |
call Py_FatalError@PLT | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rbp] | |
jmp .L794 | |
.p2align 4,,10 | |
.p2align 3 | |
.L790: | |
mov esi, 8 | |
mov rdi, rbx | |
call PyMem_Calloc@PLT | |
test rax, rax | |
mov QWORD PTR 24[rbp], rax | |
jne .L791 | |
sub QWORD PTR 0[rbp], 1 | |
jne .L792 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L792: | |
call PyErr_NoMemory@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L789 | |
mov rax, QWORD PTR 24[rax] | |
mov rcx, QWORD PTR 24[r13] | |
sal r12, 3 | |
jmp .L793 | |
.p2align 4,,10 | |
.p2align 3 | |
.L787: | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov rbp, rax | |
jne .L788 | |
.L789: | |
xor ebp, ebp | |
jmp .L784 | |
.L810: | |
lea rdi, .LC2[rip] | |
mov esi, 150 | |
xor ebp, ebp | |
call _PyErr_BadInternalCall@PLT | |
jmp .L784 | |
.cfi_endproc | |
.LFE122: | |
.size list_copy, .-list_copy | |
.p2align 4,,15 | |
.type list_inplace_repeat, @function | |
list_inplace_repeat: | |
.LFB154: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov rbx, QWORD PTR 16[rdi] | |
test rbx, rbx | |
je .L835 | |
cmp rsi, 1 | |
je .L835 | |
test rsi, rsi | |
mov r12, rsi | |
mov rbp, rdi | |
jle .L844 | |
movabs rax, 9223372036854775807 | |
cqo | |
idiv rsi | |
cmp rax, rbx | |
jl .L845 | |
mov r13, rbx | |
mov rax, QWORD PTR 32[rdi] | |
imul r13, rsi | |
cmp r13, rax | |
jle .L846 | |
.L824: | |
mov r14, r13 | |
xor eax, eax | |
sar r14, 3 | |
add r14, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r14, rax | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L829 | |
test r13, r13 | |
je .L834 | |
lea rsi, 0[0+r14*8] | |
.L828: | |
mov rdi, QWORD PTR 24[rbp] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L829 | |
mov QWORD PTR 24[rbp], rax | |
mov QWORD PTR 16[rbp], r13 | |
mov QWORD PTR 32[rbp], r14 | |
.L825: | |
test rbx, rbx | |
jle .L830 | |
lea rdi, [rax+rbx*8] | |
mov r8, rbx | |
mov esi, 1 | |
.p2align 4,,10 | |
.p2align 3 | |
.L831: | |
mov rdx, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L832: | |
mov rcx, QWORD PTR [rdx] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rdx+rbx*8], rcx | |
add rdx, 8 | |
cmp rdi, rdx | |
jne .L832 | |
add rsi, 1 | |
add rbx, r8 | |
cmp r12, rsi | |
jg .L831 | |
.L830: | |
add QWORD PTR 0[rbp], 1 | |
mov rax, rbp | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L835: | |
.cfi_restore_state | |
add QWORD PTR [rdi], 1 | |
mov rax, rdi | |
.L812: | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L845: | |
.cfi_restore_state | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
jmp PyErr_NoMemory@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L846: | |
.cfi_restore_state | |
sar rax | |
cmp r13, rax | |
jl .L824 | |
mov QWORD PTR 16[rdi], r13 | |
mov rax, QWORD PTR 24[rdi] | |
jmp .L825 | |
.p2align 4,,10 | |
.p2align 3 | |
.L844: | |
mov r12, QWORD PTR 24[rdi] | |
test r12, r12 | |
je .L830 | |
mov QWORD PTR 16[rdi], 0 | |
mov QWORD PTR 24[rdi], 0 | |
mov QWORD PTR 32[rdi], 0 | |
.L818: | |
sub rbx, 1 | |
js .L847 | |
.L822: | |
mov rdi, QWORD PTR [r12+rbx*8] | |
test rdi, rdi | |
je .L818 | |
sub QWORD PTR [rdi], 1 | |
jne .L818 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L822 | |
.L847: | |
mov rdi, r12 | |
call PyMem_Free@PLT | |
jmp .L830 | |
.p2align 4,,10 | |
.p2align 3 | |
.L834: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L828 | |
.L829: | |
call PyErr_NoMemory@PLT | |
xor eax, eax | |
jmp .L812 | |
.cfi_endproc | |
.LFE154: | |
.size list_inplace_repeat, .-list_inplace_repeat | |
.section .rodata.str1.1 | |
.LC15: | |
.string "|n:pop" | |
.LC16: | |
.string "pop from empty list" | |
.LC17: | |
.string "pop index out of range" | |
.text | |
.p2align 4,,15 | |
.type list_pop, @function | |
list_pop: | |
.LFB123: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
mov r14, rdi | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
mov rdi, rsi | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rsi, rdx | |
lea rdx, .LC15[rip] | |
sub rsp, 152 | |
.cfi_def_cfa_offset 208 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 136[rsp], rax | |
xor eax, eax | |
lea rcx, 56[rsp] | |
mov QWORD PTR 56[rsp], -1 | |
call _PyArg_ParseStack@PLT | |
test eax, eax | |
je .L919 | |
mov rax, QWORD PTR 16[r14] | |
mov rcx, QWORD PTR 56[rsp] | |
test rax, rax | |
je .L920 | |
test rcx, rcx | |
js .L921 | |
.L852: | |
cmp rax, rcx | |
jle .L853 | |
mov r15, QWORD PTR 24[r14] | |
lea r12, -1[rax] | |
cmp r12, rcx | |
mov rbp, QWORD PTR [r15+rcx*8] | |
je .L922 | |
lea r10, 1[rcx] | |
add QWORD PTR 0[rbp], 1 | |
cmp r10, rcx | |
jl .L897 | |
cmp rax, r10 | |
cmovle r10, rax | |
mov rbx, r10 | |
sub rbx, rcx | |
mov rdx, rbx | |
neg rdx | |
cmp rax, rbx | |
mov QWORD PTR 8[rsp], rdx | |
jne .L862 | |
test r15, r15 | |
je .L848 | |
mov QWORD PTR 16[r14], 0 | |
mov QWORD PTR 24[r14], 0 | |
mov QWORD PTR 32[r14], 0 | |
jmp .L864 | |
.p2align 4,,10 | |
.p2align 3 | |
.L868: | |
mov rdi, QWORD PTR [r15+r12*8] | |
test rdi, rdi | |
je .L866 | |
sub QWORD PTR [rdi], 1 | |
jne .L866 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L866: | |
sub r12, 1 | |
.L864: | |
test r12, r12 | |
jns .L868 | |
mov rdi, r15 | |
call PyMem_Free@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L848: | |
mov rdx, QWORD PTR 136[rsp] | |
xor rdx, QWORD PTR fs:40 | |
mov rax, rbp | |
jne .L923 | |
add rsp, 152 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L922: | |
.cfi_restore_state | |
mov rax, QWORD PTR 32[r14] | |
cmp rcx, rax | |
jle .L924 | |
.L856: | |
mov rbx, r12 | |
movabs rax, 1152921504606846975 | |
sar rbx, 3 | |
add rcx, rbx | |
xor ebx, ebx | |
cmp r12, 8 | |
setg bl | |
lea rbx, 3[rbx+rbx*2] | |
add rbx, rcx | |
cmp rbx, rax | |
ja .L860 | |
test r12, r12 | |
je .L896 | |
lea rsi, 0[0+rbx*8] | |
.L859: | |
mov rdi, r15 | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L860 | |
mov QWORD PTR 24[r14], rax | |
mov QWORD PTR 16[r14], r12 | |
mov QWORD PTR 32[r14], rbx | |
jmp .L848 | |
.L887: | |
call PyErr_NoMemory@PLT | |
cmp r12, r13 | |
je .L871 | |
.L885: | |
mov rdi, r12 | |
call PyMem_Free@PLT | |
.L871: | |
sub QWORD PTR 0[rbp], 1 | |
jne .L919 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L919: | |
.L850: | |
xor ebp, ebp | |
jmp .L848 | |
.p2align 4,,10 | |
.p2align 3 | |
.L921: | |
add rcx, rax | |
jns .L852 | |
.L853: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
lea rsi, .LC17[rip] | |
xor ebp, ebp | |
call PyErr_SetString@PLT | |
jmp .L848 | |
.p2align 4,,10 | |
.p2align 3 | |
.L897: | |
lea r13, 64[rsp] | |
mov r12, r13 | |
.L861: | |
cmp r12, r13 | |
je .L848 | |
mov rdi, r12 | |
call PyMem_Free@PLT | |
jmp .L848 | |
.p2align 4,,10 | |
.p2align 3 | |
.L924: | |
sar rax | |
cmp rcx, rax | |
jl .L856 | |
mov QWORD PTR 16[r14], rcx | |
jmp .L848 | |
.p2align 4,,10 | |
.p2align 3 | |
.L896: | |
xor esi, esi | |
xor ebx, ebx | |
jmp .L859 | |
.p2align 4,,10 | |
.p2align 3 | |
.L920: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
lea rsi, .LC16[rip] | |
xor ebp, ebp | |
call PyErr_SetString@PLT | |
jmp .L848 | |
.L860: | |
call PyErr_NoMemory@PLT | |
xor ebp, ebp | |
jmp .L848 | |
.L923: | |
call __stack_chk_fail@PLT | |
.L862: | |
lea rdi, 0[0+rbx*8] | |
test rdi, rdi | |
mov QWORD PTR 32[rsp], rdi | |
je .L898 | |
cmp rdi, 64 | |
jbe .L899 | |
mov QWORD PTR 24[rsp], r10 | |
mov QWORD PTR 16[rsp], rcx | |
lea r13, 64[rsp] | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov r12, rax | |
mov rcx, QWORD PTR 16[rsp] | |
mov r10, QWORD PTR 24[rsp] | |
je .L925 | |
.L870: | |
mov rdx, QWORD PTR 32[rsp] | |
lea rsi, [r15+rcx*8] | |
mov rdi, r12 | |
mov QWORD PTR 24[rsp], r10 | |
mov QWORD PTR 16[rsp], rcx | |
call memcpy@PLT | |
mov rcx, QWORD PTR 16[rsp] | |
mov r10, QWORD PTR 24[rsp] | |
.L869: | |
cmp QWORD PTR 8[rsp], 0 | |
js .L926 | |
je .L874 | |
mov rdx, QWORD PTR 16[r14] | |
mov rax, QWORD PTR 32[r14] | |
mov r8, rdx | |
sub r8, rbx | |
cmp r8, rax | |
jg .L881 | |
sar rax | |
cmp r8, rax | |
jge .L927 | |
.L881: | |
mov r15, r8 | |
xor eax, eax | |
sar r15, 3 | |
add r15, r8 | |
cmp r8, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r15, rax | |
movabs rax, 1152921504606846975 | |
cmp r15, rax | |
ja .L887 | |
test r8, r8 | |
je .L903 | |
lea rsi, 0[0+r15*8] | |
.L886: | |
mov rdi, QWORD PTR 24[r14] | |
mov QWORD PTR 32[rsp], r10 | |
mov QWORD PTR 24[rsp], r8 | |
mov QWORD PTR 16[rsp], rdx | |
mov QWORD PTR 8[rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L887 | |
mov r8, QWORD PTR 24[rsp] | |
mov rcx, QWORD PTR 8[rsp] | |
mov rdx, QWORD PTR 16[rsp] | |
mov r10, QWORD PTR 32[rsp] | |
mov QWORD PTR 24[r14], rax | |
mov QWORD PTR 32[r14], r15 | |
mov QWORD PTR 16[r14], r8 | |
.L882: | |
sub rdx, r10 | |
lea rsi, [rax+r10*8] | |
lea rdi, [rax+rcx*8] | |
sal rdx, 3 | |
call memmove@PLT | |
.L874: | |
sub rbx, 1 | |
js .L861 | |
.p2align 4,,10 | |
.p2align 3 | |
.L891: | |
mov rdi, QWORD PTR [r12+rbx*8] | |
test rdi, rdi | |
je .L889 | |
sub QWORD PTR [rdi], 1 | |
jne .L889 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L889: | |
sub rbx, 1 | |
cmp rbx, -1 | |
jne .L891 | |
jmp .L861 | |
.p2align 4,,10 | |
.p2align 3 | |
.L899: | |
lea r13, 64[rsp] | |
mov r12, r13 | |
jmp .L870 | |
.L926: | |
mov rax, QWORD PTR 16[r14] | |
lea rsi, [r15+r10*8] | |
lea r15, [r15+rcx*8] | |
mov rdi, r15 | |
mov QWORD PTR 40[rsp], rsi | |
sub rax, r10 | |
lea rdx, 0[0+rax*8] | |
mov QWORD PTR 24[rsp], rdx | |
call memmove@PLT | |
mov rcx, QWORD PTR 16[r14] | |
mov rax, QWORD PTR 32[r14] | |
sub rcx, rbx | |
cmp rcx, rax | |
jg .L873 | |
sar rax | |
cmp rcx, rax | |
jge .L928 | |
.L873: | |
mov rdx, rcx | |
xor eax, eax | |
sar rdx, 3 | |
add rdx, rcx | |
cmp rcx, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add rdx, rax | |
movabs rax, 1152921504606846975 | |
cmp rdx, rax | |
ja .L880 | |
test rcx, rcx | |
je .L901 | |
lea rsi, 0[0+rdx*8] | |
.L879: | |
mov rdi, QWORD PTR 24[r14] | |
mov QWORD PTR 16[rsp], rdx | |
mov QWORD PTR 8[rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L880 | |
mov rcx, QWORD PTR 8[rsp] | |
mov rdx, QWORD PTR 16[rsp] | |
mov QWORD PTR 24[r14], rax | |
mov QWORD PTR 16[r14], rcx | |
mov QWORD PTR 32[r14], rdx | |
jmp .L874 | |
.p2align 4,,10 | |
.p2align 3 | |
.L903: | |
xor esi, esi | |
xor r15d, r15d | |
jmp .L886 | |
.p2align 4,,10 | |
.p2align 3 | |
.L927: | |
mov QWORD PTR 16[r14], r8 | |
mov rax, QWORD PTR 24[r14] | |
jmp .L882 | |
.p2align 4,,10 | |
.p2align 3 | |
.L901: | |
xor esi, esi | |
xor edx, edx | |
jmp .L879 | |
.L928: | |
mov QWORD PTR 16[r14], rcx | |
jmp .L874 | |
.L880: | |
call PyErr_NoMemory@PLT | |
mov rdx, QWORD PTR 24[rsp] | |
mov rdi, QWORD PTR 40[rsp] | |
mov rsi, r15 | |
call memmove@PLT | |
mov rdx, QWORD PTR 32[rsp] | |
mov rsi, r12 | |
mov rdi, r15 | |
call memcpy@PLT | |
cmp r12, r13 | |
jne .L885 | |
jmp .L871 | |
.L925: | |
call PyErr_NoMemory@PLT | |
xor edi, edi | |
call PyMem_Free@PLT | |
jmp .L871 | |
.L898: | |
lea r13, 64[rsp] | |
mov r12, r13 | |
jmp .L869 | |
.cfi_endproc | |
.LFE123: | |
.size list_pop, .-list_pop | |
.section .rodata.str1.1 | |
.LC18: | |
.string "argument must be iterable" | |
.text | |
.p2align 4,,15 | |
.type list_extend, @function | |
list_extend: | |
.LFB160: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
lea rdx, PyTuple_Type[rip] | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
lea rcx, PyList_Type[rip] | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rbp, rsi | |
mov rbx, rdi | |
sub rsp, 24 | |
.cfi_def_cfa_offset 80 | |
mov rax, QWORD PTR 8[rsi] | |
cmp rax, rdx | |
sete dl | |
cmp rax, rcx | |
sete al | |
or dl, al | |
jne .L985 | |
cmp rsi, rdi | |
jne .L930 | |
.L985: | |
lea rsi, .LC18[rip] | |
mov rdi, rbp | |
call PySequence_Fast@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L1013 | |
mov r12, QWORD PTR 16[rax] | |
test r12, r12 | |
jne .L934 | |
sub QWORD PTR [rax], 1 | |
jne .L975 | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L975: | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
lea rax, _Py_NoneStruct[rip] | |
.L929: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L930: | |
.cfi_restore_state | |
mov rdi, rsi | |
call PyObject_GetIter@PLT | |
test rax, rax | |
mov r12, rax | |
je .L1013 | |
mov rax, QWORD PTR 8[rax] | |
mov esi, 8 | |
mov rdi, rbp | |
mov r13, QWORD PTR 224[rax] | |
call PyObject_LengthHint@PLT | |
test rax, rax | |
js .L955 | |
mov rbp, QWORD PTR 16[rbx] | |
movabs rdx, 9223372036854775807 | |
sub rdx, rax | |
cmp rdx, rbp | |
jge .L1015 | |
.p2align 4,,10 | |
.p2align 3 | |
.L958: | |
mov rdi, r12 | |
call r13 | |
test rax, rax | |
mov r15, rax | |
je .L1016 | |
.L959: | |
mov rbp, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jge .L962 | |
mov rax, QWORD PTR 24[rbx] | |
mov rdi, r12 | |
mov QWORD PTR [rax+rbp*8], r15 | |
add rbp, 1 | |
mov QWORD PTR 16[rbx], rbp | |
call r13 | |
test rax, rax | |
mov r15, rax | |
jne .L959 | |
.L1016: | |
call PyErr_Occurred@PLT | |
test rax, rax | |
je .L960 | |
mov rdi, QWORD PTR PyExc_StopIteration[rip] | |
call PyErr_ExceptionMatches@PLT | |
test eax, eax | |
jne .L1017 | |
.L955: | |
sub QWORD PTR [r12], 1 | |
jne .L1013 | |
mov rax, QWORD PTR 8[r12] | |
mov rdi, r12 | |
call [QWORD PTR 48[rax]] | |
.L1013: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L934: | |
.cfi_restore_state | |
mov r15, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
lea r13, [r12+r15] | |
cmp r13, rax | |
jle .L1018 | |
.L936: | |
mov r14, r13 | |
xor eax, eax | |
sar r14, 3 | |
add r14, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r14, rax | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L943 | |
test r13, r13 | |
je .L978 | |
lea rsi, 0[0+r14*8] | |
.L942: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L943 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], r13 | |
mov QWORD PTR 32[rbx], r14 | |
.L937: | |
mov r8, QWORD PTR 8[rbp] | |
lea rcx, 24[rbp] | |
test BYTE PTR 171[r8], 2 | |
je .L945 | |
mov rcx, QWORD PTR 24[rbp] | |
.L945: | |
sal r15, 3 | |
test r12, r12 | |
jle .L946 | |
lea rsi, [rax+r15] | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L947: | |
mov rax, QWORD PTR [rcx+rdx*8] | |
add QWORD PTR [rax], 1 | |
mov QWORD PTR [rsi+rdx*8], rax | |
add rdx, 1 | |
cmp r12, rdx | |
jne .L947 | |
.L946: | |
sub QWORD PTR 0[rbp], 1 | |
jne .L975 | |
mov rdi, rbp | |
call [QWORD PTR 48[r8]] | |
jmp .L975 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1018: | |
sar rax | |
cmp r13, rax | |
jl .L936 | |
mov QWORD PTR 16[rbx], r13 | |
mov rax, QWORD PTR 24[rbx] | |
jmp .L937 | |
.p2align 4,,10 | |
.p2align 3 | |
.L962: | |
movabs rsi, 9223372036854775807 | |
cmp rbp, rsi | |
je .L1019 | |
lea rcx, 1[rbp] | |
cmp rax, rcx | |
jl .L966 | |
sar rax | |
cmp rcx, rax | |
jge .L1020 | |
.L966: | |
mov r8, rcx | |
xor eax, eax | |
sar r8, 3 | |
add r8, rcx | |
cmp rcx, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
lea r14, [r8+rax] | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L971 | |
test rcx, rcx | |
je .L982 | |
lea rsi, 0[0+r14*8] | |
.L970: | |
mov rdi, QWORD PTR 24[rbx] | |
mov QWORD PTR 8[rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L971 | |
mov rcx, QWORD PTR 8[rsp] | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 32[rbx], r14 | |
mov QWORD PTR 16[rbx], rcx | |
.L967: | |
mov rcx, QWORD PTR [r15] | |
mov QWORD PTR [rax+rbp*8], r15 | |
test rcx, rcx | |
mov QWORD PTR [r15], rcx | |
jne .L958 | |
mov rax, QWORD PTR 8[r15] | |
mov rdi, r15 | |
call [QWORD PTR 48[rax]] | |
jmp .L958 | |
.p2align 4,,10 | |
.p2align 3 | |
.L982: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L970 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1020: | |
mov QWORD PTR 16[rbx], rcx | |
mov rax, QWORD PTR 24[rbx] | |
jmp .L967 | |
.p2align 4,,10 | |
.p2align 3 | |
.L978: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L942 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1017: | |
call PyErr_Clear@PLT | |
.L960: | |
mov rbp, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jl .L1021 | |
.L972: | |
sub QWORD PTR [r12], 1 | |
jne .L975 | |
mov rax, QWORD PTR 8[r12] | |
mov rdi, r12 | |
call [QWORD PTR 48[rax]] | |
jmp .L975 | |
.L943: | |
call PyErr_NoMemory@PLT | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1013 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
xor eax, eax | |
jmp .L929 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1015: | |
mov rdx, QWORD PTR 32[rbx] | |
add rax, rbp | |
cmp rax, rdx | |
jle .L1022 | |
.L951: | |
mov r14, rax | |
xor edx, edx | |
sar r14, 3 | |
add r14, rax | |
cmp rax, 8 | |
setg dl | |
lea rdx, 3[rdx+rdx*2] | |
add r14, rdx | |
movabs rdx, 1152921504606846975 | |
cmp r14, rdx | |
ja .L957 | |
test rax, rax | |
je .L980 | |
lea rsi, 0[0+r14*8] | |
.L956: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L957 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 32[rbx], r14 | |
.L952: | |
mov QWORD PTR 16[rbx], rbp | |
jmp .L958 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1022: | |
sar rdx | |
cmp rax, rdx | |
jl .L951 | |
jmp .L952 | |
.p2align 4,,10 | |
.p2align 3 | |
.L980: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L956 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1021: | |
sar rax | |
cmp rbp, rax | |
jge .L972 | |
mov r13, rbp | |
xor eax, eax | |
sar r13, 3 | |
add r13, rbp | |
cmp rbp, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r13, rax | |
movabs rax, 1152921504606846975 | |
cmp r13, rax | |
ja .L957 | |
test rbp, rbp | |
je .L984 | |
lea rsi, 0[0+r13*8] | |
.L974: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L957 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], rbp | |
mov QWORD PTR 32[rbx], r13 | |
jmp .L972 | |
.L984: | |
xor esi, esi | |
xor r13d, r13d | |
jmp .L974 | |
.L971: | |
call PyErr_NoMemory@PLT | |
.L965: | |
sub QWORD PTR [r15], 1 | |
jne .L955 | |
mov rax, QWORD PTR 8[r15] | |
mov rdi, r15 | |
call [QWORD PTR 48[rax]] | |
jmp .L955 | |
.L1019: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
call PyErr_SetString@PLT | |
jmp .L965 | |
.L957: | |
call PyErr_NoMemory@PLT | |
jmp .L955 | |
.cfi_endproc | |
.LFE160: | |
.size list_extend, .-list_extend | |
.section .rodata.str1.1 | |
.LC19: | |
.string "list" | |
.text | |
.p2align 4,,15 | |
.type list___init__, @function | |
list___init__: | |
.LFB127: | |
.cfi_startproc | |
push r13 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 13, -16 | |
push r12 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 12, -24 | |
push rbp | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 6, -32 | |
push rbx | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 3, -40 | |
mov rbp, rdi | |
mov rbx, rsi | |
sub rsp, 24 | |
.cfi_def_cfa_offset 64 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 8[rsp], rax | |
xor eax, eax | |
lea rax, PyList_Type[rip] | |
cmp QWORD PTR 8[rdi], rax | |
mov QWORD PTR [rsp], 0 | |
jne .L1028 | |
test rdx, rdx | |
jne .L1024 | |
.L1028: | |
lea rsi, .LC19[rip] | |
xor edx, edx | |
xor eax, eax | |
mov r8, rsp | |
mov ecx, 1 | |
mov rdi, rbx | |
call PyArg_UnpackTuple@PLT | |
test eax, eax | |
je .L1026 | |
mov r12, QWORD PTR 24[rbp] | |
mov r13, QWORD PTR [rsp] | |
test r12, r12 | |
je .L1030 | |
mov rbx, QWORD PTR 16[rbp] | |
mov QWORD PTR 24[rbp], 0 | |
mov QWORD PTR 16[rbp], 0 | |
mov QWORD PTR 32[rbp], 0 | |
.L1031: | |
sub rbx, 1 | |
js .L1054 | |
.L1035: | |
mov rdi, QWORD PTR [r12+rbx*8] | |
test rdi, rdi | |
je .L1031 | |
sub QWORD PTR [rdi], 1 | |
jne .L1031 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L1035 | |
.L1054: | |
mov rdi, r12 | |
call PyMem_Free@PLT | |
.L1030: | |
test r13, r13 | |
je .L1053 | |
mov rsi, r13 | |
mov rdi, rbp | |
call list_extend | |
test rax, rax | |
je .L1026 | |
sub QWORD PTR [rax], 1 | |
jne .L1053 | |
mov rdx, QWORD PTR 8[rax] | |
mov rdi, rax | |
call [QWORD PTR 48[rdx]] | |
.L1053: | |
xor eax, eax | |
.L1029: | |
.L1023: | |
mov rcx, QWORD PTR 8[rsp] | |
xor rcx, QWORD PTR fs:40 | |
jne .L1055 | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1024: | |
.cfi_restore_state | |
lea rdi, .LC19[rip] | |
mov rsi, rdx | |
call _PyArg_NoKeywords@PLT | |
test eax, eax | |
jne .L1028 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1026: | |
mov eax, -1 | |
jmp .L1023 | |
.L1055: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE127: | |
.size list___init__, .-list___init__ | |
.p2align 4,,15 | |
.type list_inplace_concat, @function | |
list_inplace_concat: | |
.LFB162: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
lea rdx, PyTuple_Type[rip] | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
lea rcx, PyList_Type[rip] | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rbp, rsi | |
mov rbx, rdi | |
sub rsp, 24 | |
.cfi_def_cfa_offset 80 | |
mov rax, QWORD PTR 8[rsi] | |
cmp rax, rdx | |
sete dl | |
cmp rax, rcx | |
sete al | |
or dl, al | |
jne .L1115 | |
cmp rdi, rsi | |
jne .L1057 | |
.L1115: | |
lea rsi, .LC18[rip] | |
mov rdi, rbp | |
call PySequence_Fast@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L1144 | |
mov r12, QWORD PTR 16[rax] | |
test r12, r12 | |
jne .L1061 | |
sub QWORD PTR [rax], 1 | |
jne .L1103 | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L1103: | |
mov rax, QWORD PTR _Py_NoneStruct[rip] | |
add rax, 1 | |
sub rax, 1 | |
test rax, rax | |
mov QWORD PTR _Py_NoneStruct[rip], rax | |
jne .L1105 | |
mov rax, QWORD PTR _Py_NoneStruct[rip+8] | |
lea rdi, _Py_NoneStruct[rip] | |
call [QWORD PTR 48[rax]] | |
.L1105: | |
add QWORD PTR [rbx], 1 | |
mov rax, rbx | |
.L1056: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1057: | |
.cfi_restore_state | |
mov rdi, rsi | |
call PyObject_GetIter@PLT | |
test rax, rax | |
mov r12, rax | |
je .L1144 | |
mov rax, QWORD PTR 8[rax] | |
mov esi, 8 | |
mov rdi, rbp | |
mov r13, QWORD PTR 224[rax] | |
call PyObject_LengthHint@PLT | |
test rax, rax | |
js .L1083 | |
mov rbp, QWORD PTR 16[rbx] | |
movabs rdx, 9223372036854775807 | |
sub rdx, rax | |
cmp rbp, rdx | |
jle .L1146 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1086: | |
mov rdi, r12 | |
call r13 | |
test rax, rax | |
mov r15, rax | |
je .L1147 | |
.L1087: | |
mov rbp, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jge .L1090 | |
mov rax, QWORD PTR 24[rbx] | |
mov rdi, r12 | |
mov QWORD PTR [rax+rbp*8], r15 | |
add rbp, 1 | |
mov QWORD PTR 16[rbx], rbp | |
call r13 | |
test rax, rax | |
mov r15, rax | |
jne .L1087 | |
.L1147: | |
call PyErr_Occurred@PLT | |
test rax, rax | |
je .L1088 | |
mov rdi, QWORD PTR PyExc_StopIteration[rip] | |
call PyErr_ExceptionMatches@PLT | |
test eax, eax | |
jne .L1148 | |
.L1083: | |
sub QWORD PTR [r12], 1 | |
jne .L1144 | |
mov rax, QWORD PTR 8[r12] | |
mov rdi, r12 | |
call [QWORD PTR 48[rax]] | |
.L1144: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1061: | |
.cfi_restore_state | |
mov r15, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
lea r13, [r12+r15] | |
cmp r13, rax | |
jle .L1149 | |
.L1064: | |
mov r14, r13 | |
xor eax, eax | |
sar r14, 3 | |
add r14, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r14, rax | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L1071 | |
test r13, r13 | |
je .L1108 | |
lea rsi, 0[0+r14*8] | |
.L1070: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1071 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], r13 | |
mov QWORD PTR 32[rbx], r14 | |
.L1065: | |
mov r8, QWORD PTR 8[rbp] | |
lea rcx, 24[rbp] | |
test BYTE PTR 171[r8], 2 | |
je .L1073 | |
mov rcx, QWORD PTR 24[rbp] | |
.L1073: | |
sal r15, 3 | |
test r12, r12 | |
jle .L1074 | |
lea rsi, [rax+r15] | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1075: | |
mov rax, QWORD PTR [rcx+rdx*8] | |
add QWORD PTR [rax], 1 | |
mov QWORD PTR [rsi+rdx*8], rax | |
add rdx, 1 | |
cmp r12, rdx | |
jne .L1075 | |
.L1074: | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1103 | |
mov rdi, rbp | |
call [QWORD PTR 48[r8]] | |
jmp .L1103 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1149: | |
sar rax | |
cmp r13, rax | |
jl .L1064 | |
mov QWORD PTR 16[rbx], r13 | |
mov rax, QWORD PTR 24[rbx] | |
jmp .L1065 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1090: | |
movabs rsi, 9223372036854775807 | |
cmp rbp, rsi | |
je .L1150 | |
lea rcx, 1[rbp] | |
cmp rax, rcx | |
jl .L1094 | |
sar rax | |
cmp rcx, rax | |
jge .L1151 | |
.L1094: | |
mov r8, rcx | |
xor eax, eax | |
sar r8, 3 | |
add r8, rcx | |
cmp rcx, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
lea r14, [r8+rax] | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L1099 | |
test rcx, rcx | |
je .L1112 | |
lea rsi, 0[0+r14*8] | |
.L1098: | |
mov rdi, QWORD PTR 24[rbx] | |
mov QWORD PTR 8[rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1099 | |
mov rcx, QWORD PTR 8[rsp] | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 32[rbx], r14 | |
mov QWORD PTR 16[rbx], rcx | |
.L1095: | |
mov rcx, QWORD PTR [r15] | |
mov QWORD PTR [rax+rbp*8], r15 | |
test rcx, rcx | |
mov QWORD PTR [r15], rcx | |
jne .L1086 | |
mov rax, QWORD PTR 8[r15] | |
mov rdi, r15 | |
call [QWORD PTR 48[rax]] | |
jmp .L1086 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1112: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1098 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1151: | |
mov QWORD PTR 16[rbx], rcx | |
mov rax, QWORD PTR 24[rbx] | |
jmp .L1095 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1108: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1070 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1148: | |
call PyErr_Clear@PLT | |
.L1088: | |
mov rbp, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jl .L1152 | |
.L1100: | |
sub QWORD PTR [r12], 1 | |
jne .L1103 | |
mov rax, QWORD PTR 8[r12] | |
mov rdi, r12 | |
call [QWORD PTR 48[rax]] | |
jmp .L1103 | |
.L1071: | |
call PyErr_NoMemory@PLT | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1144 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
xor eax, eax | |
jmp .L1056 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1146: | |
mov rdx, QWORD PTR 32[rbx] | |
add rax, rbp | |
cmp rax, rdx | |
jle .L1153 | |
.L1079: | |
mov r14, rax | |
xor edx, edx | |
sar r14, 3 | |
add r14, rax | |
cmp rax, 8 | |
setg dl | |
lea rdx, 3[rdx+rdx*2] | |
add r14, rdx | |
movabs rdx, 1152921504606846975 | |
cmp r14, rdx | |
ja .L1085 | |
test rax, rax | |
je .L1110 | |
lea rsi, 0[0+r14*8] | |
.L1084: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1085 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 32[rbx], r14 | |
.L1080: | |
mov QWORD PTR 16[rbx], rbp | |
jmp .L1086 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1153: | |
sar rdx | |
cmp rax, rdx | |
jl .L1079 | |
jmp .L1080 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1110: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1084 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1152: | |
sar rax | |
cmp rbp, rax | |
jge .L1100 | |
mov r13, rbp | |
xor eax, eax | |
sar r13, 3 | |
add r13, rbp | |
cmp rbp, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r13, rax | |
movabs rax, 1152921504606846975 | |
cmp r13, rax | |
ja .L1085 | |
test rbp, rbp | |
je .L1114 | |
lea rsi, 0[0+r13*8] | |
.L1102: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1085 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], rbp | |
mov QWORD PTR 32[rbx], r13 | |
jmp .L1100 | |
.L1114: | |
xor esi, esi | |
xor r13d, r13d | |
jmp .L1102 | |
.L1099: | |
call PyErr_NoMemory@PLT | |
.L1093: | |
sub QWORD PTR [r15], 1 | |
jne .L1083 | |
mov rax, QWORD PTR 8[r15] | |
mov rdi, r15 | |
call [QWORD PTR 48[rax]] | |
jmp .L1083 | |
.L1150: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
call PyErr_SetString@PLT | |
jmp .L1093 | |
.L1085: | |
call PyErr_NoMemory@PLT | |
jmp .L1083 | |
.cfi_endproc | |
.LFE162: | |
.size list_inplace_concat, .-list_inplace_concat | |
.section .rodata.str1.8 | |
.align 8 | |
.LC20: | |
.string "list assignment index out of range" | |
.text | |
.p2align 4,,15 | |
.type list_ass_item, @function | |
list_ass_item: | |
.LFB155: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
sub rsp, 120 | |
.cfi_def_cfa_offset 176 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 104[rsp], rax | |
xor eax, eax | |
test rsi, rsi | |
js .L1155 | |
mov r14, rsi | |
mov rsi, QWORD PTR 16[rdi] | |
mov rcx, rdi | |
cmp rsi, r14 | |
jle .L1155 | |
test rdx, rdx | |
mov r13, QWORD PTR 24[rdi] | |
je .L1211 | |
lea rax, 0[r13+r14*8] | |
add QWORD PTR [rdx], 1 | |
mov rdi, QWORD PTR [rax] | |
mov QWORD PTR [rax], rdx | |
sub QWORD PTR [rdi], 1 | |
jne .L1197 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
xor eax, eax | |
.L1154: | |
mov rbx, QWORD PTR 104[rsp] | |
xor rbx, QWORD PTR fs:40 | |
jne .L1212 | |
add rsp, 120 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1211: | |
.cfi_restore_state | |
lea rax, 1[r14] | |
cmp rax, r14 | |
jl .L1189 | |
cmp rsi, rax | |
cmovle rax, rsi | |
mov rbx, rax | |
mov r9, rax | |
sub rbx, r14 | |
mov r15, rbx | |
neg r15 | |
cmp rsi, rbx | |
jne .L1160 | |
xor eax, eax | |
test r13, r13 | |
je .L1154 | |
mov QWORD PTR 16[rdi], 0 | |
mov QWORD PTR 24[rdi], 0 | |
lea rbx, -8[r13+rsi*8] | |
mov QWORD PTR 32[rdi], 0 | |
lea rbp, -8[r13] | |
jmp .L1162 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1166: | |
mov rdi, QWORD PTR [rbx] | |
test rdi, rdi | |
je .L1164 | |
sub QWORD PTR [rdi], 1 | |
jne .L1164 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L1164: | |
sub rbx, 8 | |
.L1162: | |
cmp rbp, rbx | |
jne .L1166 | |
mov rdi, r13 | |
call PyMem_Free@PLT | |
xor eax, eax | |
jmp .L1154 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1197: | |
xor eax, eax | |
jmp .L1154 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1189: | |
lea r12, 32[rsp] | |
mov rbp, r12 | |
.L1159: | |
xor eax, eax | |
.L1175: | |
cmp rbp, r12 | |
je .L1154 | |
.L1169: | |
mov rdi, rbp | |
mov DWORD PTR [rsp], eax | |
call PyMem_Free@PLT | |
mov eax, DWORD PTR [rsp] | |
jmp .L1154 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1155: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
lea rsi, .LC20[rip] | |
call PyErr_SetString@PLT | |
mov eax, -1 | |
jmp .L1154 | |
.L1212: | |
call __stack_chk_fail@PLT | |
.L1160: | |
lea rdi, 0[0+rbx*8] | |
test rdi, rdi | |
mov QWORD PTR 16[rsp], rdi | |
je .L1191 | |
cmp rdi, 64 | |
jbe .L1192 | |
mov QWORD PTR 8[rsp], rcx | |
mov QWORD PTR [rsp], rax | |
lea r12, 32[rsp] | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov rbp, rax | |
mov r9, QWORD PTR [rsp] | |
mov rcx, QWORD PTR 8[rsp] | |
je .L1213 | |
.L1168: | |
mov rdx, QWORD PTR 16[rsp] | |
lea rsi, 0[r13+r14*8] | |
mov rdi, rbp | |
mov QWORD PTR 8[rsp], rcx | |
mov QWORD PTR [rsp], r9 | |
call memcpy@PLT | |
mov r9, QWORD PTR [rsp] | |
mov rcx, QWORD PTR 8[rsp] | |
.L1167: | |
test r15, r15 | |
js .L1214 | |
je .L1172 | |
mov rdx, QWORD PTR 16[rcx] | |
mov rax, QWORD PTR 32[rcx] | |
mov r13, rdx | |
sub r13, rbx | |
cmp r13, rax | |
jg .L1178 | |
sar rax | |
cmp r13, rax | |
jge .L1215 | |
.L1178: | |
mov r15, r13 | |
xor eax, eax | |
sar r15, 3 | |
add r15, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r15, rax | |
movabs rax, 1152921504606846975 | |
cmp r15, rax | |
ja .L1183 | |
test r13, r13 | |
je .L1196 | |
lea rsi, 0[0+r15*8] | |
.L1182: | |
mov rdi, QWORD PTR 24[rcx] | |
mov QWORD PTR 16[rsp], r9 | |
mov QWORD PTR 8[rsp], rdx | |
mov QWORD PTR [rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1183 | |
mov rcx, QWORD PTR [rsp] | |
mov r9, QWORD PTR 16[rsp] | |
mov rdx, QWORD PTR 8[rsp] | |
mov QWORD PTR 24[rcx], rax | |
mov QWORD PTR 16[rcx], r13 | |
mov QWORD PTR 32[rcx], r15 | |
.L1179: | |
sub rdx, r9 | |
lea rsi, [rax+r9*8] | |
lea rdi, [rax+r14*8] | |
sal rdx, 3 | |
call memmove@PLT | |
.L1172: | |
sub rbx, 1 | |
js .L1159 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1187: | |
mov rdi, QWORD PTR 0[rbp+rbx*8] | |
test rdi, rdi | |
je .L1185 | |
sub QWORD PTR [rdi], 1 | |
jne .L1185 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L1185: | |
sub rbx, 1 | |
cmp rbx, -1 | |
jne .L1187 | |
jmp .L1159 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1192: | |
lea r12, 32[rsp] | |
mov rbp, r12 | |
jmp .L1168 | |
.L1214: | |
mov rax, QWORD PTR 16[rcx] | |
lea r15, 0[r13+r9*8] | |
lea r14, 0[r13+r14*8] | |
mov QWORD PTR [rsp], rcx | |
mov rsi, r15 | |
mov rdi, r14 | |
sub rax, r9 | |
lea rdx, 0[0+rax*8] | |
mov QWORD PTR 24[rsp], rdx | |
call memmove@PLT | |
mov rcx, QWORD PTR [rsp] | |
mov rdx, QWORD PTR 16[rcx] | |
mov rax, QWORD PTR 32[rcx] | |
sub rdx, rbx | |
cmp rdx, rax | |
jg .L1171 | |
sar rax | |
cmp rdx, rax | |
jge .L1216 | |
.L1171: | |
mov r8, rdx | |
xor eax, eax | |
sar r8, 3 | |
add r8, rdx | |
cmp rdx, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
lea r13, [r8+rax] | |
movabs rax, 1152921504606846975 | |
cmp r13, rax | |
ja .L1177 | |
test rdx, rdx | |
je .L1194 | |
lea rsi, 0[0+r13*8] | |
.L1176: | |
mov rdi, QWORD PTR 24[rcx] | |
mov QWORD PTR 8[rsp], rdx | |
mov QWORD PTR [rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1177 | |
mov rcx, QWORD PTR [rsp] | |
mov rdx, QWORD PTR 8[rsp] | |
mov QWORD PTR 24[rcx], rax | |
mov QWORD PTR 16[rcx], rdx | |
mov QWORD PTR 32[rcx], r13 | |
jmp .L1172 | |
.L1196: | |
xor esi, esi | |
xor r15d, r15d | |
jmp .L1182 | |
.L1215: | |
mov QWORD PTR 16[rcx], r13 | |
mov rax, QWORD PTR 24[rcx] | |
jmp .L1179 | |
.L1194: | |
xor esi, esi | |
xor r13d, r13d | |
jmp .L1176 | |
.L1216: | |
mov QWORD PTR 16[rcx], rdx | |
jmp .L1172 | |
.L1177: | |
call PyErr_NoMemory@PLT | |
mov rdx, QWORD PTR 24[rsp] | |
mov rsi, r14 | |
mov rdi, r15 | |
call memmove@PLT | |
mov rdx, QWORD PTR 16[rsp] | |
mov rsi, rbp | |
mov rdi, r14 | |
call memcpy@PLT | |
mov eax, -1 | |
jmp .L1175 | |
.L1213: | |
call PyErr_NoMemory@PLT | |
mov eax, -1 | |
jmp .L1169 | |
.L1183: | |
call PyErr_NoMemory@PLT | |
or eax, -1 | |
jmp .L1175 | |
.L1191: | |
lea r12, 32[rsp] | |
mov rbp, r12 | |
jmp .L1167 | |
.cfi_endproc | |
.LFE155: | |
.size list_ass_item, .-list_ass_item | |
.p2align 4,,15 | |
.globl PyList_ClearFreeList | |
.type PyList_ClearFreeList, @function | |
PyList_ClearFreeList: | |
.LFB131: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
mov ebp, DWORD PTR numfree[rip] | |
test ebp, ebp | |
je .L1217 | |
lea rbx, free_list[rip] | |
mov eax, ebp | |
.p2align 4,,10 | |
.p2align 3 | |
.L1219: | |
sub eax, 1 | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rdi, QWORD PTR [rbx+rax*8] | |
call PyObject_GC_Del@PLT | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
jne .L1219 | |
.L1217: | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
mov eax, ebp | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE131: | |
.size PyList_ClearFreeList, .-PyList_ClearFreeList | |
.p2align 4,,15 | |
.globl PyList_Fini | |
.type PyList_Fini, @function | |
PyList_Fini: | |
.LFB132: | |
.cfi_startproc | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L1233 | |
push rbx | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
lea rbx, free_list[rip] | |
.p2align 4,,10 | |
.p2align 3 | |
.L1227: | |
sub eax, 1 | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rdi, QWORD PTR [rbx+rax*8] | |
call PyObject_GC_Del@PLT | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
jne .L1227 | |
pop rbx | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1233: | |
.cfi_restore 3 | |
rep ret | |
.cfi_endproc | |
.LFE132: | |
.size PyList_Fini, .-PyList_Fini | |
.section .rodata.str1.1 | |
.LC21: | |
.string "free PyListObject" | |
.text | |
.p2align 4,,15 | |
.globl _PyList_DebugMallocStats | |
.type _PyList_DebugMallocStats, @function | |
_PyList_DebugMallocStats: | |
.LFB133: | |
.cfi_startproc | |
mov edx, DWORD PTR numfree[rip] | |
lea rsi, .LC21[rip] | |
mov ecx, 40 | |
jmp _PyDebugAllocatorStats@PLT | |
.cfi_endproc | |
.LFE133: | |
.size _PyList_DebugMallocStats, .-_PyList_DebugMallocStats | |
.p2align 4,,15 | |
.globl PyList_New | |
.type PyList_New, @function | |
PyList_New: | |
.LFB134: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
test rdi, rdi | |
js .L1253 | |
mov eax, DWORD PTR numfree[rip] | |
mov rbp, rdi | |
test eax, eax | |
je .L1240 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rbx, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR [rbx], 1 | |
.L1241: | |
test rbp, rbp | |
jne .L1242 | |
mov QWORD PTR 24[rbx], 0 | |
.L1243: | |
mov rax, QWORD PTR -8[rbx] | |
mov QWORD PTR 16[rbx], rbp | |
mov QWORD PTR 32[rbx], rbp | |
lea rbp, -24[rbx] | |
mov rdx, rax | |
sar rdx | |
cmp rdx, -2 | |
jne .L1254 | |
.L1245: | |
and eax, 1 | |
or rax, -6 | |
mov QWORD PTR -8[rbx], rax | |
mov rax, QWORD PTR _PyRuntime[rip+432] | |
mov rdx, QWORD PTR 8[rax] | |
mov QWORD PTR -24[rbx], rax | |
mov QWORD PTR -16[rbx], rdx | |
mov QWORD PTR [rdx], rbp | |
mov QWORD PTR 8[rax], rbp | |
.L1237: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
mov rax, rbx | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1254: | |
.cfi_restore_state | |
lea rdi, .LC3[rip] | |
call Py_FatalError@PLT | |
mov rax, QWORD PTR -8[rbx] | |
jmp .L1245 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1242: | |
mov esi, 8 | |
mov rdi, rbp | |
call PyMem_Calloc@PLT | |
test rax, rax | |
mov QWORD PTR 24[rbx], rax | |
jne .L1243 | |
sub QWORD PTR [rbx], 1 | |
jne .L1244 | |
mov rax, QWORD PTR 8[rbx] | |
mov rdi, rbx | |
call [QWORD PTR 48[rax]] | |
.L1244: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
jmp PyErr_NoMemory@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L1240: | |
.cfi_restore_state | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov rbx, rax | |
jne .L1241 | |
jmp .L1237 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1253: | |
lea rdi, .LC2[rip] | |
mov esi, 150 | |
xor ebx, ebx | |
call _PyErr_BadInternalCall@PLT | |
jmp .L1237 | |
.cfi_endproc | |
.LFE134: | |
.size PyList_New, .-PyList_New | |
.p2align 4,,15 | |
.type list_repeat, @function | |
list_repeat: | |
.LFB150: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 24 | |
.cfi_def_cfa_offset 48 | |
test rsi, rsi | |
jg .L1285 | |
.L1256: | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L1259 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rax, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR [rax], 1 | |
.L1260: | |
mov rdx, QWORD PTR -8[rax] | |
mov QWORD PTR 24[rax], 0 | |
lea rbx, -24[rax] | |
mov QWORD PTR 16[rax], 0 | |
mov QWORD PTR 32[rax], 0 | |
mov rcx, rdx | |
sar rcx | |
cmp rcx, -2 | |
je .L1262 | |
lea rdi, .LC3[rip] | |
mov QWORD PTR 8[rsp], rax | |
call Py_FatalError@PLT | |
mov rax, QWORD PTR 8[rsp] | |
mov rdx, QWORD PTR -8[rax] | |
.L1262: | |
and edx, 1 | |
or rdx, -6 | |
mov QWORD PTR -8[rax], rdx | |
mov rdx, QWORD PTR _PyRuntime[rip+432] | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR -24[rax], rdx | |
mov QWORD PTR -16[rax], rcx | |
mov QWORD PTR [rcx], rbx | |
mov QWORD PTR 8[rdx], rbx | |
.L1255: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1285: | |
.cfi_restore_state | |
movabs rax, 9223372036854775807 | |
mov rbp, rdi | |
mov rdi, QWORD PTR 16[rdi] | |
cqo | |
mov rbx, rsi | |
idiv rsi | |
cmp rdi, rax | |
jg .L1286 | |
imul rdi, rsi | |
test rdi, rdi | |
je .L1256 | |
call PyList_New | |
test rax, rax | |
je .L1263 | |
mov r8, QWORD PTR 16[rbp] | |
mov rdi, QWORD PTR 24[rax] | |
mov r9, QWORD PTR 24[rbp] | |
cmp r8, 1 | |
je .L1264 | |
test r8, r8 | |
jle .L1255 | |
lea r10, 0[0+r8*8] | |
xor esi, esi | |
.p2align 4,,10 | |
.p2align 3 | |
.L1266: | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1271: | |
mov rcx, QWORD PTR [r9+rdx*8] | |
mov QWORD PTR [rdi+rdx*8], rcx | |
add rdx, 1 | |
add QWORD PTR [rcx], 1 | |
cmp r8, rdx | |
jne .L1271 | |
add rsi, 1 | |
add rdi, r10 | |
cmp rbx, rsi | |
jne .L1266 | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1259: | |
.cfi_restore_state | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
jne .L1260 | |
.L1263: | |
xor eax, eax | |
jmp .L1255 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1264: | |
mov rsi, QWORD PTR [r9] | |
mov rdx, rdi | |
lea r11, -1[rbx] | |
shr rdx, 3 | |
and edx, 1 | |
cmp r11, 4 | |
mov rbp, QWORD PTR [rsi] | |
jbe .L1272 | |
test rdx, rdx | |
je .L1273 | |
mov QWORD PTR [rdi], rsi | |
.L1268: | |
mov QWORD PTR 8[rsp], rsi | |
mov r10, rbx | |
lea rcx, [rdi+rdx*8] | |
movq xmm0, QWORD PTR 8[rsp] | |
sub r10, rdx | |
punpcklqdq xmm0, xmm0 | |
mov r9, r10 | |
shr r9 | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1269: | |
add rdx, 1 | |
add rcx, 16 | |
movaps XMMWORD PTR -16[rcx], xmm0 | |
cmp r9, rdx | |
ja .L1269 | |
mov rdx, r10 | |
and rdx, -2 | |
add r8, rdx | |
cmp r10, rdx | |
je .L1270 | |
.L1267: | |
lea rcx, 1[r8] | |
lea rdx, 0[0+r8*8] | |
mov QWORD PTR [rdi+r8*8], rsi | |
cmp rbx, rcx | |
jle .L1270 | |
lea rcx, 2[r8] | |
mov QWORD PTR 8[rdi+rdx], rsi | |
cmp rbx, rcx | |
jle .L1270 | |
lea rcx, 3[r8] | |
mov QWORD PTR 16[rdi+rdx], rsi | |
cmp rbx, rcx | |
jle .L1270 | |
add r8, 4 | |
mov QWORD PTR 24[rdi+rdx], rsi | |
cmp rbx, r8 | |
jle .L1270 | |
mov QWORD PTR 32[rdi+rdx], rsi | |
.L1270: | |
lea rdx, 1[rbp+r11] | |
mov QWORD PTR [rsi], rdx | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1286: | |
.cfi_restore_state | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
jmp PyErr_NoMemory@PLT | |
.L1273: | |
.cfi_restore_state | |
xor r8d, r8d | |
jmp .L1268 | |
.L1272: | |
xor r8d, r8d | |
jmp .L1267 | |
.cfi_endproc | |
.LFE150: | |
.size list_repeat, .-list_repeat | |
.section .rodata.str1.8 | |
.align 8 | |
.LC22: | |
.string "can only concatenate list (not \"%.200s\") to list" | |
.text | |
.p2align 4,,15 | |
.type list_concat, @function | |
list_concat: | |
.LFB149: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
mov rax, QWORD PTR 8[rsi] | |
test BYTE PTR 171[rax], 2 | |
je .L1300 | |
mov rdx, QWORD PTR 16[rsi] | |
mov rbp, rdi | |
mov rdi, QWORD PTR 16[rdi] | |
movabs rax, 9223372036854775807 | |
mov rbx, rsi | |
sub rax, rdx | |
cmp rdi, rax | |
jg .L1301 | |
add rdi, rdx | |
call PyList_New | |
test rax, rax | |
je .L1287 | |
mov rdi, QWORD PTR 16[rbp] | |
mov rsi, QWORD PTR 24[rbp] | |
mov r8, QWORD PTR 24[rax] | |
test rdi, rdi | |
jle .L1291 | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1292: | |
mov rcx, QWORD PTR [rsi+rdx*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [r8+rdx*8], rcx | |
add rdx, 1 | |
cmp rdx, rdi | |
jne .L1292 | |
.L1291: | |
mov rsi, QWORD PTR 16[rbx] | |
sal rdi, 3 | |
mov r9, QWORD PTR 24[rbx] | |
test rsi, rsi | |
jle .L1287 | |
xor edx, edx | |
add rdi, r8 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1293: | |
mov rcx, QWORD PTR [r9+rdx*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rdi+rdx*8], rcx | |
add rdx, 1 | |
cmp rdx, rsi | |
jne .L1293 | |
.L1287: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1301: | |
.cfi_restore_state | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
jmp PyErr_NoMemory@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L1300: | |
.cfi_restore_state | |
mov rdx, QWORD PTR 24[rax] | |
mov rdi, QWORD PTR PyExc_TypeError[rip] | |
lea rsi, .LC22[rip] | |
xor eax, eax | |
call PyErr_Format@PLT | |
xor eax, eax | |
jmp .L1287 | |
.cfi_endproc | |
.LFE149: | |
.size list_concat, .-list_concat | |
.section .rodata.str1.1 | |
.LC23: | |
.string "can only assign an iterable" | |
.text | |
.p2align 4,,15 | |
.type list_ass_slice, @function | |
list_ass_slice: | |
.LFB152: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
mov r15, rsi | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
mov r12, rdx | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rbp, rdi | |
mov rbx, rcx | |
sub rsp, 168 | |
.cfi_def_cfa_offset 224 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 152[rsp], rax | |
xor eax, eax | |
test rcx, rcx | |
je .L1353 | |
cmp rcx, rdi | |
je .L1387 | |
lea rsi, .LC23[rip] | |
mov rdi, rcx | |
call PySequence_Fast@PLT | |
test rax, rax | |
mov rbx, rax | |
je .L1309 | |
mov r13, QWORD PTR 16[rax] | |
mov rax, QWORD PTR 8[rax] | |
lea rcx, 24[rbx] | |
test BYTE PTR 171[rax], 2 | |
jne .L1388 | |
.L1303: | |
xor r14d, r14d | |
test r15, r15 | |
mov rax, QWORD PTR 16[rbp] | |
js .L1311 | |
cmp r15, rax | |
mov r14, r15 | |
cmovg r14, rax | |
.L1311: | |
cmp r14, r12 | |
jg .L1312 | |
cmp r12, rax | |
mov r8, r13 | |
cmovg r12, rax | |
mov rsi, r12 | |
sub rsi, r14 | |
sub r8, rsi | |
mov QWORD PTR 8[rsp], rsi | |
add rax, r8 | |
jne .L1313 | |
.L1350: | |
test rbx, rbx | |
je .L1315 | |
sub QWORD PTR [rbx], 1 | |
jne .L1315 | |
mov rax, QWORD PTR 8[rbx] | |
mov rdi, rbx | |
call [QWORD PTR 48[rax]] | |
.L1315: | |
mov r12, QWORD PTR 24[rbp] | |
xor r13d, r13d | |
test r12, r12 | |
je .L1302 | |
mov rbx, QWORD PTR 16[rbp] | |
mov QWORD PTR 24[rbp], 0 | |
mov QWORD PTR 16[rbp], 0 | |
mov QWORD PTR 32[rbp], 0 | |
.L1317: | |
sub rbx, 1 | |
js .L1389 | |
.L1321: | |
mov rdi, QWORD PTR [r12+rbx*8] | |
test rdi, rdi | |
je .L1317 | |
sub QWORD PTR [rdi], 1 | |
jne .L1317 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L1321 | |
.L1389: | |
mov rdi, r12 | |
xor r13d, r13d | |
call PyMem_Free@PLT | |
.L1302: | |
mov rcx, QWORD PTR 152[rsp] | |
xor rcx, QWORD PTR fs:40 | |
mov eax, r13d | |
jne .L1390 | |
add rsp, 168 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1387: | |
.cfi_restore_state | |
mov rbx, QWORD PTR 16[rdi] | |
mov r13d, 0 | |
test rbx, rbx | |
cmovle r13, rbx | |
sub rbx, r13 | |
mov rdi, rbx | |
call PyList_New | |
test rax, rax | |
mov r14, rax | |
je .L1309 | |
sal r13, 3 | |
test rbx, rbx | |
mov rcx, QWORD PTR 24[rbp] | |
mov rdx, QWORD PTR 24[rax] | |
jle .L1307 | |
lea rsi, [rcx+r13] | |
xor eax, eax | |
.p2align 4,,10 | |
.p2align 3 | |
.L1308: | |
mov rcx, QWORD PTR [rsi+rax*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rdx+rax*8], rcx | |
add rax, 1 | |
cmp rbx, rax | |
jne .L1308 | |
.L1307: | |
mov rcx, r14 | |
mov rdx, r12 | |
mov rsi, r15 | |
mov rdi, rbp | |
call list_ass_slice | |
sub QWORD PTR [r14], 1 | |
mov r13d, eax | |
jne .L1302 | |
mov rax, QWORD PTR 8[r14] | |
mov rdi, r14 | |
call [QWORD PTR 48[rax]] | |
jmp .L1302 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1312: | |
add rax, r13 | |
je .L1350 | |
lea r15, 80[rsp] | |
mov r9, QWORD PTR 24[rbp] | |
mov r8, r13 | |
mov r12, r14 | |
xor r10d, r10d | |
mov QWORD PTR 8[rsp], 0 | |
mov QWORD PTR 16[rsp], r15 | |
jmp .L1322 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1353: | |
xor r13d, r13d | |
xor ecx, ecx | |
jmp .L1303 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1388: | |
mov rcx, QWORD PTR 24[rbx] | |
jmp .L1303 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1313: | |
lea r10, 0[0+rsi*8] | |
mov r9, QWORD PTR 24[rbp] | |
test r10, r10 | |
je .L1356 | |
cmp r10, 64 | |
jbe .L1357 | |
mov rdi, r10 | |
mov QWORD PTR 48[rsp], r8 | |
mov QWORD PTR 40[rsp], rcx | |
mov QWORD PTR 32[rsp], r9 | |
mov QWORD PTR 24[rsp], r10 | |
call PyMem_Malloc@PLT | |
mov r15, rax | |
lea rax, 80[rsp] | |
mov r10, QWORD PTR 24[rsp] | |
test r15, r15 | |
mov r9, QWORD PTR 32[rsp] | |
mov rcx, QWORD PTR 40[rsp] | |
mov QWORD PTR 16[rsp], rax | |
mov r8, QWORD PTR 48[rsp] | |
je .L1391 | |
.L1323: | |
lea rsi, [r9+r14*8] | |
mov rdx, r10 | |
mov rdi, r15 | |
mov QWORD PTR 48[rsp], r8 | |
mov QWORD PTR 40[rsp], rcx | |
mov QWORD PTR 32[rsp], r9 | |
mov QWORD PTR 24[rsp], r10 | |
call memcpy@PLT | |
mov r10, QWORD PTR 24[rsp] | |
mov r9, QWORD PTR 32[rsp] | |
mov rcx, QWORD PTR 40[rsp] | |
mov r8, QWORD PTR 48[rsp] | |
.L1322: | |
test r8, r8 | |
js .L1392 | |
jne .L1393 | |
.L1333: | |
test r13, r13 | |
jle .L1340 | |
lea rsi, [r9+r14*8] | |
xor eax, eax | |
.p2align 4,,10 | |
.p2align 3 | |
.L1341: | |
mov rdx, QWORD PTR [rcx+rax*8] | |
test rdx, rdx | |
je .L1342 | |
add QWORD PTR [rdx], 1 | |
mov QWORD PTR [rsi+rax*8], rdx | |
add rax, 1 | |
cmp r13, rax | |
jne .L1341 | |
.L1340: | |
mov rbp, QWORD PTR 8[rsp] | |
sub rbp, 1 | |
js .L1344 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1348: | |
mov rdi, QWORD PTR [r15+rbp*8] | |
test rdi, rdi | |
je .L1346 | |
sub QWORD PTR [rdi], 1 | |
jne .L1346 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L1346: | |
sub rbp, 1 | |
cmp rbp, -1 | |
jne .L1348 | |
.L1344: | |
xor r13d, r13d | |
.L1330: | |
cmp r15, QWORD PTR 16[rsp] | |
je .L1349 | |
.L1324: | |
mov rdi, r15 | |
call PyMem_Free@PLT | |
.L1349: | |
test rbx, rbx | |
je .L1302 | |
sub QWORD PTR [rbx], 1 | |
jne .L1302 | |
mov rax, QWORD PTR 8[rbx] | |
mov rdi, rbx | |
call [QWORD PTR 48[rax]] | |
jmp .L1302 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1342: | |
mov QWORD PTR [rsi+rax*8], 0 | |
add rax, 1 | |
cmp r13, rax | |
jne .L1341 | |
jmp .L1340 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1309: | |
mov r13d, -1 | |
jmp .L1302 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1393: | |
mov rdx, QWORD PTR 16[rbp] | |
mov rax, QWORD PTR 32[rbp] | |
lea r10, [rdx+r8] | |
cmp r10, rax | |
jg .L1334 | |
sar rax | |
cmp r10, rax | |
jge .L1394 | |
.L1334: | |
mov r11, r10 | |
xor eax, eax | |
sar r11, 3 | |
add r11, r10 | |
cmp r10, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r11, rax | |
movabs rax, 1152921504606846975 | |
cmp r11, rax | |
ja .L1339 | |
test r10, r10 | |
je .L1361 | |
lea rsi, 0[0+r11*8] | |
.L1338: | |
mov rdi, QWORD PTR 24[rbp] | |
mov QWORD PTR 56[rsp], r11 | |
mov QWORD PTR 48[rsp], rdx | |
mov QWORD PTR 40[rsp], r8 | |
mov QWORD PTR 32[rsp], rcx | |
mov QWORD PTR 24[rsp], r10 | |
call PyMem_Realloc@PLT | |
test rax, rax | |
mov r9, rax | |
je .L1339 | |
mov r10, QWORD PTR 24[rsp] | |
mov r11, QWORD PTR 56[rsp] | |
mov rdx, QWORD PTR 48[rsp] | |
mov r8, QWORD PTR 40[rsp] | |
mov rcx, QWORD PTR 32[rsp] | |
mov QWORD PTR 24[rbp], rax | |
mov QWORD PTR 16[rbp], r10 | |
mov QWORD PTR 32[rbp], r11 | |
.L1335: | |
lea rsi, [r9+r12*8] | |
sub rdx, r12 | |
add r12, r8 | |
lea rdi, [r9+r12*8] | |
sal rdx, 3 | |
mov QWORD PTR 32[rsp], rcx | |
mov QWORD PTR 24[rsp], r9 | |
call memmove@PLT | |
mov rcx, QWORD PTR 32[rsp] | |
mov r9, QWORD PTR 24[rsp] | |
jmp .L1333 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1357: | |
lea r15, 80[rsp] | |
mov QWORD PTR 16[rsp], r15 | |
jmp .L1323 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1392: | |
mov rax, QWORD PTR 16[rbp] | |
lea rsi, [r9+r12*8] | |
mov QWORD PTR 48[rsp], r10 | |
mov QWORD PTR 40[rsp], rcx | |
mov QWORD PTR 32[rsp], r8 | |
mov QWORD PTR 24[rsp], r9 | |
mov QWORD PTR 64[rsp], rsi | |
sub rax, r12 | |
add r12, r8 | |
lea rdx, 0[0+rax*8] | |
lea rax, [r9+r12*8] | |
mov rdi, rax | |
mov QWORD PTR 56[rsp], rdx | |
mov QWORD PTR 72[rsp], rax | |
call memmove@PLT | |
mov r8, QWORD PTR 32[rsp] | |
add r8, QWORD PTR 16[rbp] | |
mov rax, QWORD PTR 32[rbp] | |
mov r9, QWORD PTR 24[rsp] | |
mov rcx, QWORD PTR 40[rsp] | |
mov r10, QWORD PTR 48[rsp] | |
cmp r8, rax | |
mov r12, r8 | |
jg .L1326 | |
sar rax | |
cmp r8, rax | |
jl .L1326 | |
mov QWORD PTR 16[rbp], r8 | |
mov r9, QWORD PTR 24[rbp] | |
jmp .L1333 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1326: | |
mov rdx, r12 | |
xor eax, eax | |
sar rdx, 3 | |
add rdx, r12 | |
cmp r12, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add rdx, rax | |
movabs rax, 1152921504606846975 | |
cmp rdx, rax | |
ja .L1332 | |
test r12, r12 | |
je .L1359 | |
lea rsi, 0[0+rdx*8] | |
.L1331: | |
mov rdi, QWORD PTR 24[rbp] | |
mov QWORD PTR 40[rsp], r10 | |
mov QWORD PTR 24[rsp], r9 | |
mov QWORD PTR 48[rsp], rdx | |
mov QWORD PTR 32[rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
mov r9, QWORD PTR 24[rsp] | |
mov r10, QWORD PTR 40[rsp] | |
je .L1332 | |
mov rdx, QWORD PTR 48[rsp] | |
mov QWORD PTR 24[rbp], rax | |
mov r9, rax | |
mov QWORD PTR 16[rbp], r12 | |
mov rcx, QWORD PTR 32[rsp] | |
mov QWORD PTR 32[rbp], rdx | |
jmp .L1333 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1361: | |
xor esi, esi | |
xor r11d, r11d | |
jmp .L1338 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1394: | |
mov QWORD PTR 16[rbp], r10 | |
mov r9, QWORD PTR 24[rbp] | |
jmp .L1335 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1359: | |
xor esi, esi | |
xor edx, edx | |
jmp .L1331 | |
.L1332: | |
mov QWORD PTR 24[rsp], r10 | |
mov QWORD PTR 8[rsp], r9 | |
mov r13d, -1 | |
call PyErr_NoMemory@PLT | |
mov rdx, QWORD PTR 56[rsp] | |
mov rsi, QWORD PTR 72[rsp] | |
mov rdi, QWORD PTR 64[rsp] | |
call memmove@PLT | |
mov r9, QWORD PTR 8[rsp] | |
mov r10, QWORD PTR 24[rsp] | |
mov rsi, r15 | |
lea rdi, [r9+r14*8] | |
mov rdx, r10 | |
call memcpy@PLT | |
jmp .L1330 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1391: | |
call PyErr_NoMemory@PLT | |
mov r13d, -1 | |
jmp .L1324 | |
.L1339: | |
call PyErr_NoMemory@PLT | |
mov r13d, -1 | |
jmp .L1330 | |
.L1390: | |
call __stack_chk_fail@PLT | |
.L1356: | |
lea r15, 80[rsp] | |
mov QWORD PTR 16[rsp], r15 | |
jmp .L1322 | |
.cfi_endproc | |
.LFE152: | |
.size list_ass_slice, .-list_ass_slice | |
.section .rodata.str1.1 | |
.LC24: | |
.string "list.remove(x): x not in list" | |
.text | |
.p2align 4,,15 | |
.type list_remove, @function | |
list_remove: | |
.LFB192: | |
.cfi_startproc | |
push r12 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 12, -16 | |
push rbp | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 6, -24 | |
push rbx | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 3, -32 | |
cmp QWORD PTR 16[rdi], 0 | |
jle .L1396 | |
mov rbp, rdi | |
mov r12, rsi | |
xor ebx, ebx | |
jmp .L1401 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1397: | |
jne .L1404 | |
add rbx, 1 | |
cmp QWORD PTR 16[rbp], rbx | |
jle .L1396 | |
.L1401: | |
mov rax, QWORD PTR 24[rbp] | |
mov edx, 2 | |
mov rsi, r12 | |
mov rdi, QWORD PTR [rax+rbx*8] | |
call PyObject_RichCompareBool@PLT | |
cmp eax, 0 | |
jle .L1397 | |
lea rdx, 1[rbx] | |
xor ecx, ecx | |
mov rsi, rbx | |
mov rdi, rbp | |
call list_ass_slice | |
test eax, eax | |
jne .L1404 | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
lea rax, _Py_NoneStruct[rip] | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
pop rbp | |
.cfi_def_cfa_offset 16 | |
pop r12 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1396: | |
.cfi_restore_state | |
mov rdi, QWORD PTR PyExc_ValueError[rip] | |
lea rsi, .LC24[rip] | |
call PyErr_SetString@PLT | |
.L1404: | |
pop rbx | |
.cfi_def_cfa_offset 24 | |
xor eax, eax | |
pop rbp | |
.cfi_def_cfa_offset 16 | |
pop r12 | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE192: | |
.size list_remove, .-list_remove | |
.section .rodata.str1.8 | |
.align 8 | |
.LC25: | |
.string "must assign iterable to extended slice" | |
.align 8 | |
.LC26: | |
.string "attempt to assign sequence of size %zd to extended slice of size %zd" | |
.align 8 | |
.LC27: | |
.string "list indices must be integers or slices, not %.200s" | |
.text | |
.p2align 4,,15 | |
.type list_ass_subscript, @function | |
list_ass_subscript: | |
.LFB198: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rbp, rdx | |
mov rbx, rdi | |
mov rdi, rsi | |
sub rsp, 56 | |
.cfi_def_cfa_offset 112 | |
mov rdx, QWORD PTR 8[rsi] | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 40[rsp], rax | |
xor eax, eax | |
mov rax, QWORD PTR 96[rdx] | |
test rax, rax | |
je .L1406 | |
cmp QWORD PTR 264[rax], 0 | |
je .L1406 | |
mov rsi, QWORD PTR PyExc_IndexError[rip] | |
call PyNumber_AsSsize_t@PLT | |
cmp rax, -1 | |
mov r12, rax | |
je .L1503 | |
test r12, r12 | |
mov rax, QWORD PTR 16[rbx] | |
js .L1409 | |
.L1410: | |
cmp r12, rax | |
jge .L1411 | |
test rbp, rbp | |
je .L1504 | |
mov rax, QWORD PTR 24[rbx] | |
add QWORD PTR 0[rbp], 1 | |
lea rax, [rax+r12*8] | |
mov rdi, QWORD PTR [rax] | |
mov QWORD PTR [rax], rbp | |
sub QWORD PTR [rdi], 1 | |
jne .L1462 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
xor eax, eax | |
.L1405: | |
mov rbx, QWORD PTR 40[rsp] | |
xor rbx, QWORD PTR fs:40 | |
jne .L1505 | |
add rsp, 56 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1406: | |
.cfi_restore_state | |
lea rax, PySlice_Type[rip] | |
cmp rdx, rax | |
jne .L1413 | |
lea r13, 24[rsp] | |
lea r12, 16[rsp] | |
lea rcx, 32[rsp] | |
mov rdx, r13 | |
mov rsi, r12 | |
call PySlice_Unpack@PLT | |
test eax, eax | |
js .L1499 | |
mov rdi, QWORD PTR 16[rbx] | |
mov rcx, QWORD PTR 32[rsp] | |
mov rsi, r12 | |
mov rdx, r13 | |
call PySlice_AdjustIndices@PLT | |
mov r12, rax | |
mov rax, QWORD PTR 32[rsp] | |
cmp rax, 1 | |
je .L1506 | |
test rax, rax | |
js .L1507 | |
je .L1419 | |
mov rdx, QWORD PTR 16[rsp] | |
cmp rdx, QWORD PTR 24[rsp] | |
jle .L1419 | |
.L1418: | |
mov QWORD PTR 24[rsp], rdx | |
.L1419: | |
test rbp, rbp | |
je .L1508 | |
cmp rbx, rbp | |
je .L1509 | |
lea rsi, .LC25[rip] | |
mov rdi, rbp | |
call PySequence_Fast@PLT | |
test rax, rax | |
mov r13, rax | |
je .L1499 | |
.L1447: | |
mov rdx, QWORD PTR 16[r13] | |
cmp rdx, r12 | |
je .L1449 | |
mov rdi, QWORD PTR PyExc_ValueError[rip] | |
lea rsi, .LC26[rip] | |
xor eax, eax | |
mov rcx, r12 | |
call PyErr_Format@PLT | |
sub QWORD PTR 0[r13], 1 | |
jne .L1499 | |
mov rax, QWORD PTR 8[r13] | |
mov rdi, r13 | |
call [QWORD PTR 48[rax]] | |
mov eax, -1 | |
jmp .L1405 | |
.L1512: | |
sub QWORD PTR 0[r13], 1 | |
jne .L1453 | |
mov rax, QWORD PTR 8[r13] | |
mov rdi, r13 | |
call [QWORD PTR 48[rax]] | |
.L1453: | |
call PyErr_NoMemory@PLT | |
.p2align 4,,10 | |
.p2align 3 | |
.L1499: | |
mov eax, -1 | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1507: | |
mov rdx, QWORD PTR 16[rsp] | |
cmp rdx, QWORD PTR 24[rsp] | |
jl .L1418 | |
jmp .L1419 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1503: | |
call PyErr_Occurred@PLT | |
mov rdx, rax | |
mov eax, r12d | |
test rdx, rdx | |
jne .L1405 | |
mov rax, QWORD PTR 16[rbx] | |
.L1409: | |
add r12, rax | |
jns .L1410 | |
.L1411: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
lea rsi, .LC20[rip] | |
call PyErr_SetString@PLT | |
mov eax, -1 | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1508: | |
test r12, r12 | |
jle .L1462 | |
test rax, rax | |
jns .L1422 | |
mov rcx, QWORD PTR 16[rsp] | |
lea rdx, 1[rcx] | |
mov QWORD PTR 24[rsp], rdx | |
lea rdx, -1[r12] | |
imul rdx, rax | |
neg rax | |
mov QWORD PTR 32[rsp], rax | |
add rdx, rcx | |
mov QWORD PTR 16[rsp], rdx | |
.L1422: | |
lea r14, 0[0+r12*8] | |
mov rdi, r14 | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov r13, rax | |
je .L1453 | |
mov rbp, QWORD PTR 16[rsp] | |
xor r15d, r15d | |
cmp QWORD PTR 24[rsp], rbp | |
mov rdx, QWORD PTR 32[rsp] | |
mov rcx, rdx | |
jbe .L1425 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1424: | |
mov rcx, QWORD PTR 24[rbx] | |
lea rdi, [rdx+rbp] | |
sub rdx, 1 | |
lea rsi, 0[0+rbp*8] | |
mov rax, QWORD PTR [rcx+rbp*8] | |
mov QWORD PTR 0[r13+r15*8], rax | |
mov rax, QWORD PTR 16[rbx] | |
cmp rdi, rax | |
jb .L1427 | |
lea rdx, -1[rax] | |
sub rdx, rbp | |
.L1427: | |
mov rax, rbp | |
lea rsi, 8[rcx+rsi] | |
sal rdx, 3 | |
sub rax, r15 | |
add r15, 1 | |
lea rdi, [rcx+rax*8] | |
call memmove@PLT | |
mov rcx, QWORD PTR 32[rsp] | |
add rbp, rcx | |
cmp QWORD PTR 24[rsp], rbp | |
mov rdx, rcx | |
ja .L1424 | |
mov rbp, QWORD PTR 16[rsp] | |
.L1425: | |
imul rcx, r12 | |
mov rax, QWORD PTR 16[rbx] | |
add rbp, rcx | |
cmp rax, rbp | |
ja .L1510 | |
.L1428: | |
sub rax, r12 | |
mov rbp, rax | |
mov QWORD PTR 16[rbx], rax | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jg .L1429 | |
sar rax | |
mov rdx, rax | |
xor eax, eax | |
cmp rbp, rdx | |
jge .L1430 | |
.L1429: | |
mov r12, rbp | |
xor eax, eax | |
sar r12, 3 | |
add r12, rbp | |
cmp rbp, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r12, rax | |
movabs rax, 1152921504606846975 | |
cmp r12, rax | |
ja .L1434 | |
test rbp, rbp | |
je .L1466 | |
lea rsi, 0[0+r12*8] | |
.L1433: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1434 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], rbp | |
xor eax, eax | |
mov QWORD PTR 32[rbx], r12 | |
.L1430: | |
mov rbx, r13 | |
add r14, r13 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1436: | |
mov rdi, QWORD PTR [rbx] | |
sub QWORD PTR [rdi], 1 | |
jne .L1435 | |
mov rdx, QWORD PTR 8[rdi] | |
mov DWORD PTR 8[rsp], eax | |
call [QWORD PTR 48[rdx]] | |
mov eax, DWORD PTR 8[rsp] | |
.L1435: | |
add rbx, 8 | |
cmp r14, rbx | |
jne .L1436 | |
mov rdi, r13 | |
mov DWORD PTR 8[rsp], eax | |
call PyMem_Free@PLT | |
mov eax, DWORD PTR 8[rsp] | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1462: | |
xor eax, eax | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1449: | |
test r12, r12 | |
jne .L1450 | |
.L1502: | |
sub QWORD PTR 0[r13], 1 | |
jne .L1462 | |
mov rax, QWORD PTR 8[r13] | |
mov rdi, r13 | |
call [QWORD PTR 48[rax]] | |
xor eax, eax | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1506: | |
mov rdx, QWORD PTR 24[rsp] | |
mov rsi, QWORD PTR 16[rsp] | |
mov rcx, rbp | |
mov rdi, rbx | |
call list_ass_slice | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1504: | |
lea rdx, 1[r12] | |
xor ecx, ecx | |
mov rsi, r12 | |
mov rdi, rbx | |
call list_ass_slice | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1509: | |
mov r14, QWORD PTR 16[rbx] | |
mov r15d, 0 | |
test r14, r14 | |
cmovle r15, r14 | |
sub r14, r15 | |
js .L1511 | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L1439 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov r13, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR 0[r13], 1 | |
.L1440: | |
test r14, r14 | |
jne .L1442 | |
mov QWORD PTR 24[r13], 0 | |
xor eax, eax | |
.L1443: | |
mov rdx, QWORD PTR -8[r13] | |
mov QWORD PTR 16[r13], r14 | |
lea rsi, -24[r13] | |
mov QWORD PTR 32[r13], r14 | |
mov rcx, rdx | |
sar rcx | |
cmp rcx, -2 | |
je .L1446 | |
lea rdi, .LC3[rip] | |
mov QWORD PTR 8[rsp], rsi | |
call Py_FatalError@PLT | |
mov rdx, QWORD PTR -8[r13] | |
mov rax, QWORD PTR 24[r13] | |
mov rsi, QWORD PTR 8[rsp] | |
.L1446: | |
and edx, 1 | |
sal r15, 3 | |
or rdx, -6 | |
test r14, r14 | |
mov QWORD PTR -8[r13], rdx | |
mov rdx, QWORD PTR _PyRuntime[rip+432] | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR -24[r13], rdx | |
mov QWORD PTR -16[r13], rcx | |
mov QWORD PTR [rcx], rsi | |
mov QWORD PTR 8[rdx], rsi | |
mov rcx, QWORD PTR 24[rbp] | |
je .L1447 | |
.L1445: | |
lea rsi, [rcx+r15] | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1448: | |
mov rcx, QWORD PTR [rsi+rdx*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rax+rdx*8], rcx | |
add rdx, 1 | |
cmp r14, rdx | |
jne .L1448 | |
jmp .L1447 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1450: | |
lea r14, 0[0+r12*8] | |
mov rdi, r14 | |
call PyMem_Malloc@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L1512 | |
mov rax, QWORD PTR 8[r13] | |
mov rdx, QWORD PTR 24[rbx] | |
lea rdi, 24[r13] | |
test BYTE PTR 171[rax], 2 | |
je .L1455 | |
mov rdi, QWORD PTR 24[r13] | |
.L1455: | |
test r12, r12 | |
mov rcx, QWORD PTR 16[rsp] | |
jle .L1456 | |
mov rax, QWORD PTR 32[rsp] | |
lea rcx, [rdx+rcx*8] | |
xor edx, edx | |
sal rax, 3 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1457: | |
mov rsi, QWORD PTR [rcx] | |
mov QWORD PTR 0[rbp+rdx*8], rsi | |
mov rsi, QWORD PTR [rdi+rdx*8] | |
add rdx, 1 | |
add QWORD PTR [rsi], 1 | |
mov QWORD PTR [rcx], rsi | |
add rcx, rax | |
cmp r12, rdx | |
jne .L1457 | |
mov rbx, rbp | |
add r14, rbp | |
.p2align 4,,10 | |
.p2align 3 | |
.L1459: | |
mov rdi, QWORD PTR [rbx] | |
sub QWORD PTR [rdi], 1 | |
jne .L1458 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L1458: | |
add rbx, 8 | |
cmp r14, rbx | |
jne .L1459 | |
.L1456: | |
mov rdi, rbp | |
call PyMem_Free@PLT | |
jmp .L1502 | |
.L1511: | |
lea rdi, .LC2[rip] | |
mov esi, 150 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1413: | |
mov rdx, QWORD PTR 24[rdx] | |
mov rdi, QWORD PTR PyExc_TypeError[rip] | |
lea rsi, .LC27[rip] | |
xor eax, eax | |
call PyErr_Format@PLT | |
mov eax, -1 | |
jmp .L1405 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1442: | |
mov esi, 8 | |
mov rdi, r14 | |
call PyMem_Calloc@PLT | |
test rax, rax | |
mov QWORD PTR 24[r13], rax | |
jne .L1443 | |
sub QWORD PTR 0[r13], 1 | |
jne .L1444 | |
mov rax, QWORD PTR 8[r13] | |
mov rdi, r13 | |
call [QWORD PTR 48[rax]] | |
.L1444: | |
call PyErr_NoMemory@PLT | |
test rax, rax | |
mov r13, rax | |
je .L1499 | |
mov rax, QWORD PTR 24[rax] | |
mov rcx, QWORD PTR 24[rbp] | |
sal r15, 3 | |
jmp .L1445 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1439: | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov r13, rax | |
jne .L1440 | |
jmp .L1499 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1466: | |
xor esi, esi | |
xor r12d, r12d | |
jmp .L1433 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1510: | |
mov rcx, QWORD PTR 24[rbx] | |
sub rax, rbp | |
lea rdx, 0[0+rax*8] | |
lea rsi, [rcx+rbp*8] | |
sub rbp, r12 | |
lea rdi, [rcx+rbp*8] | |
call memmove@PLT | |
mov rax, QWORD PTR 16[rbx] | |
jmp .L1428 | |
.L1434: | |
call PyErr_NoMemory@PLT | |
or eax, -1 | |
jmp .L1430 | |
.L1505: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE198: | |
.size list_ass_subscript, .-list_ass_subscript | |
.p2align 4,,15 | |
.type list_subscript, @function | |
list_subscript: | |
.LFB197: | |
.cfi_startproc | |
push r12 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 12, -16 | |
push rbp | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 6, -24 | |
push rbx | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 3, -32 | |
mov rbx, rdi | |
mov rdi, rsi | |
sub rsp, 48 | |
.cfi_def_cfa_offset 80 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 40[rsp], rax | |
xor eax, eax | |
mov rax, QWORD PTR 8[rsi] | |
mov rdx, QWORD PTR 96[rax] | |
test rdx, rdx | |
je .L1514 | |
cmp QWORD PTR 264[rdx], 0 | |
je .L1514 | |
mov rsi, QWORD PTR PyExc_IndexError[rip] | |
call PyNumber_AsSsize_t@PLT | |
cmp rax, -1 | |
mov rbp, rax | |
je .L1564 | |
test rbp, rbp | |
mov rax, QWORD PTR 16[rbx] | |
js .L1517 | |
.L1519: | |
cmp rbp, rax | |
jl .L1565 | |
mov rax, QWORD PTR indexerr[rip] | |
test rax, rax | |
jne .L1521 | |
.L1520: | |
lea rdi, .LC4[rip] | |
call PyUnicode_FromString@PLT | |
test rax, rax | |
mov QWORD PTR indexerr[rip], rax | |
je .L1563 | |
.L1521: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
mov rsi, rax | |
call PyErr_SetObject@PLT | |
xor eax, eax | |
jmp .L1513 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1514: | |
lea rdx, PySlice_Type[rip] | |
cmp rax, rdx | |
jne .L1524 | |
lea r12, 24[rsp] | |
lea rbp, 16[rsp] | |
lea rcx, 32[rsp] | |
mov rdx, r12 | |
mov rsi, rbp | |
call PySlice_Unpack@PLT | |
test eax, eax | |
js .L1563 | |
mov rdi, QWORD PTR 16[rbx] | |
mov rcx, QWORD PTR 32[rsp] | |
mov rsi, rbp | |
mov rdx, r12 | |
call PySlice_AdjustIndices@PLT | |
test rax, rax | |
mov rbp, rax | |
jle .L1566 | |
cmp QWORD PTR 32[rsp], 1 | |
je .L1567 | |
mov rdi, rax | |
call PyList_New | |
test rax, rax | |
je .L1563 | |
mov rsi, QWORD PTR 32[rsp] | |
mov rdx, QWORD PTR 24[rbx] | |
mov rcx, QWORD PTR 16[rsp] | |
lea rdi, 0[0+rsi*8] | |
lea rsi, [rdx+rcx*8] | |
mov rdx, QWORD PTR 24[rax] | |
lea r8, [rdx+rbp*8] | |
.p2align 4,,10 | |
.p2align 3 | |
.L1535: | |
mov rcx, QWORD PTR [rsi] | |
add rdx, 8 | |
add rsi, rdi | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR -8[rdx], rcx | |
cmp r8, rdx | |
jne .L1535 | |
jmp .L1513 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1524: | |
mov rdx, QWORD PTR 24[rax] | |
mov rdi, QWORD PTR PyExc_TypeError[rip] | |
lea rsi, .LC27[rip] | |
xor eax, eax | |
call PyErr_Format@PLT | |
.L1563: | |
xor eax, eax | |
.L1513: | |
mov rbx, QWORD PTR 40[rsp] | |
xor rbx, QWORD PTR fs:40 | |
jne .L1568 | |
add rsp, 48 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 32 | |
pop rbx | |
.cfi_def_cfa_offset 24 | |
pop rbp | |
.cfi_def_cfa_offset 16 | |
pop r12 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1565: | |
.cfi_restore_state | |
mov rax, QWORD PTR 24[rbx] | |
mov rax, QWORD PTR [rax+rbp*8] | |
add QWORD PTR [rax], 1 | |
jmp .L1513 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1567: | |
mov rax, QWORD PTR 16[rsp] | |
xor r12d, r12d | |
mov rbp, QWORD PTR 24[rsp] | |
test rax, rax | |
js .L1532 | |
cmp QWORD PTR 16[rbx], rax | |
cmovle rax, QWORD PTR 16[rbx] | |
mov r12, rax | |
.L1532: | |
cmp rbp, r12 | |
jl .L1533 | |
cmp QWORD PTR 16[rbx], rbp | |
cmovle rbp, QWORD PTR 16[rbx] | |
sub rbp, r12 | |
mov rdi, rbp | |
call PyList_New | |
test rax, rax | |
je .L1563 | |
sal r12, 3 | |
test rbp, rbp | |
mov rcx, QWORD PTR 24[rbx] | |
mov rdi, QWORD PTR 24[rax] | |
jle .L1513 | |
lea rsi, [rcx+r12] | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1534: | |
mov rcx, QWORD PTR [rsi+rdx*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rdi+rdx*8], rcx | |
add rdx, 1 | |
cmp rdx, rbp | |
jne .L1534 | |
jmp .L1513 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1564: | |
call PyErr_Occurred@PLT | |
test rax, rax | |
jne .L1563 | |
mov rax, QWORD PTR 16[rbx] | |
.L1517: | |
add rbp, rax | |
jns .L1519 | |
mov rax, QWORD PTR indexerr[rip] | |
test rax, rax | |
je .L1520 | |
jmp .L1521 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1566: | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L1527 | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rax, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR [rax], 1 | |
.L1528: | |
mov rdx, QWORD PTR -8[rax] | |
mov QWORD PTR 24[rax], 0 | |
lea rbx, -24[rax] | |
mov QWORD PTR 16[rax], 0 | |
mov QWORD PTR 32[rax], 0 | |
mov rcx, rdx | |
sar rcx | |
cmp rcx, -2 | |
je .L1529 | |
lea rdi, .LC3[rip] | |
mov QWORD PTR 8[rsp], rax | |
call Py_FatalError@PLT | |
mov rax, QWORD PTR 8[rsp] | |
mov rdx, QWORD PTR -8[rax] | |
.L1529: | |
and edx, 1 | |
or rdx, -6 | |
mov QWORD PTR -8[rax], rdx | |
mov rdx, QWORD PTR _PyRuntime[rip+432] | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR -24[rax], rdx | |
mov QWORD PTR -16[rax], rcx | |
mov QWORD PTR [rcx], rbx | |
mov QWORD PTR 8[rdx], rbx | |
jmp .L1513 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1533: | |
xor edi, edi | |
call PyList_New | |
test rax, rax | |
je .L1563 | |
jmp .L1513 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1527: | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
jne .L1528 | |
jmp .L1563 | |
.L1568: | |
call __stack_chk_fail@PLT | |
.cfi_endproc | |
.LFE197: | |
.size list_subscript, .-list_subscript | |
.p2align 4,,15 | |
.globl PyList_Size | |
.type PyList_Size, @function | |
PyList_Size: | |
.LFB135: | |
.cfi_startproc | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1576 | |
mov rax, QWORD PTR 16[rdi] | |
ret | |
.L1576: | |
lea rdi, .LC2[rip] | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov esi, 187 | |
call _PyErr_BadInternalCall@PLT | |
mov rax, -1 | |
add rsp, 8 | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE135: | |
.size PyList_Size, .-PyList_Size | |
.p2align 4,,15 | |
.globl PyList_GetItem | |
.type PyList_GetItem, @function | |
PyList_GetItem: | |
.LFB136: | |
.cfi_startproc | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1587 | |
test rsi, rsi | |
js .L1580 | |
cmp QWORD PTR 16[rdi], rsi | |
jg .L1581 | |
.L1580: | |
mov rax, QWORD PTR indexerr[rip] | |
test rax, rax | |
jne .L1582 | |
lea rdi, .LC4[rip] | |
call PyUnicode_FromString@PLT | |
test rax, rax | |
mov QWORD PTR indexerr[rip], rax | |
je .L1577 | |
.L1582: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
mov rsi, rax | |
call PyErr_SetObject@PLT | |
xor eax, eax | |
.L1577: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1581: | |
.cfi_restore_state | |
mov rax, QWORD PTR 24[rdi] | |
mov rax, QWORD PTR [rax+rsi*8] | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1587: | |
.cfi_restore_state | |
lea rdi, .LC2[rip] | |
mov esi, 200 | |
call _PyErr_BadInternalCall@PLT | |
xor eax, eax | |
jmp .L1577 | |
.cfi_endproc | |
.LFE136: | |
.size PyList_GetItem, .-PyList_GetItem | |
.p2align 4,,15 | |
.globl PyList_SetItem | |
.type PyList_SetItem, @function | |
PyList_SetItem: | |
.LFB137: | |
.cfi_startproc | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1603 | |
test rsi, rsi | |
js .L1594 | |
cmp QWORD PTR 16[rdi], rsi | |
jle .L1594 | |
mov rax, QWORD PTR 24[rdi] | |
lea rax, [rax+rsi*8] | |
mov rdi, QWORD PTR [rax] | |
mov QWORD PTR [rax], rdx | |
test rdi, rdi | |
je .L1602 | |
sub QWORD PTR [rdi], 1 | |
jne .L1602 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L1602: | |
xor eax, eax | |
.L1588: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1594: | |
.cfi_restore_state | |
test rdx, rdx | |
je .L1597 | |
sub QWORD PTR [rdx], 1 | |
jne .L1597 | |
mov rax, QWORD PTR 8[rdx] | |
mov rdi, rdx | |
call [QWORD PTR 48[rax]] | |
.L1597: | |
mov rdi, QWORD PTR PyExc_IndexError[rip] | |
lea rsi, .LC20[rip] | |
call PyErr_SetString@PLT | |
mov eax, -1 | |
jmp .L1588 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1603: | |
test rdx, rdx | |
je .L1591 | |
sub QWORD PTR [rdx], 1 | |
jne .L1591 | |
mov rax, QWORD PTR 8[rdx] | |
mov rdi, rdx | |
call [QWORD PTR 48[rax]] | |
.L1591: | |
lea rdi, .LC2[rip] | |
mov esi, 223 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
jmp .L1588 | |
.cfi_endproc | |
.LFE137: | |
.size PyList_SetItem, .-PyList_SetItem | |
.p2align 4,,15 | |
.globl PyList_Insert | |
.type PyList_Insert, @function | |
PyList_Insert: | |
.LFB139: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 64 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1644 | |
test rdx, rdx | |
mov rbp, rdi | |
mov r12, rdx | |
mov rbx, QWORD PTR 16[rdi] | |
je .L1645 | |
movabs rax, 9223372036854775807 | |
cmp rbx, rax | |
je .L1646 | |
mov rax, QWORD PTR 32[rdi] | |
lea r13, 1[rbx] | |
mov r15, rsi | |
cmp r13, rax | |
jg .L1609 | |
sar rax | |
cmp r13, rax | |
jl .L1609 | |
test r15, r15 | |
mov QWORD PTR 16[rdi], r13 | |
mov rax, QWORD PTR 24[rdi] | |
js .L1647 | |
.L1615: | |
cmp r15, rbx | |
mov rsi, r15 | |
cmovg rsi, rbx | |
.L1616: | |
lea rcx, 0[0+rsi*8] | |
cmp rbx, 32 | |
lea rbp, [rax+rcx] | |
jg .L1617 | |
lea rcx, -1[rbx] | |
cmp rsi, rcx | |
jg .L1619 | |
mov r9, rbx | |
movabs rdx, -9223372036854775808 | |
sub r9, rsi | |
cmp rsi, rdx | |
je .L1636 | |
cmp r9, 24 | |
jbe .L1636 | |
lea rdi, 0[0+rbx*8] | |
mov r11, rcx | |
sub r11, rsi | |
lea r8, -16[rdi] | |
lea rdx, [rax+r8] | |
shr rdx, 3 | |
and edx, 1 | |
lea r10, 1[rdx] | |
cmp r11, r10 | |
jb .L1621 | |
test rdx, rdx | |
je .L1622 | |
mov r10, QWORD PTR [rax+rcx*8] | |
mov QWORD PTR 8[rax+rcx*8], r10 | |
lea rcx, -2[rbx] | |
.L1622: | |
sub r9, rdx | |
neg rdx | |
sal rdx, 3 | |
mov r10, r9 | |
lea r11, -8[rdi+rdx] | |
add r8, rdx | |
shr r10 | |
add r8, rax | |
xor edx, edx | |
xor edi, edi | |
add r11, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L1623: | |
movdqa xmm0, XMMWORD PTR [r8+rdx] | |
add rdi, 1 | |
movups XMMWORD PTR [r11+rdx], xmm0 | |
sub rdx, 16 | |
cmp rdi, r10 | |
jb .L1623 | |
mov rdx, r9 | |
and rdx, -2 | |
sub rcx, rdx | |
cmp r9, rdx | |
je .L1619 | |
.L1621: | |
mov rdx, QWORD PTR [rax+rcx*8] | |
mov QWORD PTR 8[rax+rcx*8], rdx | |
sub rcx, 1 | |
cmp rcx, rsi | |
jl .L1619 | |
mov rdx, QWORD PTR [rax+rcx*8] | |
mov QWORD PTR 8[rax+rcx*8], rdx | |
.L1619: | |
add QWORD PTR [r12], 1 | |
xor eax, eax | |
mov QWORD PTR 0[rbp], r12 | |
.L1604: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1609: | |
.cfi_restore_state | |
mov r14, r13 | |
xor eax, eax | |
sar r14, 3 | |
add r14, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r14, rax | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L1614 | |
test r13, r13 | |
je .L1629 | |
lea rsi, 0[0+r14*8] | |
.L1613: | |
mov rdi, QWORD PTR 24[rbp] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1614 | |
test r15, r15 | |
mov QWORD PTR 24[rbp], rax | |
mov QWORD PTR 16[rbp], r13 | |
mov QWORD PTR 32[rbp], r14 | |
jns .L1615 | |
.L1647: | |
mov rsi, r15 | |
mov edx, 0 | |
add rsi, rbx | |
cmovs rsi, rdx | |
jmp .L1616 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1636: | |
mov rdx, QWORD PTR [rax+rcx*8] | |
mov QWORD PTR 8[rax+rcx*8], rdx | |
sub rcx, 1 | |
cmp rsi, rcx | |
jle .L1636 | |
jmp .L1619 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1629: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1613 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1617: | |
sub rbx, rsi | |
lea rdi, 8[rax+rcx] | |
mov rsi, rbp | |
lea rdx, 0[0+rbx*8] | |
call memmove@PLT | |
jmp .L1619 | |
.L1644: | |
lea rdi, .LC2[rip] | |
mov esi, 283 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
jmp .L1604 | |
.L1614: | |
call PyErr_NoMemory@PLT | |
mov eax, -1 | |
jmp .L1604 | |
.L1646: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
call PyErr_SetString@PLT | |
mov eax, -1 | |
jmp .L1604 | |
.L1645: | |
lea rdi, .LC2[rip] | |
mov esi, 249 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
jmp .L1604 | |
.cfi_endproc | |
.LFE139: | |
.size PyList_Insert, .-PyList_Insert | |
.p2align 4,,15 | |
.globl PyList_Append | |
.type PyList_Append, @function | |
PyList_Append: | |
.LFB141: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1649 | |
test rsi, rsi | |
mov r13, rsi | |
je .L1649 | |
mov r14, QWORD PTR 16[rdi] | |
movabs rax, 9223372036854775807 | |
mov rbx, rdi | |
cmp r14, rax | |
je .L1670 | |
mov rax, QWORD PTR 32[rdi] | |
lea rbp, 1[r14] | |
cmp rbp, rax | |
jg .L1652 | |
sar rax | |
cmp rbp, rax | |
jl .L1652 | |
mov rax, QWORD PTR 24[rdi] | |
mov QWORD PTR 16[rdi], rbp | |
.L1653: | |
add QWORD PTR 0[r13], 1 | |
mov QWORD PTR [rax+r14*8], r13 | |
xor eax, eax | |
.L1648: | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1652: | |
.cfi_restore_state | |
mov r12, rbp | |
xor eax, eax | |
sar r12, 3 | |
add r12, rbp | |
cmp rbp, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r12, rax | |
movabs rax, 1152921504606846975 | |
cmp r12, rax | |
ja .L1657 | |
test rbp, rbp | |
je .L1659 | |
lea rsi, 0[0+r12*8] | |
.L1656: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1657 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], rbp | |
mov QWORD PTR 32[rbx], r12 | |
jmp .L1653 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1659: | |
xor esi, esi | |
xor r12d, r12d | |
jmp .L1656 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1649: | |
lea rdi, .LC2[rip] | |
mov esi, 314 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
jmp .L1648 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1657: | |
call PyErr_NoMemory@PLT | |
mov eax, -1 | |
jmp .L1648 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1670: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
call PyErr_SetString@PLT | |
mov eax, -1 | |
jmp .L1648 | |
.cfi_endproc | |
.LFE141: | |
.size PyList_Append, .-PyList_Append | |
.p2align 4,,15 | |
.globl PyList_GetSlice | |
.type PyList_GetSlice, @function | |
PyList_GetSlice: | |
.LFB148: | |
.cfi_startproc | |
push r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
push r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
push r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
push rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
push rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1701 | |
xor r12d, r12d | |
test rsi, rsi | |
mov r13, rdi | |
js .L1674 | |
cmp QWORD PTR 16[rdi], rsi | |
cmovle rsi, QWORD PTR 16[rdi] | |
mov r12, rsi | |
.L1674: | |
cmp rdx, r12 | |
jl .L1686 | |
cmp QWORD PTR 16[r13], rdx | |
mov rbx, rdx | |
cmovle rbx, QWORD PTR 16[r13] | |
sub rbx, r12 | |
js .L1702 | |
mov eax, DWORD PTR numfree[rip] | |
test eax, eax | |
je .L1676 | |
.L1703: | |
sub eax, 1 | |
lea rdx, free_list[rip] | |
mov DWORD PTR numfree[rip], eax | |
cdqe | |
mov rbp, QWORD PTR [rdx+rax*8] | |
mov QWORD PTR 0[rbp], 1 | |
.L1677: | |
test rbx, rbx | |
jne .L1679 | |
mov QWORD PTR 24[rbp], 0 | |
xor eax, eax | |
.L1680: | |
mov rdx, QWORD PTR -8[rbp] | |
mov QWORD PTR 16[rbp], rbx | |
lea r14, -24[rbp] | |
mov QWORD PTR 32[rbp], rbx | |
mov rcx, rdx | |
sar rcx | |
cmp rcx, -2 | |
je .L1683 | |
lea rdi, .LC3[rip] | |
call Py_FatalError@PLT | |
mov rdx, QWORD PTR -8[rbp] | |
mov rax, QWORD PTR 24[rbp] | |
.L1683: | |
and edx, 1 | |
sal r12, 3 | |
or rdx, -6 | |
test rbx, rbx | |
mov QWORD PTR -8[rbp], rdx | |
mov rdx, QWORD PTR _PyRuntime[rip+432] | |
mov rcx, QWORD PTR 8[rdx] | |
mov QWORD PTR -24[rbp], rdx | |
mov QWORD PTR -16[rbp], rcx | |
mov QWORD PTR [rcx], r14 | |
mov QWORD PTR 8[rdx], r14 | |
mov rdx, QWORD PTR 24[r13] | |
je .L1671 | |
.L1682: | |
xor ecx, ecx | |
add rdx, r12 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1684: | |
mov rsi, QWORD PTR [rdx+rcx*8] | |
add QWORD PTR [rsi], 1 | |
mov QWORD PTR [rax+rcx*8], rsi | |
add rcx, 1 | |
cmp rcx, rbx | |
jne .L1684 | |
.L1671: | |
pop rbx | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
mov rax, rbp | |
pop rbp | |
.cfi_def_cfa_offset 32 | |
pop r12 | |
.cfi_def_cfa_offset 24 | |
pop r13 | |
.cfi_def_cfa_offset 16 | |
pop r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1686: | |
.cfi_restore_state | |
mov eax, DWORD PTR numfree[rip] | |
xor ebx, ebx | |
test eax, eax | |
jne .L1703 | |
.L1676: | |
lea rdi, PyList_Type[rip] | |
call _PyObject_GC_New@PLT | |
test rax, rax | |
mov rbp, rax | |
jne .L1677 | |
.L1678: | |
xor ebp, ebp | |
jmp .L1671 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1679: | |
mov esi, 8 | |
mov rdi, rbx | |
call PyMem_Calloc@PLT | |
test rax, rax | |
mov QWORD PTR 24[rbp], rax | |
jne .L1680 | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1681 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L1681: | |
call PyErr_NoMemory@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L1678 | |
mov rax, QWORD PTR 24[rax] | |
mov rdx, QWORD PTR 24[r13] | |
sal r12, 3 | |
jmp .L1682 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1701: | |
lea rdi, .LC2[rip] | |
mov esi, 468 | |
xor ebp, ebp | |
call _PyErr_BadInternalCall@PLT | |
jmp .L1671 | |
.L1702: | |
lea rdi, .LC2[rip] | |
mov esi, 150 | |
xor ebp, ebp | |
call _PyErr_BadInternalCall@PLT | |
jmp .L1671 | |
.cfi_endproc | |
.LFE148: | |
.size PyList_GetSlice, .-PyList_GetSlice | |
.p2align 4,,15 | |
.globl PyList_SetSlice | |
.type PyList_SetSlice, @function | |
PyList_SetSlice: | |
.LFB153: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
sub rsp, 168 | |
.cfi_def_cfa_offset 224 | |
mov rax, QWORD PTR fs:40 | |
mov QWORD PTR 152[rsp], rax | |
xor eax, eax | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1793 | |
test rcx, rcx | |
mov r12, rdi | |
mov r15, rsi | |
mov r13, rdx | |
mov rbp, rcx | |
je .L1757 | |
cmp rdi, rcx | |
je .L1794 | |
lea rsi, .LC23[rip] | |
mov rdi, rcx | |
call PySequence_Fast@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L1713 | |
mov r14, QWORD PTR 16[rax] | |
mov rax, QWORD PTR 8[rax] | |
lea r9, 24[rbp] | |
test BYTE PTR 171[rax], 2 | |
jne .L1795 | |
.L1707: | |
xor ebx, ebx | |
test r15, r15 | |
mov rax, QWORD PTR 16[r12] | |
js .L1715 | |
cmp r15, rax | |
mov rbx, r15 | |
cmovg rbx, rax | |
.L1715: | |
cmp r13, rbx | |
jl .L1716 | |
cmp r13, rax | |
mov r8, r14 | |
cmovg r13, rax | |
mov rsi, r13 | |
sub rsi, rbx | |
sub r8, rsi | |
mov QWORD PTR 8[rsp], rsi | |
add rax, r8 | |
jne .L1717 | |
.L1754: | |
test rbp, rbp | |
je .L1719 | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1719 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L1719: | |
mov rbp, QWORD PTR 24[r12] | |
xor ebx, ebx | |
test rbp, rbp | |
je .L1704 | |
mov rbx, QWORD PTR 16[r12] | |
mov QWORD PTR 24[r12], 0 | |
mov QWORD PTR 16[r12], 0 | |
mov QWORD PTR 32[r12], 0 | |
.L1721: | |
sub rbx, 1 | |
js .L1796 | |
.L1725: | |
mov rdi, QWORD PTR 0[rbp+rbx*8] | |
test rdi, rdi | |
je .L1721 | |
sub QWORD PTR [rdi], 1 | |
jne .L1721 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
sub rbx, 1 | |
jns .L1725 | |
.L1796: | |
mov rdi, rbp | |
xor ebx, ebx | |
call PyMem_Free@PLT | |
.L1704: | |
mov rdx, QWORD PTR 152[rsp] | |
xor rdx, QWORD PTR fs:40 | |
mov eax, ebx | |
jne .L1797 | |
add rsp, 168 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1794: | |
.cfi_restore_state | |
mov rbx, QWORD PTR 16[rdi] | |
mov r14d, 0 | |
test rbx, rbx | |
cmovle r14, rbx | |
sub rbx, r14 | |
mov rdi, rbx | |
call PyList_New | |
test rax, rax | |
mov rbp, rax | |
je .L1713 | |
sal r14, 3 | |
test rbx, rbx | |
mov rcx, QWORD PTR 24[r12] | |
mov rdx, QWORD PTR 24[rax] | |
jle .L1711 | |
lea rsi, [rcx+r14] | |
xor eax, eax | |
.p2align 4,,10 | |
.p2align 3 | |
.L1712: | |
mov rcx, QWORD PTR [rsi+rax*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rdx+rax*8], rcx | |
add rax, 1 | |
cmp rbx, rax | |
jne .L1712 | |
.L1711: | |
mov rcx, rbp | |
mov rdx, r13 | |
mov rsi, r15 | |
mov rdi, r12 | |
call list_ass_slice | |
mov ebx, eax | |
.L1792: | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1704 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
jmp .L1704 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1716: | |
add rax, r14 | |
je .L1754 | |
lea r15, 80[rsp] | |
mov rcx, QWORD PTR 24[r12] | |
mov r8, r14 | |
mov r13, rbx | |
xor r10d, r10d | |
mov QWORD PTR 8[rsp], 0 | |
mov QWORD PTR 16[rsp], r15 | |
.L1726: | |
test r8, r8 | |
js .L1798 | |
jne .L1799 | |
.L1737: | |
test r14, r14 | |
jle .L1744 | |
mov rax, rbx | |
add r14, rbx | |
neg rax | |
lea rdx, [r9+rax*8] | |
.p2align 4,,10 | |
.p2align 3 | |
.L1745: | |
mov rax, QWORD PTR [rdx+rbx*8] | |
test rax, rax | |
je .L1746 | |
add QWORD PTR [rax], 1 | |
mov QWORD PTR [rcx+rbx*8], rax | |
add rbx, 1 | |
cmp rbx, r14 | |
jne .L1745 | |
.L1744: | |
mov rbx, QWORD PTR 8[rsp] | |
sub rbx, 1 | |
js .L1748 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1752: | |
mov rdi, QWORD PTR [r15+rbx*8] | |
test rdi, rdi | |
je .L1750 | |
sub QWORD PTR [rdi], 1 | |
jne .L1750 | |
mov rax, QWORD PTR 8[rdi] | |
call [QWORD PTR 48[rax]] | |
.L1750: | |
sub rbx, 1 | |
cmp rbx, -1 | |
jne .L1752 | |
.L1748: | |
xor ebx, ebx | |
.L1734: | |
cmp r15, QWORD PTR 16[rsp] | |
je .L1753 | |
.L1728: | |
mov rdi, r15 | |
call PyMem_Free@PLT | |
.L1753: | |
test rbp, rbp | |
jne .L1792 | |
jmp .L1704 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1757: | |
xor r14d, r14d | |
xor r9d, r9d | |
jmp .L1707 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1795: | |
mov r9, QWORD PTR 24[rbp] | |
jmp .L1707 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1717: | |
lea r10, 0[0+rsi*8] | |
mov rcx, QWORD PTR 24[r12] | |
test r10, r10 | |
je .L1760 | |
cmp r10, 64 | |
jbe .L1761 | |
mov rdi, r10 | |
mov QWORD PTR 48[rsp], rcx | |
mov QWORD PTR 40[rsp], r8 | |
mov QWORD PTR 32[rsp], r9 | |
mov QWORD PTR 24[rsp], r10 | |
call PyMem_Malloc@PLT | |
mov r15, rax | |
lea rax, 80[rsp] | |
mov r10, QWORD PTR 24[rsp] | |
test r15, r15 | |
mov r9, QWORD PTR 32[rsp] | |
mov r8, QWORD PTR 40[rsp] | |
mov QWORD PTR 16[rsp], rax | |
mov rcx, QWORD PTR 48[rsp] | |
je .L1800 | |
.L1727: | |
lea rsi, [rcx+rbx*8] | |
mov rdx, r10 | |
mov rdi, r15 | |
mov QWORD PTR 48[rsp], r8 | |
mov QWORD PTR 40[rsp], r9 | |
mov QWORD PTR 32[rsp], rcx | |
mov QWORD PTR 24[rsp], r10 | |
call memcpy@PLT | |
mov r10, QWORD PTR 24[rsp] | |
mov rcx, QWORD PTR 32[rsp] | |
mov r9, QWORD PTR 40[rsp] | |
mov r8, QWORD PTR 48[rsp] | |
jmp .L1726 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1713: | |
mov ebx, -1 | |
jmp .L1704 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1746: | |
mov QWORD PTR [rcx+rbx*8], 0 | |
add rbx, 1 | |
cmp rbx, r14 | |
jne .L1745 | |
jmp .L1744 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1799: | |
mov rdx, QWORD PTR 16[r12] | |
mov rax, QWORD PTR 32[r12] | |
lea r10, [rdx+r8] | |
cmp r10, rax | |
jg .L1738 | |
sar rax | |
cmp r10, rax | |
jge .L1801 | |
.L1738: | |
mov r11, r10 | |
xor eax, eax | |
sar r11, 3 | |
add r11, r10 | |
cmp r10, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r11, rax | |
movabs rax, 1152921504606846975 | |
cmp r11, rax | |
ja .L1743 | |
test r10, r10 | |
je .L1765 | |
lea rsi, 0[0+r11*8] | |
.L1742: | |
mov rdi, QWORD PTR 24[r12] | |
mov QWORD PTR 56[rsp], r11 | |
mov QWORD PTR 48[rsp], r10 | |
mov QWORD PTR 40[rsp], rdx | |
mov QWORD PTR 32[rsp], r8 | |
mov QWORD PTR 24[rsp], r9 | |
call PyMem_Realloc@PLT | |
test rax, rax | |
mov rcx, rax | |
je .L1743 | |
mov r10, QWORD PTR 48[rsp] | |
mov r11, QWORD PTR 56[rsp] | |
mov rdx, QWORD PTR 40[rsp] | |
mov r8, QWORD PTR 32[rsp] | |
mov r9, QWORD PTR 24[rsp] | |
mov QWORD PTR 24[r12], rax | |
mov QWORD PTR 16[r12], r10 | |
mov QWORD PTR 32[r12], r11 | |
.L1739: | |
lea rsi, [rcx+r13*8] | |
sub rdx, r13 | |
add r13, r8 | |
lea rdi, [rcx+r13*8] | |
sal rdx, 3 | |
mov QWORD PTR 32[rsp], r9 | |
mov QWORD PTR 24[rsp], rcx | |
call memmove@PLT | |
mov r9, QWORD PTR 32[rsp] | |
mov rcx, QWORD PTR 24[rsp] | |
jmp .L1737 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1761: | |
lea r15, 80[rsp] | |
mov QWORD PTR 16[rsp], r15 | |
jmp .L1727 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1798: | |
mov rax, QWORD PTR 16[r12] | |
lea rsi, [rcx+r13*8] | |
mov QWORD PTR 48[rsp], r10 | |
mov QWORD PTR 40[rsp], r9 | |
mov QWORD PTR 32[rsp], r8 | |
mov QWORD PTR 24[rsp], rcx | |
mov QWORD PTR 64[rsp], rsi | |
sub rax, r13 | |
add r13, r8 | |
lea rdx, 0[0+rax*8] | |
lea rax, [rcx+r13*8] | |
mov rdi, rax | |
mov QWORD PTR 56[rsp], rdx | |
mov QWORD PTR 72[rsp], rax | |
call memmove@PLT | |
mov r8, QWORD PTR 32[rsp] | |
add r8, QWORD PTR 16[r12] | |
mov rax, QWORD PTR 32[r12] | |
mov rcx, QWORD PTR 24[rsp] | |
mov r9, QWORD PTR 40[rsp] | |
mov r10, QWORD PTR 48[rsp] | |
cmp r8, rax | |
mov r13, r8 | |
jg .L1730 | |
sar rax | |
cmp r8, rax | |
jl .L1730 | |
mov QWORD PTR 16[r12], r8 | |
mov rcx, QWORD PTR 24[r12] | |
jmp .L1737 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1730: | |
mov rdx, r13 | |
xor eax, eax | |
sar rdx, 3 | |
add rdx, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add rdx, rax | |
movabs rax, 1152921504606846975 | |
cmp rdx, rax | |
ja .L1736 | |
test r13, r13 | |
je .L1763 | |
lea rsi, 0[0+rdx*8] | |
.L1735: | |
mov rdi, QWORD PTR 24[r12] | |
mov QWORD PTR 40[rsp], rcx | |
mov QWORD PTR 32[rsp], r10 | |
mov QWORD PTR 48[rsp], rdx | |
mov QWORD PTR 24[rsp], r9 | |
call PyMem_Realloc@PLT | |
test rax, rax | |
mov r10, QWORD PTR 32[rsp] | |
mov rcx, QWORD PTR 40[rsp] | |
je .L1736 | |
mov rdx, QWORD PTR 48[rsp] | |
mov QWORD PTR 24[r12], rax | |
mov rcx, rax | |
mov QWORD PTR 16[r12], r13 | |
mov r9, QWORD PTR 24[rsp] | |
mov QWORD PTR 32[r12], rdx | |
jmp .L1737 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1765: | |
xor esi, esi | |
xor r11d, r11d | |
jmp .L1742 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1801: | |
mov QWORD PTR 16[r12], r10 | |
mov rcx, QWORD PTR 24[r12] | |
jmp .L1739 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1763: | |
xor esi, esi | |
xor edx, edx | |
jmp .L1735 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1793: | |
lea rdi, .LC2[rip] | |
mov esi, 692 | |
mov ebx, -1 | |
call _PyErr_BadInternalCall@PLT | |
jmp .L1704 | |
.L1736: | |
mov QWORD PTR 24[rsp], rcx | |
mov QWORD PTR 8[rsp], r10 | |
call PyErr_NoMemory@PLT | |
mov rdx, QWORD PTR 56[rsp] | |
mov rsi, QWORD PTR 72[rsp] | |
mov rdi, QWORD PTR 64[rsp] | |
call memmove@PLT | |
mov rcx, QWORD PTR 24[rsp] | |
mov r10, QWORD PTR 8[rsp] | |
mov rsi, r15 | |
lea rdi, [rcx+rbx*8] | |
mov rdx, r10 | |
mov ebx, -1 | |
call memcpy@PLT | |
jmp .L1734 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1800: | |
call PyErr_NoMemory@PLT | |
mov ebx, -1 | |
jmp .L1728 | |
.L1743: | |
call PyErr_NoMemory@PLT | |
mov ebx, -1 | |
jmp .L1734 | |
.L1797: | |
call __stack_chk_fail@PLT | |
.L1760: | |
lea r15, 80[rsp] | |
mov QWORD PTR 16[rsp], r15 | |
jmp .L1726 | |
.cfi_endproc | |
.LFE153: | |
.size PyList_SetSlice, .-PyList_SetSlice | |
.p2align 4,,15 | |
.globl _PyList_Extend | |
.type _PyList_Extend, @function | |
_PyList_Extend: | |
.LFB161: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
lea rdx, PyTuple_Type[rip] | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
lea rcx, PyList_Type[rip] | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rbp, rsi | |
mov rbx, rdi | |
sub rsp, 24 | |
.cfi_def_cfa_offset 80 | |
mov rax, QWORD PTR 8[rsi] | |
cmp rax, rdx | |
sete dl | |
cmp rax, rcx | |
sete al | |
or dl, al | |
jne .L1858 | |
cmp rdi, rsi | |
jne .L1803 | |
.L1858: | |
lea rsi, .LC18[rip] | |
mov rdi, rbp | |
call PySequence_Fast@PLT | |
test rax, rax | |
mov rbp, rax | |
je .L1886 | |
mov r12, QWORD PTR 16[rax] | |
test r12, r12 | |
jne .L1807 | |
sub QWORD PTR [rax], 1 | |
jne .L1848 | |
mov rax, QWORD PTR 8[rax] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
.L1848: | |
add QWORD PTR _Py_NoneStruct[rip], 1 | |
lea rax, _Py_NoneStruct[rip] | |
.L1802: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1803: | |
.cfi_restore_state | |
mov rdi, rsi | |
call PyObject_GetIter@PLT | |
test rax, rax | |
mov r12, rax | |
je .L1886 | |
mov rax, QWORD PTR 8[rax] | |
mov esi, 8 | |
mov rdi, rbp | |
mov r13, QWORD PTR 224[rax] | |
call PyObject_LengthHint@PLT | |
test rax, rax | |
js .L1828 | |
mov rbp, QWORD PTR 16[rbx] | |
movabs rdx, 9223372036854775807 | |
sub rdx, rax | |
cmp rbp, rdx | |
jle .L1888 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1831: | |
mov rdi, r12 | |
call r13 | |
test rax, rax | |
mov r15, rax | |
je .L1889 | |
.L1832: | |
mov rbp, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jge .L1835 | |
mov rax, QWORD PTR 24[rbx] | |
mov rdi, r12 | |
mov QWORD PTR [rax+rbp*8], r15 | |
add rbp, 1 | |
mov QWORD PTR 16[rbx], rbp | |
call r13 | |
test rax, rax | |
mov r15, rax | |
jne .L1832 | |
.L1889: | |
call PyErr_Occurred@PLT | |
test rax, rax | |
je .L1833 | |
mov rdi, QWORD PTR PyExc_StopIteration[rip] | |
call PyErr_ExceptionMatches@PLT | |
test eax, eax | |
jne .L1890 | |
.L1828: | |
sub QWORD PTR [r12], 1 | |
jne .L1886 | |
mov rax, QWORD PTR 8[r12] | |
mov rdi, r12 | |
call [QWORD PTR 48[rax]] | |
.L1886: | |
add rsp, 24 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1807: | |
.cfi_restore_state | |
mov r15, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
lea r13, [r12+r15] | |
cmp r13, rax | |
jle .L1891 | |
.L1809: | |
mov r14, r13 | |
xor eax, eax | |
sar r14, 3 | |
add r14, r13 | |
cmp r13, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r14, rax | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L1816 | |
test r13, r13 | |
je .L1851 | |
lea rsi, 0[0+r14*8] | |
.L1815: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1816 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], r13 | |
mov QWORD PTR 32[rbx], r14 | |
.L1810: | |
mov r8, QWORD PTR 8[rbp] | |
lea rcx, 24[rbp] | |
test BYTE PTR 171[r8], 2 | |
je .L1818 | |
mov rcx, QWORD PTR 24[rbp] | |
.L1818: | |
sal r15, 3 | |
test r12, r12 | |
jle .L1819 | |
lea rsi, [rax+r15] | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1820: | |
mov rax, QWORD PTR [rcx+rdx*8] | |
add QWORD PTR [rax], 1 | |
mov QWORD PTR [rsi+rdx*8], rax | |
add rdx, 1 | |
cmp r12, rdx | |
jne .L1820 | |
.L1819: | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1848 | |
mov rdi, rbp | |
call [QWORD PTR 48[r8]] | |
jmp .L1848 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1891: | |
sar rax | |
cmp r13, rax | |
jl .L1809 | |
mov QWORD PTR 16[rbx], r13 | |
mov rax, QWORD PTR 24[rbx] | |
jmp .L1810 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1835: | |
movabs rsi, 9223372036854775807 | |
cmp rbp, rsi | |
je .L1892 | |
lea rcx, 1[rbp] | |
cmp rax, rcx | |
jl .L1839 | |
sar rax | |
cmp rcx, rax | |
jge .L1893 | |
.L1839: | |
mov r8, rcx | |
xor eax, eax | |
sar r8, 3 | |
add r8, rcx | |
cmp rcx, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
lea r14, [r8+rax] | |
movabs rax, 1152921504606846975 | |
cmp r14, rax | |
ja .L1844 | |
test rcx, rcx | |
je .L1855 | |
lea rsi, 0[0+r14*8] | |
.L1843: | |
mov rdi, QWORD PTR 24[rbx] | |
mov QWORD PTR 8[rsp], rcx | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1844 | |
mov rcx, QWORD PTR 8[rsp] | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 32[rbx], r14 | |
mov QWORD PTR 16[rbx], rcx | |
.L1840: | |
mov rcx, QWORD PTR [r15] | |
mov QWORD PTR [rax+rbp*8], r15 | |
test rcx, rcx | |
mov QWORD PTR [r15], rcx | |
jne .L1831 | |
mov rax, QWORD PTR 8[r15] | |
mov rdi, r15 | |
call [QWORD PTR 48[rax]] | |
jmp .L1831 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1855: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1843 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1893: | |
mov QWORD PTR 16[rbx], rcx | |
mov rax, QWORD PTR 24[rbx] | |
jmp .L1840 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1851: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1815 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1890: | |
call PyErr_Clear@PLT | |
.L1833: | |
mov rbp, QWORD PTR 16[rbx] | |
mov rax, QWORD PTR 32[rbx] | |
cmp rbp, rax | |
jl .L1894 | |
.L1845: | |
sub QWORD PTR [r12], 1 | |
jne .L1848 | |
mov rax, QWORD PTR 8[r12] | |
mov rdi, r12 | |
call [QWORD PTR 48[rax]] | |
jmp .L1848 | |
.L1816: | |
call PyErr_NoMemory@PLT | |
sub QWORD PTR 0[rbp], 1 | |
jne .L1886 | |
mov rax, QWORD PTR 8[rbp] | |
mov rdi, rbp | |
call [QWORD PTR 48[rax]] | |
xor eax, eax | |
jmp .L1802 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1888: | |
mov rdx, QWORD PTR 32[rbx] | |
add rax, rbp | |
cmp rax, rdx | |
jle .L1895 | |
.L1824: | |
mov r14, rax | |
xor edx, edx | |
sar r14, 3 | |
add r14, rax | |
cmp rax, 8 | |
setg dl | |
lea rdx, 3[rdx+rdx*2] | |
add r14, rdx | |
movabs rdx, 1152921504606846975 | |
cmp r14, rdx | |
ja .L1830 | |
test rax, rax | |
je .L1853 | |
lea rsi, 0[0+r14*8] | |
.L1829: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1830 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 32[rbx], r14 | |
.L1825: | |
mov QWORD PTR 16[rbx], rbp | |
jmp .L1831 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1895: | |
sar rdx | |
cmp rax, rdx | |
jl .L1824 | |
jmp .L1825 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1853: | |
xor esi, esi | |
xor r14d, r14d | |
jmp .L1829 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1894: | |
sar rax | |
cmp rbp, rax | |
jge .L1845 | |
mov r13, rbp | |
xor eax, eax | |
sar r13, 3 | |
add r13, rbp | |
cmp rbp, 8 | |
setg al | |
lea rax, 3[rax+rax*2] | |
add r13, rax | |
movabs rax, 1152921504606846975 | |
cmp r13, rax | |
ja .L1830 | |
test rbp, rbp | |
je .L1857 | |
lea rsi, 0[0+r13*8] | |
.L1847: | |
mov rdi, QWORD PTR 24[rbx] | |
call PyMem_Realloc@PLT | |
test rax, rax | |
je .L1830 | |
mov QWORD PTR 24[rbx], rax | |
mov QWORD PTR 16[rbx], rbp | |
mov QWORD PTR 32[rbx], r13 | |
jmp .L1845 | |
.L1857: | |
xor esi, esi | |
xor r13d, r13d | |
jmp .L1847 | |
.L1844: | |
call PyErr_NoMemory@PLT | |
.L1838: | |
sub QWORD PTR [r15], 1 | |
jne .L1828 | |
mov rax, QWORD PTR 8[r15] | |
mov rdi, r15 | |
call [QWORD PTR 48[rax]] | |
jmp .L1828 | |
.L1892: | |
mov rdi, QWORD PTR PyExc_OverflowError[rip] | |
lea rsi, .LC13[rip] | |
call PyErr_SetString@PLT | |
jmp .L1838 | |
.L1830: | |
call PyErr_NoMemory@PLT | |
jmp .L1828 | |
.cfi_endproc | |
.LFE161: | |
.size _PyList_Extend, .-_PyList_Extend | |
.p2align 4,,15 | |
.globl PyList_Sort | |
.type PyList_Sort, @function | |
PyList_Sort: | |
.LFB186: | |
.cfi_startproc | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
test rdi, rdi | |
je .L1897 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1897 | |
xor edx, edx | |
xor esi, esi | |
call list_sort_impl | |
test rax, rax | |
je .L1900 | |
sub QWORD PTR [rax], 1 | |
jne .L1901 | |
mov rdx, QWORD PTR 8[rax] | |
mov rdi, rax | |
call [QWORD PTR 48[rdx]] | |
xor eax, eax | |
.L1896: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1901: | |
.cfi_restore_state | |
xor eax, eax | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1897: | |
.cfi_restore_state | |
lea rdi, .LC2[rip] | |
mov esi, 2147 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
jmp .L1896 | |
.L1900: | |
mov eax, -1 | |
jmp .L1896 | |
.cfi_endproc | |
.LFE186: | |
.size PyList_Sort, .-PyList_Sort | |
.p2align 4,,15 | |
.globl PyList_Reverse | |
.type PyList_Reverse, @function | |
PyList_Reverse: | |
.LFB188: | |
.cfi_startproc | |
test rdi, rdi | |
je .L1907 | |
mov rax, QWORD PTR 8[rdi] | |
test BYTE PTR 171[rax], 2 | |
je .L1907 | |
mov rdx, QWORD PTR 16[rdi] | |
cmp rdx, 1 | |
jle .L1910 | |
mov rax, QWORD PTR 24[rdi] | |
lea rdx, -8[rax+rdx*8] | |
cmp rax, rdx | |
jnb .L1910 | |
.p2align 4,,10 | |
.p2align 3 | |
.L1911: | |
mov rcx, QWORD PTR [rax] | |
mov rsi, QWORD PTR [rdx] | |
add rax, 8 | |
sub rdx, 8 | |
mov QWORD PTR -8[rax], rsi | |
mov QWORD PTR 8[rdx], rcx | |
cmp rax, rdx | |
jb .L1911 | |
.L1910: | |
xor eax, eax | |
ret | |
.L1907: | |
lea rdi, .LC2[rip] | |
sub rsp, 8 | |
.cfi_def_cfa_offset 16 | |
mov esi, 2178 | |
call _PyErr_BadInternalCall@PLT | |
mov eax, -1 | |
add rsp, 8 | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE188: | |
.size PyList_Reverse, .-PyList_Reverse | |
.p2align 4,,15 | |
.globl PyList_AsTuple | |
.type PyList_AsTuple, @function | |
PyList_AsTuple: | |
.LFB189: | |
.cfi_startproc | |
push rbp | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 6, -16 | |
push rbx | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 3, -24 | |
sub rsp, 8 | |
.cfi_def_cfa_offset 32 | |
test rdi, rdi | |
je .L1920 | |
mov rax, QWORD PTR 8[rdi] | |
mov rbp, rdi | |
test BYTE PTR 171[rax], 2 | |
je .L1920 | |
mov rbx, QWORD PTR 16[rdi] | |
mov rdi, rbx | |
call PyTuple_New@PLT | |
test rax, rax | |
je .L1919 | |
mov rcx, rbx | |
lea rsi, 24[rax] | |
mov rdi, QWORD PTR 24[rbp] | |
sub rcx, 1 | |
js .L1919 | |
xor edx, edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L1923: | |
mov rcx, QWORD PTR [rdi+rdx*8] | |
add QWORD PTR [rcx], 1 | |
mov QWORD PTR [rsi+rdx*8], rcx | |
add rdx, 1 | |
cmp rbx, rdx | |
jne .L1923 | |
.L1919: | |
add rsp, 8 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 24 | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L1920: | |
.cfi_restore_state | |
lea rdi, .LC2[rip] | |
mov esi, 2193 | |
call _PyErr_BadInternalCall@PLT | |
add rsp, 8 | |
.cfi_def_cfa_offset 24 | |
xor eax, eax | |
pop rbx | |
.cfi_def_cfa_offset 16 | |
pop rbp | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE189: | |
.size PyList_AsTuple, .-PyList_AsTuple | |
.section .rodata.str1.1 | |
.LC28: | |
.string "key" | |
.LC29: | |
.string "reverse" | |
.section .data.rel.ro.local,"aw",@progbits | |
.align 16 | |
.type _keywords.13258, @object | |
.size _keywords.13258, 24 | |
_keywords.13258: | |
.quad .LC28 | |
.quad .LC29 | |
.quad 0 | |
.section .rodata.str1.1 | |
.LC30: | |
.string "|$Oi:sort" | |
.section .data.rel.local,"aw",@progbits | |
.align 32 | |
.type _parser.13259, @object | |
.size _parser.13259, 64 | |
_parser.13259: | |
.quad .LC30 | |
.quad _keywords.13258 | |
.quad 0 | |
.zero 40 | |
.globl PyListRevIter_Type | |
.section .rodata.str1.1 | |
.LC31: | |
.string "list_reverseiterator" | |
.section .data.rel,"aw",@progbits | |
.align 32 | |
.type PyListRevIter_Type, @object | |
.size PyListRevIter_Type, 400 | |
PyListRevIter_Type: | |
.quad 1 | |
.quad PyType_Type | |
.quad 0 | |
.quad .LC31 | |
.quad 32 | |
.quad 0 | |
.quad listreviter_dealloc | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad PyObject_GenericGetAttr | |
.quad 0 | |
.quad 0 | |
.quad 278528 | |
.quad 0 | |
.quad listreviter_traverse | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad PyObject_SelfIter | |
.quad listreviter_next | |
.quad listreviter_methods | |
.quad 0 | |
.zero 152 | |
.section .rodata.str1.1 | |
.LC32: | |
.string "__length_hint__" | |
.LC33: | |
.string "__reduce__" | |
.LC34: | |
.string "__setstate__" | |
.section .data.rel.local | |
.align 32 | |
.type listreviter_methods, @object | |
.size listreviter_methods, 128 | |
listreviter_methods: | |
.quad .LC32 | |
.quad listreviter_len | |
.long 4 | |
.zero 4 | |
.quad length_hint_doc | |
.quad .LC33 | |
.quad listreviter_reduce | |
.long 4 | |
.zero 4 | |
.quad reduce_doc | |
.quad .LC34 | |
.quad listreviter_setstate | |
.long 8 | |
.zero 4 | |
.quad setstate_doc | |
.quad 0 | |
.quad 0 | |
.zero 16 | |
.globl PyListIter_Type | |
.section .rodata.str1.1 | |
.LC35: | |
.string "list_iterator" | |
.section .data.rel | |
.align 32 | |
.type PyListIter_Type, @object | |
.size PyListIter_Type, 400 | |
PyListIter_Type: | |
.quad 1 | |
.quad PyType_Type | |
.quad 0 | |
.quad .LC35 | |
.quad 32 | |
.quad 0 | |
.quad listiter_dealloc | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad PyObject_GenericGetAttr | |
.quad 0 | |
.quad 0 | |
.quad 278528 | |
.quad 0 | |
.quad listiter_traverse | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad PyObject_SelfIter | |
.quad listiter_next | |
.quad listiter_methods | |
.quad 0 | |
.zero 152 | |
.section .data.rel.local | |
.align 32 | |
.type listiter_methods, @object | |
.size listiter_methods, 128 | |
listiter_methods: | |
.quad .LC32 | |
.quad listiter_len | |
.long 4 | |
.zero 4 | |
.quad length_hint_doc | |
.quad .LC33 | |
.quad listiter_reduce | |
.long 4 | |
.zero 4 | |
.quad reduce_doc | |
.quad .LC34 | |
.quad listiter_setstate | |
.long 8 | |
.zero 4 | |
.quad setstate_doc | |
.quad 0 | |
.quad 0 | |
.zero 16 | |
.data | |
.align 32 | |
.type setstate_doc, @object | |
.size setstate_doc, 38 | |
setstate_doc: | |
.string "Set state information for unpickling." | |
.align 32 | |
.type reduce_doc, @object | |
.size reduce_doc, 39 | |
reduce_doc: | |
.string "Return state information for pickling." | |
.align 32 | |
.type length_hint_doc, @object | |
.size length_hint_doc, 55 | |
length_hint_doc: | |
.string "Private method returning an estimate of len(list(it))." | |
.globl PyList_Type | |
.section .data.rel | |
.align 32 | |
.type PyList_Type, @object | |
.size PyList_Type, 400 | |
PyList_Type: | |
.quad 1 | |
.quad PyType_Type | |
.quad 0 | |
.quad .LC19 | |
.quad 40 | |
.quad 0 | |
.quad list_dealloc | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad list_repr | |
.quad 0 | |
.quad list_as_sequence | |
.quad list_as_mapping | |
.quad PyObject_HashNotImplemented | |
.quad 0 | |
.quad 0 | |
.quad PyObject_GenericGetAttr | |
.quad 0 | |
.quad 0 | |
.quad 33833984 | |
.quad list___init____doc__ | |
.quad list_traverse | |
.quad _list_clear | |
.quad list_richcompare | |
.quad 0 | |
.quad list_iter | |
.quad 0 | |
.quad list_methods | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad 0 | |
.quad list___init__ | |
.quad PyType_GenericAlloc | |
.quad PyType_GenericNew | |
.quad PyObject_GC_Del | |
.zero 72 | |
.section .data.rel.local | |
.align 16 | |
.type list_as_mapping, @object | |
.size list_as_mapping, 24 | |
list_as_mapping: | |
.quad list_length | |
.quad list_subscript | |
.quad list_ass_subscript | |
.align 32 | |
.type list_as_sequence, @object | |
.size list_as_sequence, 80 | |
list_as_sequence: | |
.quad list_length | |
.quad list_concat | |
.quad list_repeat | |
.quad list_item | |
.quad 0 | |
.quad list_ass_item | |
.quad 0 | |
.quad list_contains | |
.quad list_inplace_concat | |
.quad list_inplace_repeat | |
.section .rodata.str1.1 | |
.LC36: | |
.string "__getitem__" | |
.LC37: | |
.string "x.__getitem__(y) <==> x[y]" | |
.LC38: | |
.string "__reversed__" | |
.LC39: | |
.string "__sizeof__" | |
.LC40: | |
.string "clear" | |
.LC41: | |
.string "copy" | |
.LC42: | |
.string "append" | |
.LC43: | |
.string "insert" | |
.LC44: | |
.string "extend" | |
.LC45: | |
.string "pop" | |
.LC46: | |
.string "remove" | |
.LC47: | |
.string "index" | |
.LC48: | |
.string "count" | |
.LC49: | |
.string "sort" | |
.section .data.rel.local | |
.align 32 | |
.type list_methods, @object | |
.size list_methods, 480 | |
list_methods: | |
.quad .LC36 | |
.quad list_subscript | |
.long 72 | |
.zero 4 | |
.quad .LC37 | |
.quad .LC38 | |
.quad list___reversed__ | |
.long 4 | |
.zero 4 | |
.quad list___reversed____doc__ | |
.quad .LC39 | |
.quad list___sizeof__ | |
.long 4 | |
.zero 4 | |
.quad list___sizeof____doc__ | |
.quad .LC40 | |
.quad list_clear | |
.long 4 | |
.zero 4 | |
.quad list_clear__doc__ | |
.quad .LC41 | |
.quad list_copy | |
.long 4 | |
.zero 4 | |
.quad list_copy__doc__ | |
.quad .LC42 | |
.quad list_append | |
.long 8 | |
.zero 4 | |
.quad list_append__doc__ | |
.quad .LC43 | |
.quad list_insert | |
.long 128 | |
.zero 4 | |
.quad list_insert__doc__ | |
.quad .LC44 | |
.quad list_extend | |
.long 8 | |
.zero 4 | |
.quad list_extend__doc__ | |
.quad .LC45 | |
.quad list_pop | |
.long 128 | |
.zero 4 | |
.quad list_pop__doc__ | |
.quad .LC46 | |
.quad list_remove | |
.long 8 | |
.zero 4 | |
.quad list_remove__doc__ | |
.quad .LC47 | |
.quad list_index | |
.long 128 | |
.zero 4 | |
.quad list_index__doc__ | |
.quad .LC48 | |
.quad list_count | |
.long 8 | |
.zero 4 | |
.quad list_count__doc__ | |
.quad .LC29 | |
.quad list_reverse | |
.long 4 | |
.zero 4 | |
.quad list_reverse__doc__ | |
.quad .LC49 | |
.quad list_sort | |
.long 130 | |
.zero 4 | |
.quad list_sort__doc__ | |
.quad 0 | |
.quad 0 | |
.zero 16 | |
.local indexerr | |
.comm indexerr,8,8 | |
.local numfree | |
.comm numfree,4,4 | |
.local free_list | |
.comm free_list,640,32 | |
.data | |
.align 32 | |
.type list___reversed____doc__, @object | |
.size list___reversed____doc__, 68 | |
list___reversed____doc__: | |
.string "__reversed__($self, /)\n--\n\nReturn a reverse iterator over the list." | |
.align 32 | |
.type list___sizeof____doc__, @object | |
.size list___sizeof____doc__, 74 | |
list___sizeof____doc__: | |
.string "__sizeof__($self, /)\n--\n\nReturn the size of the list in memory, in bytes." | |
.align 32 | |
.type list___init____doc__, @object | |
.size list___init____doc__, 167 | |
list___init____doc__: | |
.string "list(iterable=(), /)\n--\n\nBuilt-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified." | |
.align 32 | |
.type list_remove__doc__, @object | |
.size list_remove__doc__, 110 | |
list_remove__doc__: | |
.string "remove($self, value, /)\n--\n\nRemove first occurrence of value.\n\nRaises ValueError if the value is not present." | |
.align 32 | |
.type list_count__doc__, @object | |
.size list_count__doc__, 66 | |
list_count__doc__: | |
.string "count($self, value, /)\n--\n\nReturn number of occurrences of value." | |
.align 32 | |
.type list_index__doc__, @object | |
.size list_index__doc__, 131 | |
list_index__doc__: | |
.string "index($self, value, start=0, stop=sys.maxsize, /)\n--\n\nReturn first index of value.\n\nRaises ValueError if the value is not present." | |
.align 32 | |
.type list_reverse__doc__, @object | |
.size list_reverse__doc__, 42 | |
list_reverse__doc__: | |
.string "reverse($self, /)\n--\n\nReverse *IN PLACE*." | |
.align 32 | |
.type list_sort__doc__, @object | |
.size list_sort__doc__, 71 | |
list_sort__doc__: | |
.string "sort($self, /, *, key=None, reverse=False)\n--\n\nStable sort *IN PLACE*." | |
.align 32 | |
.type list_pop__doc__, @object | |
.size list_pop__doc__, 138 | |
list_pop__doc__: | |
.string "pop($self, index=-1, /)\n--\n\nRemove and return item at index (default last).\n\nRaises IndexError if list is empty or index is out of range." | |
.align 32 | |
.type list_extend__doc__, @object | |
.size list_extend__doc__, 84 | |
list_extend__doc__: | |
.string "extend($self, iterable, /)\n--\n\nExtend list by appending elements from the iterable." | |
.align 32 | |
.type list_append__doc__, @object | |
.size list_append__doc__, 67 | |
list_append__doc__: | |
.string "append($self, object, /)\n--\n\nAppend object to the end of the list." | |
.align 32 | |
.type list_copy__doc__, @object | |
.size list_copy__doc__, 54 | |
list_copy__doc__: | |
.string "copy($self, /)\n--\n\nReturn a shallow copy of the list." | |
.align 32 | |
.type list_clear__doc__, @object | |
.size list_clear__doc__, 48 | |
list_clear__doc__: | |
.string "clear($self, /)\n--\n\nRemove all items from list." | |
.align 32 | |
.type list_insert__doc__, @object | |
.size list_insert__doc__, 64 | |
list_insert__doc__: | |
.string "insert($self, index, object, /)\n--\n\nInsert object before index." | |
.ident "GCC: (Ubuntu 7.2.0-8ubuntu3) 7.2.0" | |
.section .note.GNU-stack,"",@progbits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment