diff options
| author | auth <[email protected]> | 2020-07-03 14:30:26 +0200 |
|---|---|---|
| committer | auth <[email protected]> | 2020-07-03 14:30:26 +0200 |
| commit | 40025e07ca06f48d21b583adc9f78b7b10d90995 (patch) | |
| tree | 08cc6c5fff5953e0f61b851615d4ebdf93dc7733 /client/src/assembler/assembler.cpp | |
| parent | Added client timeout. (diff) | |
| download | loader-40025e07ca06f48d21b583adc9f78b7b10d90995.tar.xz loader-40025e07ca06f48d21b583adc9f78b7b10d90995.zip | |
Started asmjit wrapper for easier manipulation.
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 |