Our great sponsors
-
compiler
an incomplete toy barebones compiler backend for amd64 x86_64 in Python and an incomplete JIT compiler written in C (by samsquire)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
epoll-server
C code for multithreaded multiplexing client socket connections across multiple threads (so its X connections per thread) uses epoll
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I do code generation manually, not through assembly like my python compiler (in the same repository) and not in the same style as my python assembler https://github.com/samsquire/assembler . I do linear scan register allocation. I do live range analysis and use ANF A normal form intermediate representation. I don't implement spill logic to memory yet. I need to implement parameter passing to functions.
I adapted the garbage collector at Writing a Simple Garbage Collector in C (maplant.com) to add extremely primitive simple register scanning. I am thinking I can expose an ABI to the runtime to call the GC. https://github.com/samsquire/garbage-collection
I also have a M:N m kernel threads to N lightweight thread userspace preemptive scheduler at https://github.com/samsquire/preemptible-thread It would be nice to schedule lightweight threads in a JIT compiler. Imagine being capable of running processes similar to BEAM and Go but with JIT.
I also have some epoll server code at https://github.com/samsquire/epoll-server