< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java

Print this page




 184     }
 185 
 186     @Override
 187     public LocationIdentity getLocationIdentity() {
 188         return locationIdentity;
 189     }
 190 
 191     @NodeIntrinsic
 192     private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter boolean aligned,
 193                     @ConstantNodeParameter boolean disjoint, @ConstantNodeParameter boolean uninitialized, @ConstantNodeParameter int heapWordSize);
 194 
 195     @NodeIntrinsic
 196     private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind,
 197                     @ConstantNodeParameter LocationIdentity locationIdentity, @ConstantNodeParameter boolean aligned, @ConstantNodeParameter boolean disjoint,
 198                     @ConstantNodeParameter boolean uninitialized, @ConstantNodeParameter int heapWordSize);
 199 
 200     public static void arraycopyObjectKillsAny(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter int heapWordSize) {
 201         arraycopy(src, srcPos, dest, destPos, length, JavaKind.Object, LocationIdentity.any(), false, false, false, heapWordSize);
 202     }
 203 
 204     public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter int heapWordSize) {
 205         arraycopy(src, srcPos, dest, destPos, length, elementKind, false, false, false, heapWordSize);

 206     }
 207 
 208     public static void disjointArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter int heapWordSize) {
 209         arraycopy(src, srcPos, dest, destPos, length, elementKind, false, true, false, heapWordSize);




 210     }
 211 
 212     public static void disjointUninitializedArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind,
 213                     @ConstantNodeParameter int heapWordSize) {
 214         arraycopy(src, srcPos, dest, destPos, length, elementKind, false, true, true, heapWordSize);
 215     }
 216 
 217     public boolean isAligned() {
 218         return aligned;
 219     }
 220 
 221     public boolean isDisjoint() {
 222         return disjoint;
 223     }
 224 
 225     public boolean isUninitialized() {
 226         return uninitialized;
 227     }
 228 
 229     boolean isHeapWordAligned(MetaAccessProvider metaAccess, JavaConstant value, JavaKind kind) {




 184     }
 185 
 186     @Override
 187     public LocationIdentity getLocationIdentity() {
 188         return locationIdentity;
 189     }
 190 
 191     @NodeIntrinsic
 192     private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter boolean aligned,
 193                     @ConstantNodeParameter boolean disjoint, @ConstantNodeParameter boolean uninitialized, @ConstantNodeParameter int heapWordSize);
 194 
 195     @NodeIntrinsic
 196     private static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind,
 197                     @ConstantNodeParameter LocationIdentity locationIdentity, @ConstantNodeParameter boolean aligned, @ConstantNodeParameter boolean disjoint,
 198                     @ConstantNodeParameter boolean uninitialized, @ConstantNodeParameter int heapWordSize);
 199 
 200     public static void arraycopyObjectKillsAny(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter int heapWordSize) {
 201         arraycopy(src, srcPos, dest, destPos, length, JavaKind.Object, LocationIdentity.any(), false, false, false, heapWordSize);
 202     }
 203 
 204     public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter LocationIdentity locationIdentity,
 205                     @ConstantNodeParameter int heapWordSize) {
 206         arraycopy(src, srcPos, dest, destPos, length, elementKind, locationIdentity, false, false, false, heapWordSize);
 207     }
 208 
 209     public static void disjointArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter int heapWordSize) {
 210         arraycopy(src, srcPos, dest, destPos, length, elementKind, false, true, false, heapWordSize);
 211     }
 212 
 213     public static void disjointArraycopyKillsAny(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind, @ConstantNodeParameter int heapWordSize) {
 214         arraycopy(src, srcPos, dest, destPos, length, elementKind, LocationIdentity.any(), false, true, false, heapWordSize);
 215     }
 216 
 217     public static void disjointUninitializedArraycopy(Object src, int srcPos, Object dest, int destPos, int length, @ConstantNodeParameter JavaKind elementKind,
 218                     @ConstantNodeParameter int heapWordSize) {
 219         arraycopy(src, srcPos, dest, destPos, length, elementKind, false, true, true, heapWordSize);
 220     }
 221 
 222     public boolean isAligned() {
 223         return aligned;
 224     }
 225 
 226     public boolean isDisjoint() {
 227         return disjoint;
 228     }
 229 
 230     public boolean isUninitialized() {
 231         return uninitialized;
 232     }
 233 
 234     boolean isHeapWordAligned(MetaAccessProvider metaAccess, JavaConstant value, JavaKind kind) {


< prev index next >