diff options
Diffstat (limited to 'client/src/assembler/assembler.cpp')
| -rw-r--r-- | client/src/assembler/assembler.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/client/src/assembler/assembler.cpp b/client/src/assembler/assembler.cpp new file mode 100644 index 0000000..43816fd --- /dev/null +++ b/client/src/assembler/assembler.cpp @@ -0,0 +1,21 @@ +#include "../include.h" +#include "assembler.h" + +void assembler::assembler::push(const std::vector<uintptr_t>& args) { + for (auto it = args.rbegin(); it != args.rend(); ++it) { + m_assembler.push(*it); + } +} + +void assembler::assembler::end() { + // epilogue here + + void* func; + m_runtime.add(&func, &m_code); + + const size_t size = m_code.codeSize(); + + m_buf.resize(size); + + std::memcpy(&m_buf[0], func, size); +}
\ No newline at end of file |