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