asmjit
ChrysaLisp
Our great sponsors
asmjit | ChrysaLisp | |
---|---|---|
9 | 12 | |
3,801 | 1,591 | |
1.7% | - | |
8.2 | 9.9 | |
26 days ago | 7 days ago | |
C++ | C++ | |
zlib License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
asmjit
-
The 6502 instruction set as a database
Some other instruction sets in some JSON: https://github.com/asmjit/asmjit/tree/master/db
-
30 years of DOOM: new code, new bugs
The attentive reader may notice that this code is from a third-party library. So, we didn't want to include it in the article at first. However, we found something interesting. In 2017, somebody opened an issue in the asmjit project: the GCC 7.2 compiler issued a warning to the code above. The project authors fixed it:
-
How do I get the registers of a process in C++?
You can use something like https://asmjit.com/ to generate and call x64 code at runtime.
- Ask HN: Recommendation for general purpose JIT compiler
-
Compiler Design in C++
But an easy to create a JIT would be to use https://github.com/asmjit/asmjit, which is used in RPCS3.
-
Are there any low level, cross platform assembly languages that allow jumping to non labels?
You could go the way of https://asmjit.com (or forth) and make it your assembler DSL on top of the low-level call.
-
C++ libraries for filtering collections and expression trees
But if you're willing to get closer to the hardware is https://github.com/bitfunnel/nativejit/ and https://asmjit.com/
- AsmJit
-
Wrapping dynamically generated void(*)() pointers in try-catch?
https://github.com/asmjit/asmjit is nice. But using a JIT seems like a sledgehammer working around a lacking design.
ChrysaLisp
- Chrysalisp: Parallel OS with GUI, Terminal, OO Assembler, C-Script and Lisp
-
ChrysaLisp GUI Demo [video]
Inspired by the TaOS Virtual Processor[0]:
"ChrysaLisp is a 64-bit, MIMD, multi-CPU, multi-threaded, multi-core, multi-user parallel operating system with features such as a GUI, terminal, OO Assembler, class libraries, C-Script compiler, Lisp interpreter, debugger, profiler, vector font engine, and more. It supports MacOS, Windows, and Linux for x64, Riscv64 and Arm64 and eventually will move to bare metal. It also allows the modeling of various network topologies and the use of ChrysaLib hub_nodes to join heterogeneous host networks. It has a virtual CPU instruction set and a powerful object and class system for the assembler and high-level languages. It has function-level dynamic binding and loading and a command terminal with a familiar interface for pipe-style command line applications. A Common Lisp-like interpreter is also provided."[1]
More HN discussion, with links to more discussion[2].
[0] https://news.ycombinator.com/item?id=9806607
- I don't know what this is but it looks cool
-
ChrysaLisp
Thanks, this saved me some time. I was just debugging why the project I work on (LibHunt) hadn't logged the mention of https://github.com/vygr/ChrysaLisp on this post... the reason being - you've updated the URL after it was submitted.
-
Beginner OS development project
I'll give another OS project to contribute to where the developers will help you a lot with your understanding of OS development: https://github.com/vygr/ChrysaLisp
-
What are some examples of not mainstream programming languages that have a blog?
One of the projects I've enjoyed working on in the past is: ChrysaLisp OS/Lang
-
How do you conceptualize this?
It’s no grand work of coding but: https://github.com/vygr/ChrysaLisp/lib/date/date.inc
-
Lisp Implementations similiar to old Lisp Machines?
ChrysaLisp is portable assembler in () more than Lisp - any other Lisp system wouldn't have comments about clobbering registers.
What are some alternatives?
fasmg - flat assembler g - adaptable assembly engine
McCLIM - An implementation of the Common Lisp Interface Manager, version II
mir - A lightweight JIT compiler based on MIR (Medium Internal Representation) and C11 JIT compiler and interpreter based on MIR
EU4dll - Europa Universalis IV double byte language patch; master:1.34.2, dev:1.36.2.0
oneDNN - oneAPI Deep Neural Network Library (oneDNN)
Smalltalk - By the Bluebook implementation of Smalltalk-80
mlibc - Portable C standard library
hera - Hera: Ewasm virtual machine conforming to the EVMC API
dynarmic - An ARM dynamic recompiler.
ulisp-arm - A version of the Lisp programming language for ARM-based boards.
Cwerg - The best C-like language that can be implemented in 10kLOC.
Raspberry-Pi - My public Baremetal Raspberry Pi code