[foreign-memaccess] [Rev 01] RFR: Add MemorySegment::fill
Paul Sandoz
psandoz at openjdk.java.net
Wed May 13 15:46:21 UTC 2020
On Wed, 13 May 2020 15:43:59 GMT, Chris Hegarty <chegar at openjdk.org> wrote:
>> Hi,
>>
>> As part of feedback on the Foreign Memory API (when experimenting with
>> its usage internally in the JDK), a small number of potential usability
>> enhancements could be made to the API. This is the second such.
>>
>> This change proposes to add a new method:
>> MemorySegment::fill
>>
>> Which fills a value into the given memory segment. Fill can be useful to
>> initialize or reset the memory of a segment, similar(ish) to memset.
>>
>> There are obviously different ways to provide such functionality, e.g.
>> accepting a fill value with a bit width greater than 8 bits, but on
>> balance this single method will likely satisfy the majority of simple
>> use-cases. Other more advanced initialization scenarios would likely be
>> served better from an interaction with the Vector API, or some such.
>
> Chris Hegarty has updated the pull request incrementally with one additional commit since the last revision:
>
> review comment: testFillWithNull -> testFillNull
Nice and simple, but i think there is an open design question here.
Notice that the bulk `copy` operation resides on `MemoryAddress`. Fill is a little like a copy, e.g. if expanded later
to fill one segment repeatedly with another (if the destination segment is smaller than the source then it's a
truncated copy).
I think we need to consider grouping bulk operations in the same place.
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/161
More information about the panama-dev
mailing list