Part 1 Proposal for JDK-8264594
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Thu Jun 10 20:04:54 UTC 2021
On 10/06/2021 18:35, leerho wrote:
> I am wondering what would be easiest for you: to submit code via
> email as I have been doing, or create a branch in my public GitHub
> account with the changes: https://github.com/leerho/panama-foreign
> <https://urldefense.com/v3/__https://github.com/leerho/panama-foreign__;!!GqivPVa7Brio!LxXJhYX_i6Z5Xm9xTTeezBMgAek5YOmx9m8CieVhPWidPPB88SarELnmh3IN20BYRLmCNUs$>.
>
If you do that, note that you can create a "fork" of my personal repo:
https://github.com/mcimadamore/panama-foreign
And then submit a PR against the draft PR branch I'm using. That should
work too :-)
Maurizio
>
> Lee.
>
> On Thu, Jun 10, 2021 at 10:28 AM Maurizio Cimadamore
> <maurizio.cimadamore at oracle.com
> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>
>
> On 10/06/2021 18:12, leerho wrote:
>> Maurizio,
>> Now that you have submitted the draft PR
>> (https://github.com/openjdk/panama-foreign/pull/555
>> <https://urldefense.com/v3/__https://github.com/openjdk/panama-foreign/pull/555__;!!GqivPVa7Brio!L7IEC9nvw3-eZ1gbja21ZH_OuKDyt966kthXXAAUmcUYVu7n7B2GF_I7ib7MzKhlIjvboLw$>),
>> should I make the changes necessary to the MemoryCopy class to
>> call the /MemorySegment.copyFrom(MemorySegment src, ValueLayout
>> srcElementLayout,/
>> /ValueLayout dstElementLayout)/ implemented in the PR? -- Or
>> should I wait until it is at least in a branch?
> You can go ahead and work on the changes. I will update the PR
> accordingly.
>>
>> Also, as I mentioned earlier, the TestMemoryCopy will have to be
>> rewritten to also test the byte swaps. (and fix some of the
>> extra space errors found ).
> Ok
>>
>> I will have to relay these changes through you as I don't have
>> permission to submit changes directly.
>
> That's absolutely fine, no worries - as long as everything is
> visible on this list :-)
>
> Thanks
> Maurizio
>
>>
>> Lee.
>>
>>
>>
>> On Thu, Jun 10, 2021 at 9:33 AM leerho <leerho at gmail.com
>> <mailto:leerho at gmail.com>> wrote:
>>
>> Also, to make the comparison more fair, we should add the
>> user ability to compute the logical offset for option 1.
>> Restating the options:
>>
>> 1. copyIntoArrayRaw(segment, srcOffsetBytes, long[]
>> dstArray, dstIndexLongs, dstCopyLengthLongs)
>> //For the "Logical" case, user has the option to write:
>> copyIntoArrayRaw(segment, srcOffsetLongs * 8L, long[]
>> dstArray, dstIndexLongs, dstCopyLengthLongs)
>>
>> 2. copyIntoArrayRaw(segment, srcOffsetBytes, long[]
>> dstArray, dstIndexLongs, dstCopyLengthLongs)
>> And
>> copyIntoArrayLogical(segment, srcOffsetLongs, long[]
>> dstArray, dstIndexLongs, dstCopyLengthLongs)
>>
>> 3. copyIntoArrayLogical(segment, srcOffsetLongs, long[]
>> dstArray, dstIndexLongs, dstCopyLengthLongs)
>> //For the "Raw" case, user has the option to write a
>> compound statement like:
>> copyIntoArrayLogical(segment.asSlice(srcOffsetBytes), 0,
>> long[] dstArray, dstIndexLongs, dstCopyLengthLongs)
>>
>> Lee.
>>
>> On Thu, Jun 10, 2021 at 1:45 AM Maurizio Cimadamore
>> <maurizio.cimadamore at oracle.com
>> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>>
>>
>> On 10/06/2021 00:02, leerho wrote:
>> > // I think we discussed a while back that the asSlice
>> would also
>> > require a length.
>>
>> Minor correction - with the new API, I don't think you
>> need a length.
>>
>> There is an overload of asSlice which just takes an
>> offset, and
>> recomputes the length automatically.
>>
>> So, if you use that, combined with the static method you
>> provide, I
>> think we should be good?
>>
>> copyIntoArrayLogical(segment.asSlice(srcOffsetBytes), 0,
>> long[]
>> dstArray, dstIndexLongs, dstCopyLengthLongs)
>>
>> Maurizio
>>
More information about the panama-dev
mailing list