Назад към всички

Garbage Collection

// Expert skill for garbage collector design and implementation including various collection algorithms

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameGarbage Collection
descriptionExpert skill for garbage collector design and implementation including various collection algorithms
categoryMemory Management
allowed-toolsRead,Write,Edit,Glob,Grep,Bash

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

  1. Algorithm Selection: Start with simple mark-sweep, evolve to generational as needed
  2. Write Barriers: Design write barriers early if considering generational/concurrent GC
  3. Root Scanning: Implement precise root scanning for safety
  4. Pause Times: Measure pause times and optimize for application requirements
  5. 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",
      "enum": ["conservative", "precise"]
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}