DSPAnalyzer: Use a std::array for the code flags
This commit is contained in:
parent
d734ba1469
commit
b09ce72605
|
@ -2,6 +2,8 @@
|
||||||
// Licensed under GPLv2
|
// Licensed under GPLv2
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
|
||||||
#include "Core/DSP/DSPAnalyzer.h"
|
#include "Core/DSP/DSPAnalyzer.h"
|
||||||
#include "Core/DSP/DSPInterpreter.h"
|
#include "Core/DSP/DSPInterpreter.h"
|
||||||
#include "Core/DSP/DSPMemoryMap.h"
|
#include "Core/DSP/DSPMemoryMap.h"
|
||||||
|
@ -10,7 +12,7 @@
|
||||||
namespace DSPAnalyzer {
|
namespace DSPAnalyzer {
|
||||||
|
|
||||||
// Holds data about all instructions in RAM.
|
// Holds data about all instructions in RAM.
|
||||||
u8 code_flags[ISPACE];
|
std::array<u8, ISPACE> code_flags;
|
||||||
|
|
||||||
// Good candidates for idle skipping is mail wait loops. If we're time slicing
|
// Good candidates for idle skipping is mail wait loops. If we're time slicing
|
||||||
// between the main CPU and the DSP, if the DSP runs into one of these, it might
|
// between the main CPU and the DSP, if the DSP runs into one of these, it might
|
||||||
|
@ -62,7 +64,7 @@ const u16 idle_skip_sigs[NUM_IDLE_SIGS][MAX_IDLE_SIG_SIZE + 1] =
|
||||||
|
|
||||||
static void Reset()
|
static void Reset()
|
||||||
{
|
{
|
||||||
memset(code_flags, 0, sizeof(code_flags));
|
code_flags.fill(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnalyzeRange(int start_addr, int end_addr)
|
static void AnalyzeRange(int start_addr, int end_addr)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
#include "Core/DSP/DSPInterpreter.h"
|
#include "Core/DSP/DSPInterpreter.h"
|
||||||
|
|
||||||
// Basic code analysis.
|
// Basic code analysis.
|
||||||
|
@ -27,7 +28,7 @@ enum
|
||||||
// Easy to query array covering the whole of instruction memory.
|
// Easy to query array covering the whole of instruction memory.
|
||||||
// Just index by address.
|
// Just index by address.
|
||||||
// This one will be helpful for debuggers and jits.
|
// This one will be helpful for debuggers and jits.
|
||||||
extern u8 code_flags[ISPACE];
|
extern std::array<u8, ISPACE> code_flags;
|
||||||
|
|
||||||
// This one should be called every time IRAM changes - which is basically
|
// This one should be called every time IRAM changes - which is basically
|
||||||
// every time that a new ucode gets uploaded, and never else. At that point,
|
// every time that a new ucode gets uploaded, and never else. At that point,
|
||||||
|
|
Loading…
Reference in New Issue