Files
dolphin/Source/Core/Core/PowerPC/JitInterface.h
Lioncash 7aa305ea35 Profiler: Migrate global g_ProfileBlocks boolean to JitOptions
This global belongs in the JitOptions structure, as it's a conditional
setting (A.K.A. option) that changes the behavior of what the JIT does.

Plus it keeps the scope of the variable constrained to the general area
it's intended to be used and nothing further.
2018-08-27 11:30:19 -04:00

67 lines
1.2 KiB
C++

// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#pragma once
#include <string>
#include "Common/CommonTypes.h"
#include "Core/MachineContext.h"
class CPUCoreBase;
class PointerWrap;
namespace PowerPC
{
enum class CPUCore;
}
namespace Profiler
{
struct ProfileStats;
}
namespace JitInterface
{
enum class ExceptionType
{
FIFOWrite,
PairedQuantize,
SpeculativeConstants
};
void DoState(PointerWrap& p);
CPUCoreBase* InitJitCore(PowerPC::CPUCore core);
CPUCoreBase* GetCore();
// Debugging
enum class ProfilingState
{
Enabled,
Disabled
};
void SetProfilingState(ProfilingState state);
void WriteProfileResults(const std::string& filename);
void GetProfileResults(Profiler::ProfileStats* prof_stats);
int GetHostCode(u32* address, const u8** code, u32* code_size);
// Memory Utilities
bool HandleFault(uintptr_t access_address, SContext* ctx);
bool HandleStackFault();
// Clearing CodeCache
void ClearCache();
void ClearSafe();
// If "forced" is true, a recompile is being requested on code that hasn't been modified.
void InvalidateICache(u32 address, u32 size, bool forced);
void CompileExceptionCheck(ExceptionType type);
void Shutdown();
}