en un clic
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.
// 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.
Managing and querying Perfetto traces using the trace_processor MCP server.
Workflow for performance and memory evaluation in V8. Use when tasked with improving the performance or memory usage of a workload in V8. Do not use when debugging a crash or functionality issue.
Workflow for evaluating and refining agent debugging capabilities using designated test cases and Swarm principles. Use when evaluating subagent performance or creating benchmarks. Do not use for regular bug fixing.
Workflow for issue-based debugging in V8. Use when tasked with debugging a specific issue, usually associated with a Buganizer ID or a specific reproduction script. Do not use for performance regressions.
Guides the initial analysis and impact assessment of a V8 security report, strictly excluding implementation or fixing.
Checks if a POC provided by some JS and d8 flags is a vulnerability or just a regular bug.
| 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. |
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.
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).
tools/dev/gm.py quiet x64.debug teststools/dev/gm.py quiet x64.optdebug teststools/dev/gm.py quiet x64.release teststools/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.
Run d8 with GDB or LLDB for native code debugging.
# Example of running d8 with gdb
gdb --args out/x64.debug/d8 --my-flag my-script.js
--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.
For detailed instructions on running tests and interpreting failures, see the dedicated test execution guidelines.
Key commands summary:
tools/run-tests.py --progress dots --outdir=out/x64.optdebug