geode/loader/dobby/source/MemoryAllocator/AssemblyCodeBuilder.h
2022-07-30 19:24:03 +03:00

39 lines
1.1 KiB
C++

#ifndef MemoryAllocator_AssemblyCodeBuilder_h
#define MemoryAllocator_AssemblyCodeBuilder_h
#include "MemoryAllocator/MemoryArena.h"
#include "core/modules/assembler/assembler.h"
using namespace zz;
class AssemblyCodeBuilder {
public:
// realize the buffer address to runtime code, and create a corresponding Code Object
static AssemblyCodeChunk *FinalizeFromAddress(addr_t address, int size);
// realize the buffer address to runtime code, and create a corresponding Code Object
static AssemblyCodeChunk *FinalizeFromTurboAssembler(AssemblerBase *assembler);
// inline void init_region_range(addr_t address, int size) {
// code_range_.address = (void *)address;
// code_range_.length = size;
// }
// inline void re_init_region_range(addr_t address, int size) {
// this->init_region_range(address, size);
// }
// inline addr_t raw_instruction_start() {
// return (addr_t)code_range_.address;
// };
// inline int raw_instruction_size() {
// return (int)code_range_.length;
// };
private:
// AssemblyCodeChunk code_range_;
};
#endif