On Tue, 17 Oct 2023 14:17:20 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
On Wed, 1 Nov 2023 18:43:24 GMT, Martin Doerr wrote:
>> Martin Doerr has updated the pull request incrementally with two additional
>> commits since the last revision:
>>
>> - Improve handling of layouts in NativeType.java
>> - Check byte order of 4-byte aligned double.
>
> Thanks for testing
On Tue, 17 Oct 2023 14:17:20 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
On Tue, 17 Oct 2023 14:17:20 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
On Tue, 17 Oct 2023 14:17:20 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
> double values have only 4 Byte alignment within structures. This PR is based
> on JDK22 version of the FFI.
Martin Doerr has updated the pull request incrementally with two additional
commits since the last revisio
On Mon, 16 Oct 2023 22:56:42 GMT, Jorn Vernee wrote:
>> Martin Doerr has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Revert changes to PlatformLayouts.java
>
> src/java.base/share/classes/jdk/internal/foreign/abi/ppc64/aix/AixPPC64Linker
On Tue, 17 Oct 2023 14:12:27 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
On Mon, 16 Oct 2023 16:20:49 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
On Mon, 16 Oct 2023 19:24:51 GMT, Jorn Vernee wrote:
> Ok. I'm assuming there are currently some failing tests due to the mismatch
> in ABI? (assuming the test libraries are compiled for the packed ABI)
We should be careful with the names:
- "#pragma align (power)" is the default which is curr
On Mon, 16 Oct 2023 15:54:12 GMT, Martin Doerr wrote:
> I have filed a subtask to handle the tests:
> https://bugs.openjdk.org/browse/JDK-8318175 This PR is now compatible with
> "#pragma align (natural)", but permits layouts according to the default
> setting. This allows writing Java code wh
On Mon, 16 Oct 2023 14:41:40 GMT, Maurizio Cimadamore
wrote:
>> Please take a look at commit number 4. I think we need to support both,
>> 4-byte and 8-byte aligned doubles in structures. IBM recommends to use
>> "#pragma align (natural)": "The power suboption is the default to ensure
>> comp
On Mon, 16 Oct 2023 14:06:09 GMT, Martin Doerr wrote:
>> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
>> double values have only 4 Byte alignment within structures. This PR is based
>> on JDK22 version of the FFI.
>
> Martin Doerr has updated the pull request inc
> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
> double values have only 4 Byte alignment within structures. This PR is based
> on JDK22 version of the FFI.
Martin Doerr has updated the pull request incrementally with one additional
commit since the last revision
On Mon, 16 Oct 2023 13:57:11 GMT, Martin Doerr wrote:
>> Err, actually using `member.equals(C_DOUBLE)` in the above doesn't work
>> since it still checks alignment. What you have with checking for
>> `ValueLayout` and `carrier() == double.class` is better, but the byte order
>> should also be
> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
> double values have only 4 Byte alignment within structures. This PR is based
> on JDK22 version of the FFI.
Martin Doerr has updated the pull request incrementally with one additional
commit since the last revision
On Sat, 14 Oct 2023 18:01:00 GMT, Jorn Vernee wrote:
>> I was thinking something like this:
>>
>>
>> diff --git
>> a/src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java
>> b/src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java
>> index dbd9a3f67a4..10b
On Sat, 14 Oct 2023 16:56:50 GMT, Jorn Vernee wrote:
>> So, your proposal should look like this?
>>
>> diff --git
>> a/src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java
>> b/src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java
>> index dbd9a3f67a4..ec
On Sat, 14 Oct 2023 13:54:28 GMT, Martin Doerr wrote:
>> Thanks for your outstanding support! I'm awaiting feedback from IBM and a
>> solution for the subtask https://bugs.openjdk.org/browse/JDK-8317799. There
>> shouldn't be much work to be done after that, I guess.
>
> So, your proposal shoul
On Fri, 13 Oct 2023 14:48:51 GMT, Martin Doerr wrote:
>> Discussed this a bit with Maurizio. There are a few things to consider:
>>
>> - `cannonicalLayouts` allows for just a single mapping from type name to
>> layout. I think `double` should map to the 8-byte aligned layout. (the same
>> alig
On Fri, 13 Oct 2023 14:28:58 GMT, Jorn Vernee wrote:
>>> Just to clarify, is the ABI equal to what is described in this table:
>>> https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1?topic=data-using-alignment-modes
>>> ?
>>>
>>> This shows `double` having 8-byte alignment, but being 4-byte alig
On Fri, 13 Oct 2023 13:39:11 GMT, Martin Doerr wrote:
>> Just to clarify, is the ABI equal to what is described in this table:
>> https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1?topic=data-using-alignment-modes
>> ?
>>
>> This shows `double` having 8-byte alignment, but being 4-byte aligned
On Fri, 13 Oct 2023 14:03:34 GMT, Martin Doerr wrote:
>>> Okay, so it sounds like Java double on AIX is still 8-byte aligned, but the
>>> native double is 4-byte aligned?
>>
>> Correct within structures. I believe they are always 8-byte aligned except
>> in structures which are packed more den
On Fri, 13 Oct 2023 13:37:10 GMT, Jorn Vernee wrote:
>>> I guess changing it would probably be better?
>>
>> Yeah, I think so.
>>
>>> Note that we will need something which maps to the 8-Byte aligned double.
>>> Otherwise we get an Exception when passing a JAVA_DOUBLE as normal argument.
>>
>
On Fri, 13 Oct 2023 13:02:24 GMT, Jorn Vernee wrote:
>> Not sure how `jdouble` would be used. JNI doesn't support C structures and
>> the double alignment is only an issue in structures. Do we support embedding
>> `jdouble` in structures? I guess changing it would probably be better?
>> Note th
On Fri, 13 Oct 2023 12:34:53 GMT, Martin Doerr wrote:
> I guess changing it would probably be better?
Yeah, I think so.
> Note that we will need something which maps to the 8-Byte aligned double.
> Otherwise we get an Exception when passing a JAVA_DOUBLE as normal argument.
Okay, so it sounds
On Fri, 13 Oct 2023 10:24:58 GMT, Jorn Vernee wrote:
>> Martin Doerr has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Improve micro benchmarks and a comment.
>
> src/java.base/share/classes/jdk/internal/foreign/abi/ppc64/aix/AixPPC64Linke
On Fri, 13 Oct 2023 10:21:06 GMT, Jorn Vernee wrote:
>> Martin Doerr has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Improve micro benchmarks and a comment.
>
> test/micro/org/openjdk/bench/java/lang/foreign/CLayouts.java line 68:
>
>>
> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
> double values have only 4 Byte alignment. This PR is based on JDK22 version
> of the FFI.
Martin Doerr has updated the pull request incrementally with one additional
commit since the last revision:
Improve micro
The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
double values have only 4 Byte alignment.
-
Commit messages:
- Change double alignment to 4 in tests.
- 8317545: AIX PPC64: Implementation of Foreign Function & Memory API
Changes: https://git.openjdk.org
On Fri, 13 Oct 2023 10:12:24 GMT, Martin Doerr wrote:
> The AIX linker has a few minor diffs to the linux ABIv1 linker. In addition,
> double values have only 4 Byte alignment. This PR is based on JDK22 version
> of the FFI.
src/java.base/share/classes/jdk/internal/foreign/abi/ppc64/aix/AixPPC
31 matches
Mail list logo