Skip to content

Instantly share code, notes, and snippets.

@atifaziz
Last active August 18, 2025 20:27
Show Gist options
  • Select an option

  • Save atifaziz/0b9aecbb5c8c477ef46be6e5afaff7f2 to your computer and use it in GitHub Desktop.

Select an option

Save atifaziz/0b9aecbb5c8c477ef46be6e5afaff7f2 to your computer and use it in GitHub Desktop.
; 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