@@ -386,11 +386,11 @@ static void copySwapOnHeap(Object srcBase, long srcOffset, Object destBase, long
386386
387387 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
388388 private static void copySwap2 (Pointer from , Pointer to , UnsignedWord size ) {
389- if (from .aboveThan (to )) {
389+ if (from .aboveOrEqual (to )) {
390390 for (UnsignedWord offset = Word .zero (); offset .belowThan (size ); offset = offset .add (2 )) {
391391 to .writeShort (offset , Short .reverseBytes (from .readShort (offset )));
392392 }
393- } else if ( from . belowThan ( to )) {
393+ } else {
394394 for (UnsignedWord offset = size ; offset .aboveThan (0 ); offset = offset .subtract (2 )) {
395395 to .writeShort (offset .subtract (2 ), Short .reverseBytes (from .readShort (offset .subtract (2 ))));
396396 }
@@ -399,11 +399,11 @@ private static void copySwap2(Pointer from, Pointer to, UnsignedWord size) {
399399
400400 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
401401 private static void copySwap4 (Pointer from , Pointer to , UnsignedWord size ) {
402- if (from .aboveThan (to )) {
402+ if (from .aboveOrEqual (to )) {
403403 for (UnsignedWord offset = Word .zero (); offset .belowThan (size ); offset = offset .add (4 )) {
404404 to .writeInt (offset , Integer .reverseBytes (from .readInt (offset )));
405405 }
406- } else if ( from . belowThan ( to )) {
406+ } else {
407407 for (UnsignedWord offset = size ; offset .aboveThan (0 ); offset = offset .subtract (4 )) {
408408 to .writeInt (offset .subtract (4 ), Integer .reverseBytes (from .readInt (offset .subtract (4 ))));
409409 }
@@ -412,11 +412,11 @@ private static void copySwap4(Pointer from, Pointer to, UnsignedWord size) {
412412
413413 @ Uninterruptible (reason = "Called from uninterruptible code." , mayBeInlined = true )
414414 private static void copySwap8 (Pointer from , Pointer to , UnsignedWord size ) {
415- if (from .aboveThan (to )) {
415+ if (from .aboveOrEqual (to )) {
416416 for (UnsignedWord offset = Word .zero (); offset .belowThan (size ); offset = offset .add (8 )) {
417417 to .writeLong (offset , Long .reverseBytes (from .readLong (offset )));
418418 }
419- } else if ( from . belowThan ( to )) {
419+ } else {
420420 for (UnsignedWord offset = size ; offset .aboveThan (0 ); offset = offset .subtract (8 )) {
421421 to .writeLong (offset .subtract (8 ), Long .reverseBytes (from .readLong (offset .subtract (8 ))));
422422 }
0 commit comments