Skip to content

Instantly share code, notes, and snippets.

@mattwarren
Created September 23, 2014 17:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattwarren/e2bdb25a17eb785295d1 to your computer and use it in GitHub Desktop.
Save mattwarren/e2bdb25a17eb785295d1 to your computer and use it in GitHub Desktop.
Profile Direct with Store (BROKEN)
; 324: for (int i = 0; i < iterations; i++)
000001c8 mov r12d,dword ptr [rbp+68h]
000001cc test r12d,r12d
000001cf jle 0000000000000209
000001d1 xor ebx,ebx
; 325: {
; 326: resultObject = Math.Sqrt(123.456); // FAIL this is boxing a double -> object
000001d3 sqrtsd xmm0,mmword ptr [00000398h]
000001db movsd mmword ptr [rbp+20h],xmm0
000001e0 lea rdx,[rbp+20h]
000001e4 lea rcx,[5E60D2E8h]
000001eb call 000000005F64FE50
000001f0 mov rdx,rax
000001f3 mov rcx,129C5750h
000001fd call 000000005F64E900
; 324: for (int i = 0; i < iterations; i++)
00000202 inc ebx
00000204 cmp ebx,r12d
00000207 jl 00000000000001D3
; 327: }
; 328: watch.Stop();
00000209 mov rcx,rsi
0000020c call 000000005D34A700
; 329: Console.WriteLine("ProfileDirectWithStoreBroken - " + description);
; Takes 183,594 ticks (~69ms)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment