+ commented why wrappers for cdecl'd methods use subl/call/subl/ret instead of subl/jmp

git-svn-id: trunk@12829 -
This commit is contained in:
florian 2009-02-28 20:37:01 +00:00
parent 67d1604c49
commit f49f148e01

View File

@ -534,6 +534,11 @@ unit cgcpu;
set self parameter to correct value
call mangledname
set self parameter to interface value
ret
This is different to case (0) because in theory, the caller
could reuse the data pushed on the stack so we've to return
it unmodified because self is const.
(2): The wrapper code use %eax to reach the virtual method address
set self to correct value