| name | Garbage Collection |
| description | Expert skill for garbage collector design and implementation including various collection algorithms |
| category | Memory Management |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:programming-languages"],"skillAreas":["skill-area:profiling-memory","skill-area:compiler-implementation"],"roles":["role:backend-engineer"]} |
Garbage Collection Skill
Overview
Expert skill for garbage collector design and implementation including various collection algorithms.
Capabilities
- Implement mark-sweep collection
- Implement copying/semi-space collectors
- Implement generational collection with write barriers
- Implement concurrent/incremental marking (tri-color)
- Design object header layouts and type info
- Implement precise vs conservative root scanning
- Design card table and remembered set implementations
- Implement finalizers and weak references
Target Processes
- garbage-collector-implementation.js
- memory-allocator-design.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
Dependencies
GC Handbook literature (Jones, Hosking, Moss)
Usage Guidelines
- Algorithm Selection: Start with simple mark-sweep, evolve to generational as needed
- Write Barriers: Design write barriers early if considering generational/concurrent GC
- Root Scanning: Implement precise root scanning for safety
- Pause Times: Measure pause times and optimize for application requirements
- Testing: Build GC stress tests and allocation-heavy benchmarks
Output Schema
{
"type": "object",
"properties": {
"algorithm": {
"type": "string",
"enum": ["mark-sweep", "copying", "mark-compact", "generational", "concurrent"]
},
"writeBarrier": {
"type": "string",
"enum": ["none", "card-table", "remembered-set", "snapshot-at-beginning", "incremental-update"]
},
"rootScanning": {
"type": "string"