Slitter: A slab allocator that trusts, but verifies

pvk.ca

Slitter is Backtrace’s deliberately middle-of-the-road thread-caching slab allocator, with explicit allocation class tags (rather than derived from the object’s size class). It’s mostly written in Rust, and we use it in our C backend server. Slitter’s design is about as … Read more

SBCL: The Assembly Code Breadboard (2014)

pvk.ca
sbcl:-the-assembly-code-breadboard-(2014)

EDIT: Lutz Euler points out that the NEXT sequence (used to) encode an effective address with an index register but no base. The mistake doesn’t affect the meaning of the instruction, but forces a wasteful encoding. The difference in machine … Read more

All you need is call/cc (2013)

pvk.ca

I was going to post this as a comment on r/lisp, but I feel it’s grown a bit too much for the platform. For one time only, this blog will host some Racket code. I apologise in advance to any … Read more

Stuff Your Logs

pvk.ca

Originally cross-posted on the Backtrace.io engineering blog. Nine months ago, we embarked on a format migration for the persistent (on-disk) representation of variable-length strings like symbolicated call stacks in the Backtrace server. We chose a variant of consistent overhead byte … Read more