Disabled call stack tracing when using the PPU LLVM recompiler

This commit is contained in:
S Gopal Rajagopal 2014-11-09 11:50:01 +05:30
parent 80294e1034
commit 5c468d7591
4 changed files with 8 additions and 2 deletions

View File

@ -29,6 +29,7 @@ CPUThread::CPUThread(CPUThreadType type)
, m_status(Stopped)
, m_last_syscall(0)
, m_trace_enabled(false)
, m_trace_call_stack(true)
{
}
@ -155,7 +156,7 @@ void CPUThread::SetBranch(const u32 pc, bool record_branch)
m_is_branch = true;
nPC = pc;
if(record_branch)
if(m_trace_call_stack && record_branch)
CallStackBranch(pc);
}

View File

@ -43,6 +43,8 @@ protected:
CPUDecoder* m_dec;
bool m_trace_call_stack;
public:
virtual void InitRegs()=0;
@ -177,6 +179,8 @@ public:
u32 GetId() const { return m_id; }
CPUThreadType GetType() const { return m_type; }
void SetCallStackTracing(bool trace_call_stack) { m_trace_call_stack = trace_call_stack; }
void Reset();
void Close();
void Run();

View File

@ -237,7 +237,7 @@ Executable Compiler::Compile(const std::string & name, const ControlFlowGraph &
m_stats.ir_build_time += std::chrono::duration_cast<std::chrono::nanoseconds>(ir_build_end - compilation_start);
// Optimize this function
//m_fpm->run(*m_state.function);
m_fpm->run(*m_state.function);
auto optimize_end = std::chrono::high_resolution_clock::now();
m_stats.optimization_time += std::chrono::duration_cast<std::chrono::nanoseconds>(optimize_end - ir_build_end);

View File

@ -111,6 +111,7 @@ void PPUThread::DoRun()
break;
case 2:
SetCallStackTracing(false);
if (!m_dec) {
m_dec = new ppu_recompiler_llvm::ExecutionEngine(*this);
}