EightBit/Intel8080/inc/Profiler.h

24 lines
425 B
C
Raw Normal View History

#pragma once
#include <array>
#include <cstdint>
namespace EightBit {
class Profiler {
public:
Profiler() noexcept;
~Profiler();
void addInstruction(uint8_t instruction);
void addAddress(uint16_t address);
void dump() const;
private:
std::array<uint64_t, 0x100> m_instructions;
std::array<uint64_t, 0x10000> m_addresses;
void dumpInstructionProfiles() const;
void dumpAddressProfiles() const;
};
}