Skip to content

Instantly share code, notes, and snippets.

@agocke
Created June 4, 2016 04:45
Show Gist options
  • Save agocke/696b2ab4c1fe8f1c333f81ba9ae3e4f3 to your computer and use it in GitHub Desktop.
Save agocke/696b2ab4c1fe8f1c333f81ba9ae3e4f3 to your computer and use it in GitHub Desktop.
20000100000
20000100000
20000100000
20000100000
20000100000
20000100000
; Assembly listing for method Name.Program:IfeHelper(struct):long:this
; Emitting BLENDED_CODE for X64 CPU with AVX
; optimized code
; rbp based frame
; fully interruptible
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this
;* V01 arg1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op
; V02 loc0 [V02,T07] ( 4, 10 ) long -> r14
; V03 loc1 [V03,T01] ( 4, 13 ) int -> multi-reg ld-addr-op
; V04 loc2 [V04,T03] ( 3, 12 ) bool -> r12 ld-addr-op
; V05 loc3 [V05,T05] ( 2, 12 ) int -> rax
; V06 tmp0 [V06,T04] ( 3, 12 ) int -> rax
;* V07 tmp1 [V07 ] ( 0, 0 ) int -> zero-ref
;* V08 tmp2 [V08 ] ( 0, 0 ) int -> zero-ref ld-addr-op
; V09 tmp3 [V09,T06] ( 5, 10 ) int -> r15
;* V10 tmp4 [V10,T08] ( 0, 0 ) ref -> zero-ref
;* V11 tmp5 [V11 ] ( 0, 0 ) ref -> zero-ref ld-addr-op
; V12 tmp6 [V12,T00] ( 4, 13 ) ref -> rbx V01._backing(offs=0x00) P-INDEP
; V13 tmp7 [V13,T02] ( 3, 12 ) ref -> rax
;# V14 OutArgs [V14 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00]
;
; Lcl frame size = 8
G_M7644_IG01:
55 push rbp
4157 push r15
4156 push r14
4155 push r13
4154 push r12
53 push rbx
50 push rax
488D6C2430 lea rbp, [rsp+30H]
488BDE mov rbx, rsi
G_M7644_IG02:
4533F6 xor r14, r14
4533FF xor r15d, r15d
G_M7644_IG03:
443B7B18 cmp r15d, dword ptr [rbx+24]
7D36 jge SHORT G_M7644_IG05
41BC01000000 mov r12d, 1
418D7F01 lea edi, [r15+1]
448BEF mov r13d, edi
443B7B18 cmp r15d, dword ptr [rbx+24]
720F jb SHORT G_M7644_IG04
BF0D000000 mov edi, 13
BE16000000 mov esi, 22
E85F19A7FF call System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
G_M7644_IG04:
488B4308 mov rax, gword ptr [rbx+8]
443B7808 cmp r15d, dword ptr [rax+8]
7334 jae SHORT G_M7644_IG09
4963FF movsxd rdi, r15d
8B44B810 mov eax, dword ptr [rax+4*rdi+16]
EB09 jmp SHORT G_M7644_IG06
G_M7644_IG05:
4533E4 xor r12d, r12d
33C0 xor eax, eax
458BEF mov r13d, r15d
G_M7644_IG06:
4585E4 test r12d, r12d
740B je SHORT G_M7644_IG07
4863C0 movsxd rax, eax
4C03F0 add r14, rax
458BFD mov r15d, r13d
EBAD jmp SHORT G_M7644_IG03
G_M7644_IG07:
498BC6 mov rax, r14
G_M7644_IG08:
488D65D8 lea rsp, [rbp-28H]
5B pop rbx
415C pop r12
415D pop r13
415E pop r14
415F pop r15
5D pop rbp
C3 ret
G_M7644_IG09:
E88D9539F9 call CORINFO_HELP_RNGCHKFAIL
CC int3
; Total bytes of code 132, prolog size 19 for method Name.Program:IfeHelper(struct):long:this
; ============================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment