Re: vtable issue

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



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


.



Relevant Pages