RFR: 8219014: (bf) Add absolute bulk put methods which accept a source Buffer

Paul Sandoz psandoz at openjdk.java.net
Tue Nov 3 00:31:53 UTC 2020


On Tue, 3 Nov 2020 00:20:32 GMT, Paul Sandoz <psandoz at openjdk.org> wrote:

>> Please review this proposed fix. The previous incarnation of this review was most recently in mail threads [1, 2] under the old Hg SCM. The implementation changes proposed here are derived from the final (.02) patch posted in [1]. The corresponding CSR is [3].
>> 
>> The essence of the change is to move the bulk put buffer core functionality to a new method putBuffer(), modify the existing relative bulk put buffer method to call it, and add a new absolute bulk put buffer method which also calls it. The existing test for bulk put buffer functionality is modified to verify the new API.
>> 
>> This change builds on the work completed for JDK-5029431 (bulk put and get using an array) and JDK-8245121 (relative bulk put buffer with overlapping regions).
>> 
>> [1] http://mail.openjdk.java.net/pipermail/nio-dev/2020-June/007340.html
>> [2] http://mail.openjdk.java.net/pipermail/nio-dev/2020-July/007344.html
>> [3] https://bugs.openjdk.java.net/browse/JDK-8248431
>
> I like the way this patch builds on prior work and reuse, including the test. It gives us confidence, since this is a tricky area to get right, esp. with edge cases like `StringCharBuffer`.

@mjpt777 adding to Alan's comment, we are looking for feedback on the memory API, especially in real-world performance sensitive use-cases (see design [doc](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_memaccess.md), latest proposed incubating [api](http://cr.openjdk.java.net/~mcimadamore/8254162_v1/javadoc/jdk/incubator/foreign/package-summary.html)).

-------------

PR: https://git.openjdk.java.net/jdk/pull/969


More information about the nio-dev mailing list