Skip to main content

v8-commands

Key commands for building, debugging, and testing in V8. Use when needing command syntax for gm.py, d8 flags, or run-tests.py. Do not use for environment setup.

Informations de source

Dépôt
nodejs/node
Dernière activité de la source
4 octobre 2026 à 21:04
Langue détectée de SKILL.md
anglais
Étoiles
122 301
Forks
39 450

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
v8-commands
description
Key commands for building, debugging, and testing in V8. Use when needing command syntax for gm.py, d8 flags, or run-tests.py. Do not use for environment setup.
# V8 Key Commands Use this skill to find the correct commands for common development tasks in V8. This unifies the commands listed in workspace configuration and ensures consistent usage. ## Building V8 uses `gm.py` as a wrapper around GN and Ninja for building. **Mandatory GN Args & Siso Remote Execution Guardrails**: Always include `use_remoteexec = true` in your `args.gn` or via `gm.py` flags to ensure builds utilize remote execution. Remote execution is mandatory in this environment. **Critical Guardrail (Path Strictness)**: The target output directory must sit exactly 2 levels deep relative to the project root (e.g., `out/x64.debug` or `out/x64.release`). - **Build (Debug):** `tools/dev/gm.py quiet x64.debug tests` - **Build (Optimized Debug):** `tools/dev/gm.py quiet x64.optdebug tests` - **Build (Release):** `tools/dev/gm.py quiet x64.release tests` - **Sync DEPS Options:** Use `tools/dev/gm.py quiet x64.optdebug.d8 --sync` to sync DEPS when switching between branches. Use the slower `--sync=force` option if there are still issues with broken DEPS. *Note: Always pass the `quiet` keyword unless told otherwise to avoid excessive output.* ## Debugging Run `d8` with GDB or LLDB for native code debugging. ```bash # Example of running d8 with gdb gdb --args out/x64.debug/d8 --my-flag my-script.js ``` ### Common Diagnostic Flags - `--trace-opt`: Log optimized functions. - `--trace-deopt`: Log when and why functions are deoptimized. - `--trace-gc`: Log garbage collection events. - `--allow-natives-syntax`: Enables calling of internal V8 functions (e.g., `%OptimizeFunctionOnNextCall(f)`) from JavaScript for testing purposes. - `--gdbjit`: Allows seeing Maglev graphs or JavaScript code in GDB backtraces. To debug issues involving code motion disable gdbjit (as it disables code motion). A comprehensive list of all flags can be found by running `out/x64.debug/d8 --help`. ## Testing For detailed instructions on running tests and interpreting failures, see the dedicated test execution guidelines. Key commands summary: - **Run tests:** `tools/run-tests.py --progress dots --outdir=out/x64.optdebug`
Voir sur GitHub