Created
June 4, 2016 04:45
-
-
Save agocke/696b2ab4c1fe8f1c333f81ba9ae3e4f3 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
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