Last active
August 18, 2025 20:27
-
-
Save atifaziz/0b9aecbb5c8c477ef46be6e5afaff7f2 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
| ; Assembly listing for method CSnakes.Runtime.Python.PyObject:Call(System.ReadOnlySpan`1[CSnakes.Runtime.Python.PyObject],System.ReadOnlySpan`1[CSnakes.Runtime.Python.PyObject]):CSnakes.Runtime.Python.PyObject:this (FullOpts) | |
| ; Emitting BLENDED_CODE for X64 with AVX - Windows | |
| ; FullOpts code | |
| ; optimized code | |
| ; rsp based frame | |
| ; partially interruptible | |
| ; No PGO data | |
| ; 15 inlinees with PGO data; 15 single block inlinees; 4 inlinees without PGO data | |
| G_M000_IG01: | |
| push r15 | |
| push r14 | |
| push r13 | |
| push r12 | |
| push rdi | |
| push rsi | |
| push rbp | |
| push rbx | |
| sub rsp, 184 | |
| xor eax, eax | |
| mov qword ptr [rsp+0x28], rax | |
| vxorps xmm4, xmm4, xmm4 | |
| vmovdqu ymmword ptr [rsp+0x30], ymm4 | |
| vmovdqu ymmword ptr [rsp+0x50], ymm4 | |
| vmovdqu ymmword ptr [rsp+0x70], ymm4 | |
| vmovdqu ymmword ptr [rsp+0x90], ymm4 | |
| mov qword ptr [rsp+0xB0], rax | |
| mov rbx, rcx | |
| G_M000_IG02: | |
| mov rsi, bword ptr [r8] | |
| mov edi, dword ptr [r8+0x08] | |
| mov rbp, bword ptr [rdx] | |
| mov r14d, dword ptr [rdx+0x08] | |
| test edi, edi | |
| jne SHORT G_M000_IG05 | |
| G_M000_IG03: | |
| mov bword ptr [rsp+0x28], rbp | |
| mov dword ptr [rsp+0x30], r14d | |
| lea rdx, [rsp+0x28] | |
| mov rcx, rbx | |
| call [CSnakes.Runtime.Python.PyObject:Call(System.ReadOnlySpan`1[CSnakes.Runtime.Python.PyObject]):CSnakes.Runtime.Python.PyObject:this] | |
| nop | |
| G_M000_IG04: | |
| add rsp, 184 | |
| pop rbx | |
| pop rbp | |
| pop rsi | |
| pop rdi | |
| pop r12 | |
| pop r13 | |
| pop r14 | |
| pop r15 | |
| ret | |
| G_M000_IG05: | |
| test r14d, r14d | |
| jne SHORT G_M000_IG07 | |
| mov bword ptr [rsp+0x28], rsi | |
| mov dword ptr [rsp+0x30], edi | |
| lea rdx, [rsp+0x28] | |
| mov rcx, rbx | |
| call [CSnakes.Runtime.Python.PyObject:Call(System.ReadOnlySpan`1[CSnakes.Runtime.Python.PyObject]):CSnakes.Runtime.Python.PyObject:this] | |
| nop | |
| G_M000_IG06: | |
| add rsp, 184 | |
| pop rbx | |
| pop rbp | |
| pop rsi | |
| pop rdi | |
| pop r12 | |
| pop r13 | |
| pop r14 | |
| pop r15 | |
| ret | |
| G_M000_IG07: | |
| lea r15d, [r14+rdi] | |
| cmp r15d, 16 | |
| jle G_M000_IG13 | |
| lea edx, [r14+rdi] | |
| movsxd rdx, edx | |
| mov rcx, 0xD1FFAB1E | |
| call CORINFO_HELP_NEWARR_1_OBJ | |
| mov r13, rax | |
| lea rcx, bword ptr [r13+0x10] | |
| mov edx, dword ptr [r13+0x08] | |
| cmp r14d, edx | |
| ja G_M000_IG23 | |
| mov r15d, r14d | |
| shl r15, 3 | |
| mov r8, r15 | |
| cmp r8, 0x4000 | |
| ja G_M000_IG19 | |
| G_M000_IG08: | |
| mov rdx, rbp | |
| call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,ulong) | |
| G_M000_IG09: | |
| lea rcx, bword ptr [r13+0x10] | |
| mov edx, dword ptr [r13+0x08] | |
| mov r8d, r14d | |
| mov eax, edi | |
| add r8, rax | |
| cmp r8, rdx | |
| ja G_M000_IG23 | |
| add rcx, r15 | |
| mov r8d, edi | |
| shl r8, 3 | |
| cmp r8, 0x4000 | |
| ja G_M000_IG20 | |
| G_M000_IG10: | |
| mov rdx, rsi | |
| call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,ulong) | |
| G_M000_IG11: | |
| lea rdx, bword ptr [r13+0x10] | |
| mov ecx, dword ptr [r13+0x08] | |
| mov bword ptr [rsp+0x28], rdx | |
| mov dword ptr [rsp+0x30], ecx | |
| lea rdx, [rsp+0x28] | |
| mov rcx, rbx | |
| call [CSnakes.Runtime.Python.PyObject:Call(System.ReadOnlySpan`1[CSnakes.Runtime.Python.PyObject]):CSnakes.Runtime.Python.PyObject:this] | |
| nop | |
| G_M000_IG12: | |
| add rsp, 184 | |
| pop rbx | |
| pop rbp | |
| pop rsi | |
| pop rdi | |
| pop r12 | |
| pop r13 | |
| pop r14 | |
| pop r15 | |
| ret | |
| G_M000_IG13: | |
| vxorps ymm0, ymm0, ymm0 | |
| vmovdqu ymmword ptr [rsp+0x38], ymm0 | |
| vmovdqu ymmword ptr [rsp+0x58], ymm0 | |
| vmovdqu ymmword ptr [rsp+0x78], ymm0 | |
| vmovdqu ymmword ptr [rsp+0x98], ymm0 | |
| cmp r14d, 16 | |
| ja G_M000_IG24 | |
| mov ecx, r14d | |
| shl rcx, 3 | |
| mov r12, rcx | |
| mov r8, r12 | |
| cmp r8, 0x4000 | |
| ja G_M000_IG21 | |
| G_M000_IG14: | |
| lea rcx, bword ptr [rsp+0x38] | |
| mov rdx, rbp | |
| call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,ulong) | |
| G_M000_IG15: | |
| mov ecx, r14d | |
| neg ecx | |
| add ecx, 16 | |
| mov edx, r14d | |
| mov r8d, ecx | |
| add rdx, r8 | |
| cmp rdx, 16 | |
| ja G_M000_IG23 | |
| lea rdx, bword ptr [rsp+0x38] | |
| add rdx, r12 | |
| cmp edi, ecx | |
| ja G_M000_IG24 | |
| mov r8d, edi | |
| shl r8, 3 | |
| cmp r8, 0x4000 | |
| ja SHORT G_M000_IG22 | |
| G_M000_IG16: | |
| mov rcx, rdx | |
| mov rdx, rsi | |
| call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,ulong) | |
| G_M000_IG17: | |
| cmp r15d, 16 | |
| ja SHORT G_M000_IG23 | |
| lea rdx, bword ptr [rsp+0x38] | |
| mov bword ptr [rsp+0x28], rdx | |
| mov dword ptr [rsp+0x30], r15d | |
| lea rdx, [rsp+0x28] | |
| mov rcx, rbx | |
| call [CSnakes.Runtime.Python.PyObject:Call(System.ReadOnlySpan`1[CSnakes.Runtime.Python.PyObject]):CSnakes.Runtime.Python.PyObject:this] | |
| nop | |
| G_M000_IG18: | |
| add rsp, 184 | |
| pop rbx | |
| pop rbp | |
| pop rsi | |
| pop rdi | |
| pop r12 | |
| pop r13 | |
| pop r14 | |
| pop r15 | |
| ret | |
| G_M000_IG19: | |
| mov rdx, rbp | |
| call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)] | |
| jmp G_M000_IG09 | |
| G_M000_IG20: | |
| mov rdx, rsi | |
| call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)] | |
| jmp G_M000_IG11 | |
| G_M000_IG21: | |
| lea rcx, bword ptr [rsp+0x38] | |
| mov rdx, rbp | |
| call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)] | |
| jmp G_M000_IG15 | |
| G_M000_IG22: | |
| mov rcx, rdx | |
| mov rdx, rsi | |
| call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)] | |
| jmp SHORT G_M000_IG17 | |
| G_M000_IG23: | |
| call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] | |
| int3 | |
| G_M000_IG24: | |
| call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] | |
| int3 | |
| ; Total bytes of code 656 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment