Register allocation
Skill a5c-ai/babysitter/library/specializations/programming-languages/skills/register-allocation
Expert skill for register allocation algorithms including graph coloring, linear scan, and spill code generationFrom its SKILL.md
npx -y skills add a5c-ai/babysitter --skill register-allocationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.9 KB, 346 tokens by cl100k_base, as published. Nobody here has run it
Register Allocation Skill
Overview
Expert skill for register allocation algorithms including graph coloring, linear scan, and spill code generation.
Capabilities
- Implement graph coloring register allocation
- Implement linear scan register allocation
- Generate spill code with minimal overhead
- Handle calling convention register constraints
- Implement register coalescing
- Handle pre-colored nodes and fixed registers
- Implement live range splitting
- Design register pressure analysis
Target Processes
- jit-compiler-development.js
- code-generation-llvm.js
- bytecode-vm-implementation.js
Dependencies
None (algorithmic skill)
Usage Guidelines
- Algorithm Selection: Use linear scan for JIT (fast), graph coloring for AOT (optimal)
- Live Ranges: Compute accurate live ranges before allocation
- Spill Costs: Use heuristics to minimize spill costs (loop depth, usage frequency)
- Calling Conventions: Handle caller/callee-saved registers correctly
- Coalescing: Implement aggressive coalescing to reduce moves
Output Schema
{
"type": "object",
"properties": {
"algorithm": {
"type": "string",
"enum": ["graph-coloring", "linear-scan", "second-chance-binpacking"]
},
"spillStrategy": { "type": "string" },
"registerClasses": {
"type": "array",
"items": { "type": "string" }
},
"generatedFiles": {
"type": "array",
"items": { "type": "string" }
}
}
}
What ships with it: 1 file
788 B alongside SKILL.md
- README.md788 B