# Bytecode VM

> Expert skill for bytecode virtual machine design including instruction set design, dispatch mechanisms, and stack/register architectures

- Skill: `majiayu000/bytecode-vm` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/bytecode-vm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/bytecode-vm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/bytecode-vm

---


# Bytecode VM Skill

## Overview

Expert skill for bytecode virtual machine design including instruction set design, dispatch mechanisms, and stack/register architectures.

## Capabilities

- Design bytecode instruction sets
- Implement stack-based vs register-based VMs
- Implement efficient dispatch (switch, computed goto, threaded)
- Design compact bytecode encoding
- Implement bytecode verification
- Handle exception handling in bytecode
- Design inline caching for dynamic dispatch
- Implement bytecode serialization/deserialization

## Target Processes

- bytecode-vm-implementation.js
- interpreter-implementation.js
- jit-compiler-development.js
- repl-development.js

## Dependencies

VM implementation literature (Crafting Interpreters, Programming Language Pragmatics)

## Usage Guidelines

1. **Architecture Selection**: Choose stack-based for simplicity, register-based for performance
2. **Dispatch Mechanism**: Use computed goto/threaded dispatch for hot loops
3. **Encoding**: Design compact bytecode encoding to improve cache locality
4. **Verification**: Implement bytecode verification for security and debugging
5. **Inline Caching**: Add inline caching for polymorphic call sites

## Output Schema

```json
{
  "type": "object",
  "properties": {
    "architecture": {
      "type": "string",
      "enum": ["stack-based", "register-based", "hybrid"]
    },
    "dispatch": {
      "type": "string",
      "enum": ["switch", "computed-goto", "direct-threaded", "indirect-threaded"]
    },
    "instructionCount": { "type": "integer" },
    "encoding": {
      "type": "string",
      "enum": ["fixed-width", "variable-length"]
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}
```

