From ee625cb8a8f34cfb03106361a76a61a2db97fe1d Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 25 Dec 2021 14:05:38 -0500 Subject: [PATCH] Minor style improvements; especially: don't assume value of NoBusProgram. --- Processors/68000/Implementation/68000Storage.hpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Processors/68000/Implementation/68000Storage.hpp b/Processors/68000/Implementation/68000Storage.hpp index 6f5deeb50..c3634d17d 100644 --- a/Processors/68000/Implementation/68000Storage.hpp +++ b/Processors/68000/Implementation/68000Storage.hpp @@ -326,22 +326,24 @@ class ProcessorStorage { // steps detail appropriately. PrepareINTVector, }; - static constexpr int SourceMask = 1 << 7; + static_assert(uint8_t(Action::PrepareINTVector) < 32); // i.e. will fit into five bits. + + static constexpr int SourceMask = 1 << 5; static constexpr int DestinationMask = 1 << 6; - uint8_t action = uint8_t(Action::None); + uint8_t action = uint8_t(Action::None); // Requires 7 bits at present; sizeof(Action) + the two flags above. static constexpr uint16_t NoBusProgram = std::numeric_limits::max(); - uint16_t bus_program = NoBusProgram; + uint16_t bus_program = NoBusProgram; // Empirically requires 11 bits at present. - MicroOp() {} - MicroOp(uint8_t action) : action(action) {} + MicroOp(): action(uint8_t(Action::None)), bus_program(NoBusProgram) {} + MicroOp(uint8_t action) : action(action), bus_program(NoBusProgram) {} MicroOp(uint8_t action, uint16_t bus_program) : action(action), bus_program(bus_program) {} MicroOp(Action action) : MicroOp(uint8_t(action)) {} MicroOp(Action action, uint16_t bus_program) : MicroOp(uint8_t(action), bus_program) {} forceinline bool is_terminal() const { - return bus_program == std::numeric_limits::max(); + return bus_program == NoBusProgram; } };