+1
Paul.
> On Jan 14, 2020, at 10:30 AM, Maurizio Cimadamore
> <maurizio.cimadam...@oracle.com> wrote:
>
> Another revision which addresses some additional CSR feedback:
>
> * SequenceLayout::withElementCount should throw if new element count < 0
> * MemoryLayout::hasSize should clarify that certain layout (e.g. ValueLayout)
> always have a size
>
> Webrev:
>
> http://cr.openjdk.java.net/~mcimadamore/8235837_v3
>
> delta from previous iteration:
>
> http://cr.openjdk.java.net/~mcimadamore/8235837_v3_delta
>
> javadoc
>
> http://cr.openjdk.java.net/~mcimadamore/8235837_v3_javadoc
>
> specdiff
>
> http://cr.openjdk.java.net/~mcimadamore/8235837_v3_specdiff/overview-summary.html
>
>
> Cheers
> Maurizio
>
> On 09/01/2020 18:36, Maurizio Cimadamore wrote:
>> New revision:
>>
>> http://cr.openjdk.java.net/~mcimadamore/8235837_v2
>>
>> delta from previous iteration:
>>
>> http://cr.openjdk.java.net/~mcimadamore/8235837_v2_delta
>>
>> javadoc
>>
>> http://cr.openjdk.java.net/~mcimadamore/8235837_v2_javadoc
>>
>> specdiff
>>
>> http://cr.openjdk.java.net/~mcimadamore/8235837_v2_specdiff/overview-summary.html
>>
>>
>> Cheers
>> Maurizio
>>
>> On 09/01/2020 14:36, Maurizio Cimadamore wrote:
>>> Hi,
>>> following the JEP 370 code review and CSR, certain comments that have not
>>> been addressed have been added to the tracker issue:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8235837
>>>
>>> For further evaluation. After some discussion in the Panama channel (see
>>> [1] and [2]), the Panama team has come to the following conclusions:
>>>
>>> * the MemoryAddress::offset(long) method should be renamed to
>>> MemoryAddress::addOffset(long)
>>> * the MemorySegment::isAccessible() predicate should be dropped and
>>> replaced with the MemorySegment::ownerThread() accessor
>>> * a new predicate should be added to MemoryLayout, namely
>>> MemoryLayout::hasSize() to allow clients to establish as to whether a
>>> layout contains some unsized parts
>>> * a new method should be added to SequenceLayout, namely
>>> SequenceLayout::withElementCount, to create a new sequence layout with new
>>> element count
>>> * 2 new helper methods should be added to MemoryLayout, namely:
>>> - MemoryLayout::map - to allow transformation of a layout into a new
>>> layout (by replacing the sub-layout at given path with a new layout)
>>> - MemoryLayout::select - to allow selection of a sub-layout given a
>>> layout path
>>>
>>> Overall, we think this set of change strikes a good compromise between
>>> usability, readability and minimality.
>>>
>>> The javadoc for the layout path-accepting methods (both old and new ones)
>>> has been significantly refactored and improved - and the toplevel javadoc
>>> section on layout paths has been enhanced to cover all the concepts. The
>>> implementation for these methods has also been consolidated greatly, which
>>> revealed subtle bugs in the old implementation which have now been
>>> rectified (new tests have been added).
>>>
>>> Webrev is available here:
>>>
>>> http://cr.openjdk.java.net/~mcimadamore/8235837/
>>>
>>> Specdiff for changes here:
>>>
>>> http://cr.openjdk.java.net/~mcimadamore/8235837_specdiff/overview-summary.html
>>>
>>>
>>> A draft CSR for this issue is available here (I will finalize once the
>>> review converges on the API changes):
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8236853
>>>
>>> I plan to push this to JDK 14 under the late enhancement process [3].
>>>
>>> Cheers
>>> Maurizio
>>>
>>> [1] -
>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-December/006873.html
>>> [2] -
>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-December/006885.html
>>> [3] - https://openjdk.java.net/jeps/3#Late-Enhancement-Request-Process
>>>
>>>
>>>
>>>
>>>