On 12 Mar 2010, at 17:51, Paul Ishenin wrote:

> 12.03.2010 21:55, Jonas Maebe wrote:
>> 
>> PS: one reason that this is not advancing is because FPC does not support it 
>> correctly either, and I don't want to add support for a broken 
>> implementation to GDB since then it has to be changed again later anyway. I 
>> also don't know of any description of the Borland fastcall calling 
>> convention, so it is currently not possible to properly fix this (not 
>> without guessing and probably breaking it again in yet some other case). See 
>> http://bugs.freepascal.org/view.php?id=15691
> What exactly needs to be known?

The exact rules. Partial descriptions are not useful, because we already have 
those and that's how the current implementation was done. For example, rules 
that explain where the hidden function result parameter goes (like in the bug 
report above), what the relative order of self parameter, vmt parameter and 
hidden function result are, ...

But as far as I know, there is no real description anywhere. Furthermore, 
unless someone creates an extensive test full of assembler routines that check 
whether the correct parameters are in the correct registers or stack locations, 
this functionality cannot be tested and every change can easily break something 
else without anyone noticing immediately (since the compiler itself will get 
the values from whichever register it passes them in).


Jonas_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to