private static void slowMemoryMove(Address source, Address target, int count) { if (source.toInt() > target.toInt()) { while (count-- > 0) { target.putByte(source.getByte()); target = target.add(1); source = source.add(1); } } else { source = source.add(count); target = target.add(count); while (count-- > 0) { target = target.add(-1); source = source.add(-1); target.putByte(source.getByte()); } } }
break; case 1: alignedTargetStart.add(1).putByte(alignedSourceStart.add(1).getByte()); alignedTargetStart.add(2).putShort(alignedSourceStart.add(2).getShort()); break; break; case 3: alignedTargetStart.add(3).putByte(alignedSourceStart.add(3).getByte()); break; break; case 1: alignedTargetEnd.putByte(alignedSourceEnd.getByte()); break; case 2: case 3: alignedTargetEnd.putShort(alignedSourceEnd.getShort()); alignedTargetEnd.add(2).putByte(alignedSourceEnd.add(2).getByte()); break; break; case 1: alignedTargetEnd.putByte(alignedSourceEnd.getByte()); break; case 2: break;
private static void slowMemoryMove(Address source, Address target, int count) { if (source.toInt() > target.toInt()) { while (count-- > 0) { target.putByte(source.getByte()); target = target.add(1); source = source.add(1); } } else { source.add(count); target.add(count); while (count-- > 0) { target = target.add(-1); source = source.add(-1); target.putByte(source.getByte()); } } }
break; case 1: alignedTargetStart.add(1).putByte(alignedSourceStart.add(1).getByte()); alignedTargetStart.add(2).putShort(alignedSourceStart.add(2).getShort()); break; break; case 3: alignedTargetStart.add(3).putByte(alignedSourceStart.add(3).getByte()); break; break; case 1: alignedTargetEnd.putByte(alignedSourceEnd.getByte()); break; case 2: case 3: alignedTargetEnd.putShort(alignedSourceEnd.getShort()); alignedTargetEnd.add(2).putByte(alignedSourceEnd.add(2).getByte()); break; break; case 1: alignedTargetEnd.putByte(alignedSourceEnd.getByte()); break; case 2: break;