[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