geode/loader/dobby/source/TrampolineBridge/Trampoline/x86/trampoline-x86.cc

33 lines
889 B
C++
Raw Normal View History

2022-07-30 12:24:03 -04:00
#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