Re: vtable issue
- From: "Manish Agarwal" <manishkrishan@xxxxxxxxxxx>
- Date: Thu, 18 Sep 2008 17:03:58 +0530
actual function call is "call eax" second seems some extra code added by
compiler to perform some run time check.
Regards,
Manish Agarwal
"George" <George@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:49FCECAE-17D1-4F69-A5C7-0897173EC72F@xxxxxxxxxxxxxxxx
Thanks Manish,
Glad you could reproduce this issue. I learned from assembly language
pattern, we can distinguish between function call from virtual table and
function call from non-virtual table.
My question is, for example the assembly code for p->func() below, why
there
is two call statement?
00411D9D mov eax,dword ptr [p]
00411DA0 mov edx,dword ptr [eax]
00411DA2 mov esi,esp
00411DA4 mov ecx,dword ptr [p]
00411DA7 mov eax,dword ptr [edx]
00411DA9 call eax
00411DAB cmp esi,esp
00411DAD call @ILT+485(__RTC_CheckEsp) (4111EAh)
regards,
George
.
- Follow-Ups:
- Re: vtable issue
- From: George
- Re: vtable issue
- References:
- vtable issue
- From: George
- Re: vtable issue
- From: dertopper
- Re: vtable issue
- From: George
- Re: vtable issue
- From: Manish Agarwal
- Re: vtable issue
- From: George
- vtable issue
- Prev by Date: Re: vtable issue
- Next by Date: Re: vtable issue
- Previous by thread: Re: vtable issue
- Next by thread: Re: vtable issue
- Index(es):
Relevant Pages
|