Created
October 7, 2020 04:55
-
-
Save coolreader18/c67e4ddfb46db37900e7f7ccd77d98aa to your computer and use it in GitHub Desktop.
This file contains hidden or 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
rustpython_vm::frame::ExecutingFrame::run: | |
push rbp | |
push r15 | |
push r14 | |
push r13 | |
push r12 | |
push rbx | |
sub rsp, 216 | |
mov r14, rdx | |
mov r15, rsi | |
mov qword, ptr, [rsp], rdi | |
mov qword, ptr, [rsp, +, 8], rsi | |
jmp .LBB3241_1 | |
.LBB3241_13: | |
cmp dword, ptr, [rsp, +, 120], 2 | |
jne .LBB3241_14 | |
.LBB3241_1: | |
mov rsi, qword, ptr, [r15] | |
mov rax, qword, ptr, [rsi, +, 8] | |
mov rcx, qword, ptr, [rax, +, 16] | |
mov rdx, rcx | |
cmp rcx, 8 | |
ja .LBB3241_3 | |
mov edx, 8 | |
.LBB3241_3: | |
mov rdi, rdx | |
neg rdi | |
add rdx, 15 | |
and rdx, rdi | |
add rdx, qword, ptr, [rsi] | |
lea rdi, [rcx, +, 39] | |
neg rcx | |
and rdi, rcx | |
add rdi, rdx | |
call qword, ptr, [rax, +, 24] | |
mov rbp, rax | |
mov rdi, rax | |
call qword, ptr, [rdx, +, 24] | |
movabs rcx, -7858531083242178456 | |
cmp rax, rcx | |
je .LBB3241_5 | |
xor ebp, ebp | |
.LBB3241_5: | |
mov rax, qword, ptr, [r15, +, 24] | |
mov rdi, qword, ptr, [rax] | |
mov rsi, qword, ptr, [rbp, +, 96] | |
cmp rsi, rdi | |
jbe .LBB3241_52 | |
mov rax, qword, ptr, [rbp, +, 80] | |
shl rdi, 4 | |
movups xmm0, xmmword, ptr, [rax, +, rdi] | |
movaps xmmword, ptr, [rsp, +, 192], xmm0 | |
mov rdi, r14 | |
call qword, ptr, [rip, +, _ZN13rustpython_vm6stdlib6signal13check_signals17h183d27e8c5cfddb2E@GOTPCREL] | |
test rax, rax | |
je .LBB3241_7 | |
mov qword, ptr, [rsp, +, 120], rax | |
mov qword, ptr, [rsp, +, 128], rdx | |
mov qword, ptr, [rsp, +, 112], 1 | |
jmp .LBB3241_16 | |
.LBB3241_7: | |
mov rsi, qword, ptr, [r15] | |
mov rax, qword, ptr, [rsi, +, 8] | |
mov rcx, qword, ptr, [rax, +, 16] | |
mov rdx, rcx | |
cmp rcx, 8 | |
ja .LBB3241_9 | |
mov edx, 8 | |
.LBB3241_9: | |
mov rdi, rdx | |
neg rdi | |
add rdx, 15 | |
and rdx, rdi | |
add rdx, qword, ptr, [rsi] | |
lea rdi, [rcx, +, 39] | |
neg rcx | |
and rdi, rcx | |
add rdi, rdx | |
call qword, ptr, [rax, +, 24] | |
mov rbp, rax | |
mov rdi, rax | |
call qword, ptr, [rdx, +, 24] | |
movabs rcx, -7858531083242178456 | |
cmp rax, rcx | |
je .LBB3241_11 | |
xor ebp, ebp | |
.LBB3241_11: | |
mov rax, qword, ptr, [r15, +, 24] | |
mov edi, 1 | |
lock xadd, qword, ptr, [rax], rdi | |
mov rsi, qword, ptr, [rbp, +, 16] | |
cmp rsi, rdi | |
jbe .LBB3241_53 | |
mov rax, qword, ptr, [rbp] | |
shl rdi, 6 | |
lea rsi, [rax, +, rdi] | |
movzx eax, byte, ptr, [rax, +, rdi] | |
lea rdi, [rsp, +, 112] | |
mov rdx, r15 | |
mov rcx, r14 | |
lea rbp, [rip, +, .Lswitch.table._ZN13rustpython_vm5frame14ExecutingFrame3run17h890ffadb7c8de8edE] | |
call qword, ptr, [rbp, +, 8*rax] | |
cmp dword, ptr, [rsp, +, 112], 1 | |
jne .LBB3241_13 | |
.LBB3241_16: | |
mov rax, qword, ptr, [rsp, +, 120] | |
mov rcx, qword, ptr, [rsp, +, 128] | |
mov qword, ptr, [rsp, +, 16], rax | |
mov qword, ptr, [rsp, +, 24], rcx | |
mov rdx, qword, ptr, [rcx, +, 16] | |
cmp rdx, 8 | |
mov esi, 8 | |
cmova rsi, rdx | |
mov rdi, rsi | |
neg rdi | |
add rsi, 15 | |
and rsi, rdi | |
add rsi, rax | |
lea rdi, [rdx, +, 39] | |
neg rdx | |
and rdi, rdx | |
add rdi, rsi | |
call qword, ptr, [rcx, +, 24] | |
mov r12, rax | |
mov rdi, rax | |
call qword, ptr, [rdx, +, 24] | |
movabs rcx, 5575715528315283589 | |
cmp rax, rcx | |
je .LBB3241_20 | |
xor r12d, r12d | |
.LBB3241_20: | |
mov rax, qword, ptr, [r12] | |
test al, 8 | |
jne .LBB3241_23 | |
mov rcx, rax | |
add rcx, 16 | |
jb .LBB3241_23 | |
lock cmpxchg, qword, ptr, [r12], rcx | |
je .LBB3241_24 | |
.LBB3241_23: | |
mov qword, ptr, [rsp, +, 32], 0 | |
mov rdi, r12 | |
xor esi, esi | |
lea rdx, [rsp, +, 32] | |
call qword, ptr, [rip, +, _ZN11parking_lot10raw_rwlock9RawRwLock16lock_shared_slow17h48e81e29c313decdE@GOTPCREL] | |
.LBB3241_24: | |
mov r15, qword, ptr, [r12, +, 8] | |
test r15, r15 | |
je .LBB3241_25 | |
mov r13, qword, ptr, [r12, +, 16] | |
lock add, qword, ptr, [r15], 1 | |
jg .LBB3241_27 | |
jmp .LBB3241_54 | |
.LBB3241_25: | |
xor r15d, r15d | |
.LBB3241_27: | |
mov rax, -16 | |
lock xadd, qword, ptr, [r12], rax | |
and rax, -14 | |
cmp rax, 18 | |
jne .LBB3241_29 | |
mov rdi, r12 | |
call qword, ptr, [rip, +, _ZN11parking_lot10raw_rwlock9RawRwLock18unlock_shared_slow17h279bb5688054ec33E@GOTPCREL] | |
.LBB3241_29: | |
mov qword, ptr, [rsp, +, 88], r15 | |
mov qword, ptr, [rsp, +, 96], r13 | |
mov rcx, qword, ptr, [rsp, +, 8] | |
mov rax, qword, ptr, [rcx, +, 16] | |
mov rbp, qword, ptr, [rax] | |
mov rbx, qword, ptr, [rax, +, 8] | |
lock add, qword, ptr, [rbp], 1 | |
jle .LBB3241_54 | |
mov qword, ptr, [rsp, +, 32], rbp | |
mov qword, ptr, [rsp, +, 40], rbx | |
mov rax, qword, ptr, [rcx, +, 24] | |
mov r12, qword, ptr, [rax] | |
lea rdi, [rsp, +, 192] | |
call qword, ptr, [rip, +, _ZN19rustpython_bytecode8bytecode8Location3row17h1b6618a58cccc1fbE@GOTPCREL] | |
mov qword, ptr, [rsp, +, 144], r15 | |
mov qword, ptr, [rsp, +, 152], r13 | |
mov qword, ptr, [rsp, +, 160], rbp | |
mov qword, ptr, [rsp, +, 168], rbx | |
mov qword, ptr, [rsp, +, 176], r12 | |
mov qword, ptr, [rsp, +, 184], rax | |
mov r12, qword, ptr, [rsp, +, 16] | |
mov rbx, qword, ptr, [rsp, +, 24] | |
mov rax, qword, ptr, [rbx, +, 16] | |
cmp rax, 8 | |
mov ecx, 8 | |
cmova rcx, rax | |
mov rdx, rcx | |
neg rdx | |
add rcx, 15 | |
and rcx, rdx | |
add rcx, r12 | |
lea rdi, [rax, +, 39] | |
neg rax | |
and rdi, rax | |
add rdi, rcx | |
call qword, ptr, [rbx, +, 24] | |
mov rbp, rax | |
mov rdi, rax | |
call qword, ptr, [rdx, +, 24] | |
movabs rcx, 5575715528315283589 | |
cmp rax, rcx | |
mov r15, qword, ptr, [rsp, +, 8] | |
je .LBB3241_35 | |
xor ebp, ebp | |
.LBB3241_35: | |
movups xmm0, xmmword, ptr, [rsp, +, 144] | |
movups xmm1, xmmword, ptr, [rsp, +, 160] | |
movups xmm2, xmmword, ptr, [rsp, +, 176] | |
movaps xmmword, ptr, [rsp, +, 64], xmm2 | |
movaps xmmword, ptr, [rsp, +, 48], xmm1 | |
movaps xmmword, ptr, [rsp, +, 32], xmm0 | |
mov rax, qword, ptr, [r14, +, 32] | |
mov rsi, qword, ptr, [rax, +, 1120] | |
mov rdx, qword, ptr, [rax, +, 1128] | |
lock add, qword, ptr, [rsi], 1 | |
jle .LBB3241_54 | |
mov rcx, r14 | |
lea rdi, [rsp, +, 32] | |
call rustpython_vm::pyobject::PyValue::into_ref_with_type_unchecked | |
mov rdi, rbp | |
mov rsi, rax | |
call qword, ptr, [rip, +, _ZN13rustpython_vm10exceptions15PyBaseException13set_traceback17h96882aef8922a862E@GOTPCREL] | |
mov qword, ptr, [rsp, +, 96], r12 | |
mov qword, ptr, [rsp, +, 104], rbx | |
mov qword, ptr, [rsp, +, 88], 1 | |
lea rdi, [rsp, +, 32] | |
mov rsi, r15 | |
mov rdx, r14 | |
lea rcx, [rsp, +, 88] | |
call rustpython_vm::frame::ExecutingFrame::unwind_blocks | |
cmp dword, ptr, [rsp, +, 32], 1 | |
je .LBB3241_55 | |
cmp dword, ptr, [rsp, +, 40], 2 | |
je .LBB3241_1 | |
lea rdx, [rsp, +, 40] | |
mov rax, qword, ptr, [rdx, +, 16] | |
mov rcx, qword, ptr, [rsp] | |
mov qword, ptr, [rcx, +, 24], rax | |
movups xmm0, xmmword, ptr, [rdx] | |
movups xmmword, ptr, [rcx, +, 8], xmm0 | |
xor eax, eax | |
jmp .LBB3241_42 | |
.LBB3241_55: | |
movups xmm0, xmmword, ptr, [rsp, +, 40] | |
mov rcx, qword, ptr, [rsp] | |
movups xmmword, ptr, [rcx, +, 8], xmm0 | |
mov eax, 1 | |
.LBB3241_42: | |
mov qword, ptr, [rcx], rax | |
.LBB3241_43: | |
add rsp, 216 | |
pop rbx | |
pop r12 | |
pop r13 | |
pop r14 | |
pop r15 | |
pop rbp | |
ret | |
.LBB3241_14: | |
lea rdx, [rsp, +, 120] | |
mov rax, qword, ptr, [rdx, +, 16] | |
mov rcx, qword, ptr, [rsp] | |
mov qword, ptr, [rcx, +, 24], rax | |
movups xmm0, xmmword, ptr, [rdx] | |
movups xmmword, ptr, [rcx, +, 8], xmm0 | |
mov qword, ptr, [rcx], 0 | |
jmp .LBB3241_43 | |
.LBB3241_54: | |
ud2 | |
ud2 | |
.LBB3241_52: | |
lea rdx, [rip, +, .L__unnamed_815] | |
call qword, ptr, [rip, +, _ZN4core9panicking18panic_bounds_check17hbdc398d43c7789beE@GOTPCREL] | |
ud2 | |
.LBB3241_53: | |
lea rdx, [rip, +, .L__unnamed_816] | |
call qword, ptr, [rip, +, _ZN4core9panicking18panic_bounds_check17hbdc398d43c7789beE@GOTPCREL] | |
ud2 | |
.LBB3241_49: | |
mov rbx, rax | |
lea rdi, [rsp, +, 32] | |
call core::ptr::drop_in_place | |
lea rdi, [rsp, +, 88] | |
call core::ptr::drop_in_place | |
jmp .LBB3241_46 | |
.LBB3241_48: | |
mov rbx, rax | |
jmp .LBB3241_47 | |
.LBB3241_44: | |
jmp .LBB3241_45 | |
.LBB3241_50: | |
mov rbx, rax | |
lea rdi, [rsp, +, 144] | |
call core::ptr::drop_in_place | |
jmp .LBB3241_46 | |
.LBB3241_51: | |
.LBB3241_45: | |
mov rbx, rax | |
.LBB3241_46: | |
lea rdi, [rsp, +, 16] | |
call core::ptr::drop_in_place | |
.LBB3241_47: | |
mov rdi, rbx | |
call _Unwind_Resume | |
ud2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment