(unofficial mirror fork of merryhime/dynarmic)
Find a file
Merry 4e89756169 Squashed 'externals/oaknut/' changes from c2cb5ec49..c0c715505
c0c715505 oaknut: pragma once

git-subtree-dir: externals/oaknut
git-subtree-split: c0c715505020e69e3acbd959cbfe112083f292b5
2022-07-16 20:28:26 +01:00
.github/workflows Squashed 'externals/oaknut/' changes from 86f2ca872..c2cb5ec49 2022-07-12 20:41:36 +01:00
include/oaknut Squashed 'externals/oaknut/' changes from c2cb5ec49..c0c715505 2022-07-16 20:28:26 +01:00
tests Squashed 'externals/oaknut/' content from commit 86f2ca872 2022-07-10 09:35:44 +01:00
.clang-format Squashed 'externals/oaknut/' content from commit 86f2ca872 2022-07-10 09:35:44 +01:00
.gitignore Squashed 'externals/oaknut/' content from commit 86f2ca872 2022-07-10 09:35:44 +01:00
CMakeLists.txt Squashed 'externals/oaknut/' changes from 86f2ca872..c2cb5ec49 2022-07-12 20:41:36 +01:00
LICENSE Squashed 'externals/oaknut/' content from commit 86f2ca872 2022-07-10 09:35:44 +01:00
README.md Squashed 'externals/oaknut/' content from commit 86f2ca872 2022-07-10 09:35:44 +01:00

Oaknut

A C++20 assembler for AArch64 (ARMv8.0)

Oaknut is a header-only library that allows one to dynamically assemble code in-memory at runtime.

Usage

Simple example:

using EmittedFunction = int (*)();

EmittedFunction EmitExample(oaknut::CodeGenerator& code, int value)
{
    using namespace oaknut::util;

    EmittedFunction result = code.ptr<EmittedFunction>();

    code.MOVZ(W0, value);
    code.RET();

    return result;
}

License

This project is MIT licensed.