mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-25 16:42:39 -06:00
dyncom: Remove dead function InterpreterInitInstLength
Technically eliminates two memory leaks as well.
This commit is contained in:
parent
092a67cefb
commit
67187c15a0
1 changed files with 0 additions and 27 deletions
|
@ -3429,8 +3429,6 @@ static tdstate decode_thumb_instr(arm_processor *cpu, uint32_t inst, addr_t addr
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int *InstLength;
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
KEEP_GOING,
|
KEEP_GOING,
|
||||||
FETCH_EXCEPTION
|
FETCH_EXCEPTION
|
||||||
|
@ -3515,28 +3513,6 @@ translated:
|
||||||
|
|
||||||
#define LOG_IN_CLR skyeye_printf_in_color
|
#define LOG_IN_CLR skyeye_printf_in_color
|
||||||
|
|
||||||
int cmp(const void *x, const void *y) {
|
|
||||||
return *(unsigned long long int*)x - *(unsigned long long int *)y;
|
|
||||||
}
|
|
||||||
|
|
||||||
void InterpreterInitInstLength(unsigned long long int *ptr, size_t size) {
|
|
||||||
int array_size = size / sizeof(void *);
|
|
||||||
unsigned long long int *InstLabel = new unsigned long long int[array_size];
|
|
||||||
memcpy(InstLabel, ptr, size);
|
|
||||||
qsort(InstLabel, array_size, sizeof(void *), cmp);
|
|
||||||
InstLength = new unsigned int[array_size - 4];
|
|
||||||
for (int i = 0; i < array_size - 4; i++) {
|
|
||||||
for (int j = 0; j < array_size; j++) {
|
|
||||||
if (ptr[i] == InstLabel[j]) {
|
|
||||||
InstLength[i] = InstLabel[j + 1] - InstLabel[j];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int i = 0; i < array_size - 4; i++)
|
|
||||||
LOG_DEBUG(Core_ARM11, "[%d]:%d", i, InstLength[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
int clz(unsigned int x) {
|
int clz(unsigned int x) {
|
||||||
int n;
|
int n;
|
||||||
if (x == 0) return (32);
|
if (x == 0) return (32);
|
||||||
|
@ -6564,9 +6540,6 @@ unsigned InterpreterMainLoop(ARMul_State* state) {
|
||||||
}
|
}
|
||||||
INIT_INST_LENGTH:
|
INIT_INST_LENGTH:
|
||||||
{
|
{
|
||||||
#if defined __GNUC__ || defined __clang__
|
|
||||||
InterpreterInitInstLength((unsigned long long int *)InstLabel, sizeof(InstLabel));
|
|
||||||
#endif
|
|
||||||
cpu->NumInstrsToExecute = 0;
|
cpu->NumInstrsToExecute = 0;
|
||||||
return num_instrs;
|
return num_instrs;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue