[fpc-devel] RTTI interface & variant late binding issue (mORMot)

Florian Klämpfl florian at freepascal.org
Sat Feb 7 11:55:59 CET 2015


Am 07.02.2015 um 11:54 schrieb Sven Barth:
> On 07.02.2015 11:45, Steve Hildebrandt wrote:
>>> You don't need to implement Invoke for all platforms for now. Just
>>> raise an exception and hopefully platform maintainers will take it
>>> from there. The most important part is that the parameter description
>>> is flexible enough to potentially allow for all platforms to be
>>> supported.
>>>
>>> Regards,
>>> Sven
>> And here is the problem, depending on the calling convention it may not
>> fit into the delphi compatible RTTI layout.
>> If more information is needed than a stack offset or a single register
>> index, you will need to acomodate that somehow.
> 
> How does the information record look currently? Our RTTIs aren't 100% compatible anyway, so I
> wouldn't mind if we add needed fields for other platforms. Of course we'd first need to know whether
> any other platform has such needs...
> At least for m68k I can say that register index and stack offset should be enough.

x86-64 (PowerPC too) is pretty compilcated in this regard: single parameters can span across
multiple registers. IIRC some ABIs even require mixed integer/fpu/stack locations for one parameter.



More information about the fpc-devel mailing list