Files
Xenia-Canary/src/xenia/cpu/x64/x64_jit.h
Ben Vanik 26ec76ef35 A lot of progress on altivec instructions.
Some bad results, still, and some instructions are not decoding right.
2013-09-29 21:05:48 -07:00

56 lines
1.4 KiB
C++

/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2013 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_CPU_X64_X64_JIT_H_
#define XENIA_CPU_X64_X64_JIT_H_
#include <xenia/core.h>
#include <xenia/cpu/jit.h>
#include <xenia/cpu/ppc.h>
#include <xenia/cpu/sdb.h>
#include <xenia/cpu/x64/x64_emitter.h>
namespace xe {
namespace cpu {
namespace x64 {
class X64JIT : public JIT {
public:
X64JIT(xe_memory_ref memory, sdb::SymbolTable* sym_table);
virtual ~X64JIT();
virtual int Setup();
virtual void SetupGpuPointers(void* gpu_this,
void* gpu_read, void* gpu_write);
virtual int InitModule(ExecModule* module);
virtual int UninitModule(ExecModule* module);
virtual void* GetFunctionPointer(sdb::FunctionSymbol* fn_symbol);
virtual int Execute(xe_ppc_state_t* ppc_state,
sdb::FunctionSymbol* fn_symbol);
protected:
int CheckProcessor();
void DumpCPUInfo();
X64Emitter* emitter_;
};
} // namespace x64
} // namespace cpu
} // namespace xe
#endif // XENIA_CPU_X64_X64_JIT_H_