!U 001338ec
Normal JIT generated code
Wuhong.SOSTest.Complex.MultiplyBySelf()
Begin
00290230
, size
199
00290230
55
push ebp
00290231
8BEC mov ebp,esp
00290233
57
push edi
00290234
56
push esi
00290235
53
push ebx
00290236
81EC8C000000
sub
esp,8Ch
0029023C 8BF1 mov esi,ecx
0029023E 8D7DB4 lea edi,[ebp-4Ch]
00290241
B910000000 mov ecx,10h
00290246
33C0
xor
eax,eax
00290248
F3AB rep stos dword ptr
es:
[edi]
0029024A 8BCE mov ecx,esi
0029024C 33C0
xor
eax,eax
0029024E 8945E4 mov dword ptr [ebp-1Ch],eax
00290251
894DC4 mov dword ptr [ebp-3Ch],ecx
00290254
833D3C31130000 cmp dword ptr
ds:
[0013313Ch],
0
0029025B
7405
je
00290262
0029025D E8B961A161
call
61CA641B (
JitHelp:
CORINFO_HELP_DBG_IS_JUST_MY_CODE)
00290262
33D2
xor
edx,edx
00290264
8955BC mov dword ptr [ebp-44h],edx
00290267
33D2
xor
edx,edx
00290269
8955B4 mov dword ptr [ebp-4Ch],edx
0029026C C745B000000000 mov dword ptr [ebp-50h],
0
00290273
33D2
xor
edx,edx
00290275
8955C0 mov dword ptr [ebp-40h],edx
00290278
90
nop
00290279
8B4DC4 mov ecx,dword ptr [ebp-3Ch]
0029027C 8B01 mov eax,dword ptr [ecx]
0029027E 8B4028 mov eax,dword ptr [eax+28h]
00290281
FF5008
call
dword ptr [eax+
8
]
00290284
8945AC mov dword ptr [ebp-54h],eax
00290287
8B45AC mov eax,dword ptr [ebp-54h]
0029028A 8945C0 mov dword ptr [ebp-40h],eax
0029028D 33D2
xor
edx,edx
0029028F 8955BC mov dword ptr [ebp-44h],edx
00290292
33D2
xor
edx,edx
00290294
8955B8 mov dword ptr [ebp-48h],edx
00290297
8B45C4 mov eax,dword ptr [ebp-3Ch]
0029029A 8945B4 mov dword ptr [ebp-4Ch],eax
0029029D 8D55B8 lea edx,[ebp-48h]
002902A0 8B4DB4 mov ecx,dword ptr [ebp-4Ch]
002902A3 E808DE2F60
call
6058E0B0 (System.Threading.Monitor.Enter(System.Object, Boolean ByRef),
mdToken:
0600159a)
002902A8
90
nop
002902A9
90
nop
002902AA 8B4DC4 mov ecx,dword ptr [ebp-3Ch]
002902AD E8BEBDEAFF
call
0013C070 (Wuhong.SOSTest.Complex.Clone(),
mdToken:
0600000b)
002902B2 8945A8 mov dword ptr [ebp-58h],eax
002902B5 8B45A8 mov eax,dword ptr [ebp-58h]
002902B8 8945BC mov dword ptr [ebp-44h],eax
002902BB 8B45C4 mov eax,dword ptr [ebp-3Ch]
002902
BE
8945A4 mov dword ptr [ebp-5Ch],eax
002902C1 8B4DBC mov ecx,dword ptr [ebp-44h]
002902C4
3909
cmp dword ptr [ecx],ecx
002902C6 E86DBDEAFF
call
0013C038 (Wuhong.SOSTest.Complex.get_Real(),
mdToken:
06000004
)
002902CB DD5D9C fstp qword ptr [ebp-64h]
002902CE 8B4DBC mov ecx,dword ptr [ebp-44h]
002902D1
3909
cmp dword ptr [ecx],ecx
002902D3 E860BDEAFF
call
0013C038 (Wuhong.SOSTest.Complex.get_Real(),
mdToken:
06000004
)
002902D8 DD5D94 fstp qword ptr [ebp-6Ch]
002902DB DD459C fld qword ptr [ebp-64h]
002902DE DC4D94 fmul qword ptr [ebp-6Ch]
002902E1 DD5D8C fstp qword ptr [ebp-74h]
002902E4 8B4DBC mov ecx,dword ptr [ebp-44h]
002902E7
3909
cmp dword ptr [ecx],ecx
002902E9 E85ABDEAFF
call
0013C048 (Wuhong.SOSTest.Complex.get_Imaginary(),
mdToken:
06000006
)
002902EE DD5D84 fstp qword ptr [ebp-7Ch]
002902F1 8B4DBC mov ecx,dword ptr [ebp-44h]
002902F4
3909
cmp dword ptr [ecx],ecx
002902F6 E84DBDEAFF
call
0013C048 (Wuhong.SOSTest.Complex.get_Imaginary(),
mdToken:
06000006
)
002902FB DD9D7CFFFFFF fstp qword ptr [ebp+FFFFFF7Ch]
00290301
DD4584 fld qword ptr [ebp-7Ch]
00290304
DC8D7CFFFFFF fmul qword ptr [ebp+FFFFFF7Ch]
0029030A DC6D8C fsubr qword ptr [ebp-74h]
0029030D 83EC08
sub
esp,
8
00290310
DD1C24 fstp qword ptr [esp]
00290313
8B4DA4 mov ecx,dword ptr [ebp-5Ch]
00290316
E815BDEAFF
call
0013C030 (Wuhong.SOSTest.Complex.set_Real(Double),
mdToken:
06000003
)
0029031B
90
nop
0029031C 8B45C4 mov eax,dword ptr [ebp-3Ch]
0029031F 898578FFFFFF mov dword ptr [ebp+FFFFFF78h],eax
00290325
8B4DBC mov ecx,dword ptr [ebp-44h]
00290328
3909
cmp dword ptr [ecx],ecx
0029032A E809BDEAFF
call
0013C038 (Wuhong.SOSTest.Complex.get_Real(),
mdToken:
06000004
)
0029032F DD9D70FFFFFF fstp qword ptr [ebp+FFFFFF70h]
00290335
8B4DBC mov ecx,dword ptr [ebp-44h]
00290338
3909
cmp dword ptr [ecx],ecx
0029033A E809BDEAFF
call
0013C048 (Wuhong.SOSTest.Complex.get_Imaginary(),
mdToken:
06000006
)
0029033F DD9D68FFFFFF fstp qword ptr [ebp+FFFFFF68h]
00290345
DD8570FFFFFF fld qword ptr [ebp+FFFFFF70h]
0029034B DC8D68FFFFFF fmul qword ptr [ebp+FFFFFF68h]
00290351
D80DCC032900 fmul dword ptr
ds:
[002903CCh]
00290357
83EC08
sub
esp,
8
0029035A DD1C24 fstp qword ptr [esp]
0029035D 8B8D78FFFFFF mov ecx,dword ptr [ebp+FFFFFF78h]
00290363
E8D8BCEAFF
call
0013C040 (Wuhong.SOSTest.Complex.set_Imaginary(Double),
mdToken:
06000005
)
00290368
90
nop
00290369
90
nop
0029036A
90
nop
0029036B C745E000000000 mov dword ptr [ebp-20h],
0
00290372
C745E4FC000000 mov dword ptr [ebp-1Ch],0FCh
00290379
68B7032900 push 2903B7h
0029037E EB00 jmp
00290380
00290380
0FB645B8 movzx eax,byte ptr [ebp-48h]
00290384
85C0 test eax,eax
00290386
0F94C0 sete al
00290389
0FB6C0 movzx eax,al
0029038C 8945B0 mov dword ptr [ebp-50h],eax
0029038F 837DB000 cmp dword ptr [ebp-50h],
0
00290393
7509
jne 0029039E
00290395
8B4DB4 mov ecx,dword ptr [ebp-4Ch]
00290398
E8EB2A7661
call
619F2E88 (System.Threading.Monitor.Exit(System.Object),
mdToken:
0600159b)
0029039D
90
nop
0029039E
58
pop
eax
0029039F FFE0 jmp eax
002903A1
90
nop
002903A2 FF75C4 push dword ptr [ebp-3Ch]
002903A5 8B0D3020B002 mov ecx,dword ptr
ds:
[02B02030h] (
"
{0} MultiplyBySelf = {1}
"
)
002903AB 8B55BC mov edx,dword ptr [ebp-44h]
002903AE E8C1D12F60
call
6058D574 (System.Console.WriteLine(System.String, System.Object, System.Object),
mdToken:
0600091b)
002903B3
90
nop
002903B4
90
nop
002903B5 EB09 jmp 002903C0
002903B7 C745E400000000 mov dword ptr [ebp-1Ch],
0
002903
BE
EBE1 jmp 002903A1
002903C0
90
nop
002903C1 8D65F4 lea esp,[ebp-0Ch]
002903C4 5B
pop
ebx
002903C5 5E
pop
esi
002903C6 5F
pop
edi
002903C7 5D
pop
ebp
002903C8 C3
ret