Projects

elfmalloc

written in Rust

elfmalloc is a general-purpose allocator written in Rust. Its performance exceeds that of state-of-the-art allocators such as jemalloc.


Allocator utilities

written in Rust

The following are utilities designed to assist in the implementation of a global allocator in Rust.


slab-alloc

written in Rust

slab-alloc provides a typed slab allocator inspired by Jeff Bonwick's original design described in The Slab Allocator: An Object-Caching Kernel Memory Allocator.


mmap-alloc

written in Rust

mmap-alloc provides a Rust Alloc which is backed by directly mapping memory pages.


gopack

written in Go

gopack is a Go package which provides bit packing, including emulation of C bit fields through run-time reflection and code generation.


acl

written in Go

acl is a Go package providing support for accessing and modifying POSIX access control lists (ACLs).


Machine

written in C

Machine is an emulator for a computer with a simple architecture and instruction set. It is a word-oriented architecture with 32-bit words. It comprises word registers, word-addressed memory, and a simple I/O device. Additionally, it supports a protected mode extension that allows fully safe kernels to be written for it. It is intended to be used in an educational or research setting, allowing binaries to be run universally and without concern for physical architecture.


Recursive RPN Calculator

written in Go

This simple, 150-line program is a standard rpn calculator with a twist. While it behaves exactly the same as a normal rpn calculator, it’s implemented without an explicit stack. Instead, it uses recursion to simulate a stack, and function-passing to allow for the use of arithmetic and other operators.


illegal

written in Go

illegal is a Go package which provides run-time support for operations which are either not implemented as language features, or which have native support but are explicitly disallowed by the compiler. For example, Go does not have generics; illegal implements common functional, generic functions such as map and filter. For another example, Go allows function pointers to be compared to nil, but not to one another; illegal provides a workaround which allows to function pointers to be compared for equality. Most of illegal’s functionality is achieved through use of Go’s robust run-time reflection.