aboutsummaryrefslogtreecommitdiff
path: root/client/src/assembler/assembler.cpp
blob: cf41ad1ff1e54282985643103456618452d8d6e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "../include.h"
#include "assembler.h"

void assembler::start() {}

void assembler::push(const std::vector<uintptr_t>& args) {
  if (!m_x64) {
    for (auto it = args.rbegin(); it != args.rend(); ++it) {
      m_assembler.push(*it);
    }
    return;
  }
  
  // 64bit impl
}

void assembler::call(const uintptr_t addr) {}

void assembler::end() {
  if (m_x64) {
  }

  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);
}