Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rsduck/catnip
A library for runtime code generation
https://github.com/rsduck/catnip
jit nim x64
Last synced: about 4 hours ago
JSON representation
A library for runtime code generation
- Host: GitHub
- URL: https://github.com/rsduck/catnip
- Owner: RSDuck
- License: mit
- Created: 2021-05-04T13:30:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-17T23:41:50.000Z (about 2 years ago)
- Last Synced: 2023-05-16T04:23:36.162Z (over 1 year ago)
- Topics: jit, nim, x64
- Language: Nim
- Homepage:
- Size: 33.2 KB
- Stars: 15
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Catnip
A nondescriptively named runtime assembler e.g. for JIT recompilers.
**Why not improve the assembler in [laser](https://github.com/numforge/laser)(now found [here](https://github.com/mratsim/photon-jit.git))?**
I thought about doing this, but decided against it, mainly because registers are defined as compile time `static` parameters for some reasons? In any way it makes dynamic register allocation impossible (which is irreplacable for any decent JIT recompiler I can think of).
Though I can't deny that the declarative macro for defining the encodings wasn't inspired by it :D.
## Planned things
- Better tests
- Support more x64
- Support assembling aarch64