mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
8339531: Improve performance of MemorySegment::mismatch
Reviewed-by: mcimadamore
This commit is contained in:
parent
ab9b72c50a
commit
81ff91ef27
7 changed files with 559 additions and 211 deletions
|
@ -43,6 +43,7 @@ import java.util.function.Consumer;
|
|||
import java.util.stream.Stream;
|
||||
import jdk.internal.foreign.AbstractMemorySegmentImpl;
|
||||
import jdk.internal.foreign.MemorySessionImpl;
|
||||
import jdk.internal.foreign.SegmentBulkOperations;
|
||||
import jdk.internal.foreign.SegmentFactories;
|
||||
import jdk.internal.javac.Restricted;
|
||||
import jdk.internal.reflect.CallerSensitive;
|
||||
|
@ -1571,7 +1572,7 @@ public sealed interface MemorySegment permits AbstractMemorySegmentImpl {
|
|||
static void copy(MemorySegment srcSegment, long srcOffset,
|
||||
MemorySegment dstSegment, long dstOffset, long bytes) {
|
||||
|
||||
AbstractMemorySegmentImpl.copy((AbstractMemorySegmentImpl) srcSegment, srcOffset,
|
||||
SegmentBulkOperations.copy((AbstractMemorySegmentImpl) srcSegment, srcOffset,
|
||||
(AbstractMemorySegmentImpl) dstSegment, dstOffset,
|
||||
bytes);
|
||||
}
|
||||
|
@ -2635,8 +2636,9 @@ public sealed interface MemorySegment permits AbstractMemorySegmentImpl {
|
|||
*/
|
||||
static long mismatch(MemorySegment srcSegment, long srcFromOffset, long srcToOffset,
|
||||
MemorySegment dstSegment, long dstFromOffset, long dstToOffset) {
|
||||
return AbstractMemorySegmentImpl.mismatch(srcSegment, srcFromOffset, srcToOffset,
|
||||
dstSegment, dstFromOffset, dstToOffset);
|
||||
return SegmentBulkOperations.mismatch(
|
||||
(AbstractMemorySegmentImpl)Objects.requireNonNull(srcSegment), srcFromOffset, srcToOffset,
|
||||
(AbstractMemorySegmentImpl)Objects.requireNonNull(dstSegment), dstFromOffset, dstToOffset);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue