mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-23 16:07:52 -05:00
40 lines
1.1 KiB
C
40 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
|