Babysitter Memory Allocator
Expert skill for custom memory allocator design optimized for language runtime needs
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/programming-languages/skills/memory-allocator" ~/.claude/skills/a5c-ai-babysitter-memory-allocator && rm -rf "$T"
manifest:
library/specializations/programming-languages/skills/memory-allocator/SKILL.mdsource content
Memory Allocator Skill
Overview
Expert skill for custom memory allocator design optimized for language runtime needs.
Capabilities
- Implement bump/arena allocators
- Implement free-list allocators with size classes
- Design slab allocators for fixed-size objects
- Implement thread-local allocation buffers (TLAB)
- Handle large object allocation strategies
- Implement memory pooling and recycling
- Design memory profiling and statistics
- Implement address space layout optimization
Target Processes
- memory-allocator-design.js
- garbage-collector-implementation.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
Dependencies
jemalloc, tcmalloc references
Usage Guidelines
- Size Classes: Design size classes to minimize internal fragmentation
- Thread Safety: Use thread-local allocation for hot paths
- Large Objects: Handle large objects separately from small allocations
- Profiling: Build allocation statistics from the start
- GC Integration: Design allocator API with GC integration in mind
Output Schema
{ "type": "object", "properties": { "allocatorType": { "type": "string", "enum": ["bump", "free-list", "slab", "hybrid"] }, "sizeClasses": { "type": "array", "items": { "type": "integer" } }, "threadSafety": { "type": "string", "enum": ["single-threaded", "tlab", "lock-free"] }, "generatedFiles": { "type": "array", "items": { "type": "string" } } } }