|
|
|
|
|
by matheusmoreira
1760 days ago
|
|
Thanks for this, it's extremely awesome! Really happy to see others have gone so much farther than I ever did. I started looking into this myself some years ago. Even started developing a liblinux with process startup code and everything. Abandoned it after I found the kernel itself had an awesome nolibc.h file that was much more practical for my C programming needs: https://elixir.bootlin.com/linux/latest/source/tools/include... My code is in a bad state but if you'd like to take a look: https://github.com/matheusmoreira/liblinux It's amazing how this really lets you do everything... Want a JIT compiler? Map some executable pages and emit some code. You can statically allocate memory at process startup and use that for bootstrapping code. This lets you implement dynamic memory allocation and even garbage collection in your own language. |
|
> Want a JIT compiler? Map some executable pages and emit some code.
Yep, this is exactly what Wizard does.