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_status(Stopped)
, m_last_syscall(0) , m_last_syscall(0)
, m_trace_enabled(false) , 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; m_is_branch = true;
nPC = pc; nPC = pc;
if(record_branch) if(m_trace_call_stack && record_branch)
CallStackBranch(pc); CallStackBranch(pc);
} }

View file

@ -43,6 +43,8 @@ protected:
CPUDecoder* m_dec; CPUDecoder* m_dec;
bool m_trace_call_stack;
public: public:
virtual void InitRegs()=0; virtual void InitRegs()=0;
@ -177,6 +179,8 @@ public:
u32 GetId() const { return m_id; } u32 GetId() const { return m_id; }
CPUThreadType GetType() const { return m_type; } CPUThreadType GetType() const { return m_type; }
void SetCallStackTracing(bool trace_call_stack) { m_trace_call_stack = trace_call_stack; }
void Reset(); void Reset();
void Close(); void Close();
void Run(); 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); m_stats.ir_build_time += std::chrono::duration_cast<std::chrono::nanoseconds>(ir_build_end - compilation_start);
// Optimize this function // Optimize this function
//m_fpm->run(*m_state.function); m_fpm->run(*m_state.function);
auto optimize_end = std::chrono::high_resolution_clock::now(); 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); 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; break;
case 2: case 2:
SetCallStackTracing(false);
if (!m_dec) { if (!m_dec) {
m_dec = new ppu_recompiler_llvm::ExecutionEngine(*this); m_dec = new ppu_recompiler_llvm::ExecutionEngine(*this);
} }