mirror of
https://github.com/geode-sdk/geode.git
synced 2024-12-18 03:42:25 -05:00
33 lines
No EOL
889 B
C++
33 lines
No EOL
889 B
C++
#include "platform_macro.h"
|
|
#if defined(TARGET_ARCH_IA32)
|
|
|
|
#include "dobby_internal.h"
|
|
|
|
#include "core/modules/assembler/assembler-ia32.h"
|
|
#include "core/modules/codegen/codegen-ia32.h"
|
|
|
|
#include "InstructionRelocation/x86/X86InstructionRelocation.h"
|
|
|
|
#include "MemoryAllocator/NearMemoryArena.h"
|
|
#include "InterceptRouting/RoutingPlugin/RoutingPlugin.h"
|
|
|
|
using namespace zz::x86;
|
|
|
|
CodeBufferBase *GenerateNormalTrampolineBuffer(addr_t from, addr_t to) {
|
|
TurboAssembler turbo_assembler_((void *)from);
|
|
#define _ turbo_assembler_.
|
|
|
|
CodeGen codegen(&turbo_assembler_);
|
|
codegen.JmpNear((uint32_t)to);
|
|
|
|
CodeBufferBase *result = NULL;
|
|
result = turbo_assembler_.GetCodeBuffer()->Copy();
|
|
return result;
|
|
}
|
|
|
|
CodeBufferBase *GenerateNearTrampolineBuffer(InterceptRouting *routing, addr_t src, addr_t dst) {
|
|
DLOG(0, "x86 near branch trampoline enable default");
|
|
return NULL;
|
|
}
|
|
|
|
#endif |