On Tue, 29 Oct 2024 14:51:33 GMT, Per Minborg <pminb...@openjdk.org> wrote:

> This PR proposes to improve `MemorySegment::ofBuffer` making it more amenable 
> to inlining and generally improving performance.
> 
> Testing successfully on tier1-3

src/java.base/share/classes/java/nio/Buffer.java line 33:

> 31: import jdk.internal.access.foreign.UnmapperProxy;
> 32: import jdk.internal.foreign.AbstractMemorySegmentImpl;
> 33: import jdk.internal.foreign.HeapMemorySegmentImpl;

Spurious import?

src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template line 545:

> 543:                                                  boolean readOnly,
> 544:                                                  MemorySessionImpl 
> bufferScope) {
> 545:         return SegmentFactories.arrayOf$Type$Segment(base, offset, 
> length, readOnly, bufferScope);

For direct buffers I don't think we can get here since the base should be 
`null`? I think this should be changed to throw UOE (if we ever do end up here, 
we don't want to return a heap segment with a `null` base).

src/java.base/share/classes/jdk/internal/foreign/HeapMemorySegmentImpl.java 
line 49:

> 47:  * such as the elimination of store barriers in methods like {@link 
> HeapMemorySegmentImpl#dup(long, long, boolean, MemorySessionImpl)}.
> 48:  */
> 49: public abstract sealed class HeapMemorySegmentImpl extends 
> AbstractMemorySegmentImpl {

This change doesn't seem to be needed.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21764#discussion_r1823178554
PR Review Comment: https://git.openjdk.org/jdk/pull/21764#discussion_r1823180881
PR Review Comment: https://git.openjdk.org/jdk/pull/21764#discussion_r1823179015

Reply via email to