mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-27 03:51:40 +01:00
+ 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:
parent
67d1604c49
commit
f49f148e01
@ -534,6 +534,11 @@ unit cgcpu;
|
|||||||
set self parameter to correct value
|
set self parameter to correct value
|
||||||
call mangledname
|
call mangledname
|
||||||
set self parameter to interface value
|
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
|
(2): The wrapper code use %eax to reach the virtual method address
|
||||||
set self to correct value
|
set self to correct value
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user