RFR: 8316660: (fs) Files.lines implementation can use MemorSegment for file mapping [v7]

Per Minborg pminborg at openjdk.org
Thu Sep 21 16:24:22 UTC 2023


> This PR proposes using a `MemorySegment` instead of a `ByteBuffer` in the `Files::lines` implementation (in the internal class `FileChannelLinesSpliterator`).
> 
> The old solution deterministically unmapped the `ByteBuffer` if closed. If not closed, the `ByteBuffer` would be GC:ed.
> 
> This proposal mimics the old behavior but may hold the mapped memory region slightly longer.
> 
> Tested and passed tier1, tier2, tier3

Per Minborg has updated the pull request incrementally with one additional commit since the last revision:

  Reformat

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15814/files
  - new: https://git.openjdk.org/jdk/pull/15814/files/ce40d46a..2c4d8b8f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15814&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15814&range=05-06

  Stats: 4 lines in 2 files changed: 0 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/15814.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15814/head:pull/15814

PR: https://git.openjdk.org/jdk/pull/15814


More information about the nio-dev mailing list