[foreign] RFR 8216484: jextract LayoutUtils has to be modified for Windows
Jorn Vernee
jbvernee at xs4all.nl
Mon Jan 14 16:14:43 UTC 2019
Thanks for the reviews! Pushed.
Jorn
Maurizio Cimadamore schreef op 2019-01-14 16:59:
> Looks good to me
>
> Maurizio
>
> On 14/01/2019 15:19, Jorn Vernee wrote:
>> I think this sounds good. It's probably a premature optimization to
>> cache the Layouts since they are not expensive to create in this case.
>> (plus no-cache is much simpler to implement)
>>
>> updated webrev:
>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/windows_jextract/webrev.02/
>>
>> Jorn
>>
>> Maurizio Cimadamore schreef op 2019-01-14 15:33:
>>> Or, remove the cache entirely (we can add it back later if
>>> performance
>>> really becomes a concern)
>>>
>>> Maurizio
>>>
>>> On 14/01/2019 06:31, Sundararajan Athijegannathan wrote:
>>>> jextract supports ToolProvider interface. It is possible to create
>>>> multiple instances of jextract in the same process. LayoutUtils has
>>>> a static cache which is initialized using sizes obtained from clang
>>>> library. In theory it is possible that we may get different sizes
>>>> for types depending on preprocessor settings, 32/64 bit app etc. I
>>>> think it is better if we associate this cache with the current
>>>> Context instance.
>>>>
>>>> -Sundar
>>>>
>>>> On 12/01/19, 6:58 PM, Jorn Vernee wrote:
>>>>> Hi,
>>>>>
>>>>> Continuing from [1, 2]
>>>>>
>>>>> I have polished the previous patch a little.
>>>>>
>>>>> Instead of doing the minimum needed for Windows support I've
>>>>> replaced all the LayoutUtils.Types constants, and instead am
>>>>> querying the type size from libclang and then caching the result,
>>>>> since libclang seems to know the right size to use for the
>>>>> platform.
>>>>>
>>>>> I have been looking at the libclang API and there doesn't seem to
>>>>> be a way to specify the target platform. I think it always uses the
>>>>> ABI of the platform it was built for.
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8216484
>>>>> Updated Webrev:
>>>>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/windows_jextract/webrev.01/
>>>>>
>>>>> Cheers,
>>>>> Jorn
>>>>>
>>>>> [1] :
>>>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-January/003680.html
>>>>> [2] :
>>>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-January/003683.html
More information about the panama-dev
mailing list