jextract C++ support
Rel
enatai at proton.me
Tue May 23 04:11:34 UTC 2023
> What I meant for "robust analysis" was to try and establish how many _real-world_ C++ library can really be tackled in such a direct approach.
Ohh I see now, I am affraid we know the answer for this :)
Let's imagine if number of C++ libraries which can be covered end-to-end with "simple" approach is 0, does it mean that we should discard it and only focus on shim for binding all kinds of APIs? What about those cases which can be easily extracted using "simple" approach, like Point2d?
Because I thought that we would like to do "analysis" of what C++ use cases can/cannot be covered with "simple" approach. For example from your previous message I see that we are not completely sure about exceptions:
> * (probably way more stuff, like exceptions, etc.)
Similarly for myself I would like to see what are the problems with "dynamic dispatch". I added it to "unhappy" for now, because we expect it not to work, but I plan to test it to see what are the issues there and share here. Similarly with that anyone would be able to reproduce and see same results.
I guess my question now is: do we think it may be useful to know exactly how many C++ use cases can be covered with "simple" FFM approach. And if answer is yes, then we can use panamaexperiments as a playground where we can have tests for what is covered. This (possibly?) can give us more confidence in limitations of "simple" approach and how far we can go with it (and this can be easily demonstrated to everyone just by running those tests)
Ideas?
------- Original Message -------
On Monday, May 22nd, 2023 at 9:14 AM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
> On 22/05/2023 04:12, Rel wrote:
>
>>> But I believe some more robust
>>> analysis should be made to understand exactly how many APIs can be
>>> supported in this "simple" fashion.
>>
>> Yes, I started to gather such analysis here
>> https://urldefense.com/v3/__https://github.com/enatai/panamaexperiments__;!!ACWV5N9M2RV99hQ!KOxdK2qmmSzlaaO3kSlSUG2-ifWAVRD6OHlz9NHYvuggmy7NnnNxWvHYcxDm0Vn4gPXlbasjfC-ehIx_KlWNYiU$
>> Currently there is only one happy case [
>> https://urldefense.com/v3/__https://github.com/enatai/panamaexperiments/blob/main/libcppexperiments/src/main/public/happy.hpp__;!!ACWV5N9M2RV99hQ!KOxdK2qmmSzlaaO3kSlSUG2-ifWAVRD6OHlz9NHYvuggmy7NnnNxWvHYcxDm0Vn4gPXlbasjfC-ehIx_K7Nl50c$
>> ] which is Point2d class from your foo.hpp file.
>
> This is not too surprising - after all the hacky changes I shared were built around that example.
>
> What I meant for "robust analysis" was to try and establish how many _real-world_ C++ library can really be tackled in such a direct approach. My feeling is "not many" - but I don't have any hard data to back up this claim.
>
> Maurizio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jextract-dev/attachments/20230523/3a8aee7c/attachment-0001.htm>
More information about the jextract-dev
mailing list