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

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


Am 07.02.2015 um 11:55 schrieb Florian Klämpfl:
> 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.

Just an idea: What about serializing TCGPara/TCGParalocation?



More information about the fpc-devel mailing list