Additional fixes and buildfixes

This commit is contained in:
Henrik Rydgard 2016-05-08 22:23:51 +02:00
parent f8659b8e1e
commit 4e52f613f1
3 changed files with 7 additions and 1 deletions

View file

@ -17,6 +17,8 @@
#pragma once
#include <cstring>
#include "Common/CPUDetect.h"
#include "Core/MIPS/JitCommon/JitState.h"
#include "Core/MIPS/JitCommon/JitBlockCache.h"

View file

@ -60,6 +60,10 @@ bool PropagateConstants(const IRWriter &in, IRWriter &out) {
for (int i = 0; i < (int)in.GetInstructions().size(); i++) {
IRInst inst = in.GetInstructions()[i];
bool symmetric = true;
if (out.GetConstants().size() > 128) {
// Avoid causing a constant explosion.
goto doDefault;
}
switch (inst.op) {
case IROp::SetConst:
gpr.SetImm(inst.dest, constants[inst.src1]);

View file

@ -123,7 +123,7 @@ inline void WriteToHardware(u32 address, const T data) {
*(T*)GetPointerUnchecked(address) = data;
} else {
// In jit, we only flush PC when bIgnoreBadMemAccess is off.
if (g_Config.iCpuCore != CPU_CORE_INTERPRETER && g_Config.bIgnoreBadMemAccess) {
if (g_Config.iCpuCore == CPU_CORE_JIT && g_Config.bIgnoreBadMemAccess) {
WARN_LOG(MEMMAP, "WriteToHardware: Invalid address %08x", address);
} else {
WARN_LOG(MEMMAP, "WriteToHardware: Invalid address %08x PC %08x LR %08x", address, currentMIPS->pc, currentMIPS->r[MIPS_REG_RA]);