MOS6502Snapshot.java

1
package com.rox.cpu.mos6502;
2
3
/**
4
 * Everything needed to put a {@link MOS6502} back exactly where it was at an instruction boundary (see
5
 * {@link MOS6502#snapshot()}) - plain values only, so a save format never needs the mutable, partly
6
 * package-private {@link MOS6502Environment} itself. {@code ir}/{@code adl}/{@code adh} are just the
7
 * last instruction's leftovers at a boundary, but are kept so a restore is exact rather than "close enough".
8
 */
9
public record MOS6502Snapshot(int pc, int a, int x, int y, int stackPointer, int ir, int adl, int adh,
10
                              boolean negative, boolean signedOverflow, boolean breakFlag, boolean decimal,
11
                              boolean interruptDisable, boolean zero, boolean carry,
12
                              boolean irqLineAsserted, boolean nmiPending) {
13
    private static final int BYTE = 0xFF;
14
    private static final int X_SHIFT = 8;
15
    private static final int Y_SHIFT = 16;
16
    private static final int SP_SHIFT = 24;
17
    private static final int N = 0x80;
18
    private static final int V = 0x40;
19
    private static final int B = 0x10;
20
    private static final int D = 0x08;
21
    private static final int I = 0x04;
22
    private static final int Z = 0x02;
23
    private static final int C = 0x01;
24
    private static final int IRQ_LINE = 0x100;
25
    private static final int NMI_PENDING = 0x200;
26
27
    /** A, X, Y and SP in one int - for recording every instruction without allocating. */
28
    public static int packRegisters(final int a, final int x, final int y, final int stackPointer){
29 11 1. packRegisters : Replaced bitwise OR with AND → KILLED
2. packRegisters : Replaced bitwise OR with AND → KILLED
3. packRegisters : Replaced Shift Left with Shift Right → KILLED
4. packRegisters : Replaced bitwise AND with OR → KILLED
5. packRegisters : Replaced Shift Left with Shift Right → KILLED
6. packRegisters : Replaced bitwise AND with OR → KILLED
7. packRegisters : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Snapshot::packRegisters → KILLED
8. packRegisters : Replaced bitwise OR with AND → KILLED
9. packRegisters : Replaced bitwise AND with OR → KILLED
10. packRegisters : Replaced Shift Left with Shift Right → KILLED
11. packRegisters : Replaced bitwise AND with OR → KILLED
        return (a & BYTE) | (x & BYTE) << X_SHIFT | (y & BYTE) << Y_SHIFT | (stackPointer & BYTE) << SP_SHIFT;
30
    }
31
32
    /** The status flags (as NV-BDIZC bits) plus the IRQ line and NMI latch, in one int. */
33
    public static int packFlags(final boolean negative, final boolean signedOverflow, final boolean breakFlag,
34
                                final boolean decimal, final boolean interruptDisable, final boolean zero,
35
                                final boolean carry, final boolean irqLineAsserted, final boolean nmiPending){
36 8 1. packFlags : Replaced bitwise OR with AND → KILLED
2. packFlags : Replaced bitwise OR with AND → KILLED
3. packFlags : replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Snapshot::packFlags → KILLED
4. packFlags : negated conditional → KILLED
5. packFlags : negated conditional → KILLED
6. packFlags : Replaced bitwise OR with AND → KILLED
7. packFlags : negated conditional → KILLED
8. packFlags : negated conditional → KILLED
        return (negative ? N : 0) | (signedOverflow ? V : 0) | (breakFlag ? B : 0) | (decimal ? D : 0)
37 6 1. packFlags : Replaced bitwise OR with AND → KILLED
2. packFlags : negated conditional → KILLED
3. packFlags : Replaced bitwise OR with AND → KILLED
4. packFlags : negated conditional → KILLED
5. packFlags : negated conditional → KILLED
6. packFlags : Replaced bitwise OR with AND → KILLED
                | (interruptDisable ? I : 0) | (zero ? Z : 0) | (carry ? C : 0)
38 4 1. packFlags : negated conditional → KILLED
2. packFlags : Replaced bitwise OR with AND → KILLED
3. packFlags : Replaced bitwise OR with AND → KILLED
4. packFlags : negated conditional → KILLED
                | (irqLineAsserted ? IRQ_LINE : 0) | (nmiPending ? NMI_PENDING : 0);
39
    }
40
41
    /** Rebuilds a snapshot from {@link #packRegisters}/{@link #packFlags} - with no {@code ir}/{@code adl}/{@code adh}, which aren't recorded. */
42
    public static MOS6502Snapshot unpack(final int pc, final int registers, final int flags){
43 26 1. unpack : Replaced bitwise AND with OR → KILLED
2. unpack : negated conditional → KILLED
3. unpack : Replaced Unsigned Shift Right with Shift Left → KILLED
4. unpack : Replaced bitwise AND with OR → KILLED
5. unpack : negated conditional → KILLED
6. unpack : negated conditional → KILLED
7. unpack : Replaced bitwise AND with OR → KILLED
8. unpack : Replaced bitwise AND with OR → KILLED
9. unpack : Replaced bitwise AND with OR → KILLED
10. unpack : Replaced Unsigned Shift Right with Shift Left → KILLED
11. unpack : negated conditional → KILLED
12. unpack : negated conditional → KILLED
13. unpack : negated conditional → KILLED
14. unpack : Replaced bitwise AND with OR → KILLED
15. unpack : Replaced bitwise AND with OR → KILLED
16. unpack : Replaced bitwise AND with OR → KILLED
17. unpack : Replaced bitwise AND with OR → KILLED
18. unpack : replaced return value with null for com/rox/cpu/mos6502/MOS6502Snapshot::unpack → KILLED
19. unpack : Replaced bitwise AND with OR → KILLED
20. unpack : Replaced bitwise AND with OR → KILLED
21. unpack : Replaced Unsigned Shift Right with Shift Left → KILLED
22. unpack : Replaced bitwise AND with OR → KILLED
23. unpack : Replaced bitwise AND with OR → KILLED
24. unpack : negated conditional → KILLED
25. unpack : negated conditional → KILLED
26. unpack : negated conditional → KILLED
        return new MOS6502Snapshot(pc, registers & BYTE, registers >>> X_SHIFT & BYTE, registers >>> Y_SHIFT & BYTE,
44
                registers >>> SP_SHIFT & BYTE, 0, 0, 0,
45
                (flags & N) != 0, (flags & V) != 0, (flags & B) != 0, (flags & D) != 0, (flags & I) != 0,
46
                (flags & Z) != 0, (flags & C) != 0, (flags & IRQ_LINE) != 0, (flags & NMI_PENDING) != 0);
47
    }
48
}

Mutations

29

1.1
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

2.2
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

3.3
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced Shift Left with Shift Right → KILLED

4.4
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

5.5
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced Shift Left with Shift Right → KILLED

6.6
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

7.7
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Snapshot::packRegisters → KILLED

8.8
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

9.9
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

10.10
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced Shift Left with Shift Right → KILLED

11.11
Location : packRegisters
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

36

1.1
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

2.2
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

3.3
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
replaced int return with 0 for com/rox/cpu/mos6502/MOS6502Snapshot::packFlags → KILLED

4.4
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

5.5
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

6.6
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

7.7
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

8.8
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

37

1.1
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

2.2
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

3.3
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

4.4
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

5.5
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

6.6
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

38

1.1
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

2.2
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

3.3
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise OR with AND → KILLED

4.4
Location : packFlags
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

43

1.1
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

2.2
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

3.3
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced Unsigned Shift Right with Shift Left → KILLED

4.4
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

5.5
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

6.6
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

7.7
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

8.8
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

9.9
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

10.10
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced Unsigned Shift Right with Shift Left → KILLED

11.11
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

12.12
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

13.13
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

14.14
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

15.15
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

16.16
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

17.17
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

18.18
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
replaced return value with null for com/rox/cpu/mos6502/MOS6502Snapshot::unpack → KILLED

19.19
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

20.20
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

21.21
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced Unsigned Shift Right with Shift Left → KILLED

22.22
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

23.23
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
Replaced bitwise AND with OR → KILLED

24.24
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

25.25
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

26.26
Location : unpack
Killed by : com.rox.cpu.mos6502.MOS6502SnapshotTest.[engine:jqwik]/[class:com.rox.cpu.mos6502.MOS6502SnapshotTest]/[property:packedRegistersAndFlagsUnpackToTheSameState(int, int, int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean)]
negated conditional → KILLED

Active mutators

Tests examined


Report generated by PIT 1.22.1