Skip to content
This repository was archived by the owner on Mar 12, 2024. It is now read-only.

rusini/jit-asm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JIT-asm

rusini's fast and simple run-time "assembler" and relocating loader for building up "object code" (kind of relocatable machine code), which is emitted by a JIT compiler code generator, and eventually loading it into target address as executable segment

The principal beneficiary of this library is to be the upcoming JIT compiler for the MANOOL programming language.

Although called "assembler", it does not pretend to support coding with assembly mnemonics, which is beyond the scope of this subproject. The point is that it allows you to use symbolic addresses (AKA labels) and multiple assembly sections (corresponding to .text and .rodata sections in System V ABI) during the course of incremental code emission, which is suitable for implementing efficient one-pass (tree-walking) code generators.

Sample piece of code using the API

You can find an example demostrating most facilities of the library in test.cc.

Building the code in the repository

g++ -{w,std=c++17} -{O3,s} {jit-asm,test}.cc

About

JIT-asm -- rusini's fast and simple run-time "assembler" and relocating loader

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages