Method entry assumptionsDenis Yarkovoy
Original Reporter info from Mantis: FPCCore
-
Reporter name: FPC core team
Original Reporter info from Mantis: FPCCore
- Reporter name: FPC core team
Description:
compiler seems to assume esi=@self always when
a method is entered. this does not work out when
a method is being called indirectly (like
push [objptr]; call objmethod). i do not
suggest you reload esi in the beginning of each
method, just document this fact someplace.
connected issue: it is not quite clear to me why, having
assumed esi=@self, compiler still generates code
that reloads esi when another method of this object
is called even if esi has not been changed by
preceeding code. for instance, a single nop in the
beginning of a method leads to esi being reloaded
Additional information:
Reporter: Denis Yarkovoy
EMail: gunky9 at geocities dot com
Mantis conversion info:
- Mantis ID: 2598
- OS: All
- Version: ?
- Fixed in version: 0.99.13