[jdk16] RFR: 8259032: MappedMemorySegmentImpl#makeMappedSegment() ignores Unmapper#pagePosition

Alan Bateman alanb at openjdk.java.net
Tue Jan 5 15:47:57 UTC 2021


On Tue, 5 Jan 2021 15:33:54 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> Hi,
> this patch fixes an oversight where the address() method in FileChannelImpl.Unmapper does not take into account the value of `pagePosition` - this leads to a situation in which, effectively, the specified offset when mapping the segment is ignored by the runtime (because base address will always be aligned to some known quantity - which is OS/platform dependent).
> 
> To test this I had to break open into FileChannelImpl and ready the granularity.

test/jdk/java/foreign/TestByteBuffer.java line 28:

> 26:  * @modules java.base/sun.nio.ch
> 27:  *          jdk.incubator.foreign/jdk.internal.foreign
> 28:  * @run testng/othervm --illegal-access=permit -Dforeign.restricted=permit TestByteBuffer

Can you change java.base/sun.nio.ch to java.base/sun.nio.ch:+open instead? That would avoid the --illegal-access=permit.

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

PR: https://git.openjdk.java.net/jdk16/pull/84


More information about the core-libs-dev mailing list