Initial libjit skeleton.
Not currently generating instructions, but most of the flow is right up to that point. A lot of work required to refactor the emitter, but wanted to get this checked in.
This commit is contained in:
43
src/xenia/cpu/libjit/libjit_emit.h
Normal file
43
src/xenia/cpu/libjit/libjit_emit.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* 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_LIBJIT_LIBJIT_EMIT_H_
|
||||
#define XENIA_CPU_LIBJIT_LIBJIT_EMIT_H_
|
||||
|
||||
#include <xenia/cpu/libjit/libjit_emitter.h>
|
||||
#include <xenia/cpu/ppc/instr.h>
|
||||
#include <xenia/cpu/ppc/state.h>
|
||||
|
||||
|
||||
namespace xe {
|
||||
namespace cpu {
|
||||
namespace libjit {
|
||||
|
||||
|
||||
void LibjitRegisterEmitCategoryALU();
|
||||
void LibjitRegisterEmitCategoryControl();
|
||||
void LibjitRegisterEmitCategoryFPU();
|
||||
void LibjitRegisterEmitCategoryMemory();
|
||||
|
||||
|
||||
#define XEEMITTER(name, opcode, format) int InstrEmit_##name
|
||||
|
||||
#define XEREGISTERINSTR(name, opcode) \
|
||||
RegisterInstrEmit(opcode, (InstrEmitFn)InstrEmit_##name);
|
||||
|
||||
#define XEINSTRNOTIMPLEMENTED()
|
||||
//#define XEINSTRNOTIMPLEMENTED XEASSERTALWAYS
|
||||
|
||||
|
||||
} // namespace libjit
|
||||
} // namespace cpu
|
||||
} // namespace xe
|
||||
|
||||
|
||||
#endif // XENIA_CPU_LIBJIT_LIBJIT_EMIT_H_
|
||||
Reference in New Issue
Block a user