mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8319111: Mismatched MemorySegment heap access is not consistently intrinsified
Reviewed-by: sviswanathan, psandoz, thartmann
This commit is contained in:
parent
a0920aa436
commit
2678e4cd94
14 changed files with 205 additions and 156 deletions
|
@ -355,7 +355,7 @@ public class ScopedMemoryAccess {
|
|||
session.checkValidStateRaw();
|
||||
|
||||
return VectorSupport.load(vmClass, e, length,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true,
|
||||
msp, offset, s,
|
||||
defaultImpl);
|
||||
} finally {
|
||||
|
@ -397,7 +397,7 @@ public class ScopedMemoryAccess {
|
|||
session.checkValidStateRaw();
|
||||
|
||||
return VectorSupport.loadMasked(vmClass, maskClass, e, length,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, m, offsetInRange,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true, m, offsetInRange,
|
||||
msp, offset, s,
|
||||
defaultImpl);
|
||||
} finally {
|
||||
|
@ -438,7 +438,7 @@ public class ScopedMemoryAccess {
|
|||
session.checkValidStateRaw();
|
||||
|
||||
VectorSupport.store(vmClass, e, length,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true,
|
||||
v,
|
||||
msp, offset,
|
||||
defaultImpl);
|
||||
|
@ -480,7 +480,7 @@ public class ScopedMemoryAccess {
|
|||
session.checkValidStateRaw();
|
||||
|
||||
VectorSupport.storeMasked(vmClass, maskClass, e, length,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset,
|
||||
msp.unsafeGetBase(), msp.unsafeGetOffset() + offset, true,
|
||||
v, m,
|
||||
msp, offset,
|
||||
defaultImpl);
|
||||
|
|
|
@ -421,7 +421,7 @@ public class VectorSupport {
|
|||
S extends VectorSpecies<E>>
|
||||
VM load(Class<? extends VM> vmClass, Class<E> eClass,
|
||||
int length,
|
||||
Object base, long offset,
|
||||
Object base, long offset, boolean fromSegment,
|
||||
C container, long index, S s,
|
||||
LoadOperation<C, VM, S> defaultImpl) {
|
||||
assert isNonCapturingLambda(defaultImpl) : defaultImpl;
|
||||
|
@ -445,7 +445,7 @@ public class VectorSupport {
|
|||
S extends VectorSpecies<E>,
|
||||
M extends VectorMask<E>>
|
||||
V loadMasked(Class<? extends V> vClass, Class<M> mClass, Class<E> eClass,
|
||||
int length, Object base, long offset,
|
||||
int length, Object base, long offset, boolean fromSegment,
|
||||
M m, int offsetInRange,
|
||||
C container, long index, S s,
|
||||
LoadVectorMaskedOperation<C, V, S, M> defaultImpl) {
|
||||
|
@ -494,7 +494,7 @@ public class VectorSupport {
|
|||
V extends VectorPayload>
|
||||
void store(Class<?> vClass, Class<?> eClass,
|
||||
int length,
|
||||
Object base, long offset,
|
||||
Object base, long offset, boolean fromSegment,
|
||||
V v, C container, long index,
|
||||
StoreVectorOperation<C, V> defaultImpl) {
|
||||
assert isNonCapturingLambda(defaultImpl) : defaultImpl;
|
||||
|
@ -515,7 +515,7 @@ public class VectorSupport {
|
|||
E>
|
||||
void storeMasked(Class<? extends V> vClass, Class<M> mClass, Class<E> eClass,
|
||||
int length,
|
||||
Object base, long offset,
|
||||
Object base, long offset, boolean fromSegment,
|
||||
V v, M m, C container, long index,
|
||||
StoreVectorMaskedOperation<C, V, M> defaultImpl) {
|
||||
assert isNonCapturingLambda(defaultImpl) : defaultImpl;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue