mirror of
https://github.com/MoleskiCoder/EightBit.git
synced 2025-03-06 06:30:14 +00:00
Speedup by using string_view in memory read/write events
This commit is contained in:
parent
6599a4ba47
commit
ef0f8a5654
@ -1,20 +1,20 @@
|
||||
#include "stdafx.h"
|
||||
#include "checker_t.h"
|
||||
|
||||
void checker_t::addActualCycle(const uint16_t address, const uint8_t value, const std::string action) {
|
||||
void checker_t::addActualCycle(const uint16_t address, const uint8_t value, const std::string_view action) {
|
||||
m_actualCycles.push_back({ address, value, action });
|
||||
}
|
||||
|
||||
void checker_t::addActualCycle(const EightBit::register16_t address, const uint8_t value, const std::string action) {
|
||||
void checker_t::addActualCycle(const EightBit::register16_t address, const uint8_t value, const std::string_view action) {
|
||||
addActualCycle(address.word, value, action);
|
||||
}
|
||||
|
||||
void checker_t::addActualReadCycle(const EightBit::register16_t address, const uint8_t value) {
|
||||
addActualCycle(address, value, "read");
|
||||
addActualCycle(address, value, m_read_action);
|
||||
}
|
||||
|
||||
void checker_t::addActualWriteCycle(const EightBit::register16_t address, const uint8_t value) {
|
||||
addActualCycle(address, value, "write");
|
||||
addActualCycle(address, value, m_write_action);
|
||||
}
|
||||
|
||||
void checker_t::dumpCycles(const std::string which, const actual_cycles_t& events) {
|
||||
|
@ -20,7 +20,10 @@ private:
|
||||
std::ostringstream m_os;
|
||||
std::vector<std::string> m_messages;
|
||||
|
||||
typedef std::tuple<uint16_t, uint8_t, std::string> actual_cycle_t;
|
||||
const std::string m_read_action = { "read" };
|
||||
const std::string m_write_action = { "write" };
|
||||
|
||||
typedef std::tuple<uint16_t, uint8_t, std::string_view> actual_cycle_t;
|
||||
typedef std::vector<actual_cycle_t> actual_cycles_t;
|
||||
actual_cycles_t m_actualCycles;
|
||||
bool m_cycle_count_mismatch = false;
|
||||
@ -50,8 +53,8 @@ private:
|
||||
|
||||
bool check(std::string_view what, uint16_t address, uint8_t expected, uint8_t actual);
|
||||
|
||||
void addActualCycle(uint16_t address, uint8_t value, std::string action);
|
||||
void addActualCycle(EightBit::register16_t address, uint8_t value, std::string action);
|
||||
void addActualCycle(uint16_t address, uint8_t value, std::string_view action);
|
||||
void addActualCycle(EightBit::register16_t address, uint8_t value, std::string_view action);
|
||||
|
||||
void addActualReadCycle(EightBit::register16_t address, uint8_t value);
|
||||
void addActualWriteCycle(EightBit::register16_t address, uint8_t value);
|
||||
|
Loading…
x
Reference in New Issue
Block a user