Skip to main content

v8-structure

Maps the V8 dir/folder structure, component locations, and local documentation. Use when locating specific subsystems, mapping src/ code to docs/ design files, or understanding repository architecture.

Source facts

Repository
nodejs/node
Last source activity
October 4, 2026 at 21:04
Detected SKILL.md language
English
Stars
122,301
Forks
39,450

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
v8-structure
description
Maps the V8 dir/folder structure, component locations, and local documentation. Use when locating specific subsystems, mapping src/ code to docs/ design files, or understanding repository architecture.
# V8 Folder Structure Use this skill to understand the layout of the V8 repository and locate specific components. ## Main Directories - `src/`: The main source folder providing the implementation of the virtual machine. Key subdirectories include: - `src/api/`: Implements the V8 public C++ API, as declared in `include/`. - `src/ast/`: Defines the Abstract Syntax Tree (AST) used to represent parsed JavaScript, including nodes, scopes, and variables. - `src/base/`: Provides fundamental, low-level utilities, data structures, and a platform abstraction layer for the entire V8 project. - `src/baseline/`: Implements the Sparkplug baseline compiler, which generates machine code directly from bytecode for a fast performance boost. - `src/bigint/`: The implementation of BigInt operations. - `src/builtins/`: Implementation of JavaScript built-in functions (e.g., `Array.prototype.map`). - `src/codegen/`: Code generation, including direct machine code generation via macro assemblers, higher level codegen via CodeStubAssembler, definitions of machine code metadata like safepoint tables and source position tables, and `compiler.cc` which defines entry points into the compilers. This contains subdirectories for architecture specific implementations, which should be kept in sync with each other as much as possible. - `src/common/`: Common definitions and utilities. - `src/compiler/`: The TurboFan optimizing compiler, including the Turboshaft CFG compiler. - `src/d8/`: The `d8` shell implementation, for running V8 in a CLI. - `src/debug/`: The debugger and debug protocol implementation. - `src/deoptimizer/`: The deoptimizer implementation, which translates optimized frames into unoptimized ones. - `src/execution/`: The definitions of the execution environment, including the Isolate, frame definitions, microtasks, stack guards, tiering, and on-stack argument handling. - `src/handles/`: The handle implementation for GC-safe object references. - `src/heap/`: The garbage collector and memory management code. - `src/ic/`: The Inline Caching implementation. - `src/init/`: The V8 initialization code. - `src/inspector/`: The inspector protocol implementation. - `src/interpreter/`: The Ignition bytecode compiler and interpreter. - `src/json/`: The JSON parser and serializer. - `src/libplatform/`: The platform abstraction layer, for task runners and worker threads. - `src/logging/`: The logging implementation. - `src/maglev/`: The Maglev mid-tier optimizing compiler. - `src/numbers/`: Implementations of various numeric operations. - `src/objects/`: The representation and behaviour of V8 internal and JavaScript objects. - `src/parsing/`: The parser and scanner implementation. - `src/profiler/`: The in-process profiler implementations, for heap snapshots, allocation tracking, and a sampling CPU profiler. - `src/regexp/`: The regular expression implementation. This contains subdirectories for architecture specific implementations, which should be kept in sync with each other as much as possible. - `src/runtime/`: C++ functions that can be called from JavaScript at runtime. - `src/sandbox/`: The implementation of the sandbox, which is a security feature that attempts to limit V8 memory operations to be within a single guarded virtual memory allocation, such that corruptions of objects within the sandbox cannot lead to corruption of objects outside of it. - `src/snapshot/`: The snapshot implementation, for both the startup snapshot (read-only, startup heap, and startup context), as well as the code-serializer, which generates code caches for caching of user script code. - `src/strings/`: Implementations of string helpers, such as predicates for characters, unicode processing, hashing and string building. - `src/torque/`: The Torque language implementation. - `src/tracing/`: The tracing implementation. - `src/trap-handler/`: Implementations of trap handlers. - `src/wasm/`: The WebAssembly implementation. - `src/zone/`: The implementation of a simple bump-pointer region-based zone allocator. - `test/`: Folder containing most of the tests and testing code. - `include/`: Folder containing all of V8's publicAPI that is used when V8 is embedded in other projects such as e.g. the Blink rendering engine. - `out/`: Folder containing the results of a build. Usually organized in sub folders for the respective configurations. - `docs/`: Contains V8 documentation, including high-level, cross-cutting concept guides at the root, and subsystem-specific directories. - **Root Documentation**: Documents cross-cutting concerns such as embedding (`docs/embed.md`), debugging (`docs/gdb.md`), profiling (`docs/profile.md`), security mitigations (`docs/untrusted-code-mitigations.md`), and building V8 (`docs/build.md`). - **Subsystem Directories** (often containing deep design docs): - `docs/builtins/`: V8 built-ins and CodeStubAssembler. - `docs/codegen/`: Code generation. - `docs/compiler/`: Compilers (Sparkplug, Maglev, TurboFan, Turboshaft). - `docs/heap/`: Memory management and Garbage Collector. - `docs/interpreter/`: Ignition interpreter. - `docs/objects/`: Object layout and Map representations. - `docs/parsing/`: JavaScript parsing and AST. - `docs/regexp/`: Regular expression engine. - `docs/runtime/`: Runtime functions and execution model. - `docs/sandbox/`: V8 Security Sandbox. - `docs/security/`: Security triaging and design principles. - `docs/snapshot/`: Snapshot and serialization. - `docs/torque/`: Torque language and builtins. - `docs/wasm/`: WebAssembly implementation.
View on GitHub