431fff66f5
This prepares the trap handler to support being used from simulators. Modifications to the arm64 simulator will be done in a follow-up CL. For now, the trap handler will be registered but not used in Wasm (we emit explicit bounds checks instead, as before). The implementation uses inline assembly, so it is only available on x64 POSIX systems for now. This is the main platform we use for testing and for fuzzing, so it should give us the test coverage we need. If needed, inline assembly for other platforms can be added later. The new code will be executed by the existing arm64 simulator bots, e.g. "V8 Linux - arm64 - sim". R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75780} |
||
---|---|---|
.. | ||
bazel | ||
blink_tests | ||
cfi | ||
clusterfuzz | ||
cppgc | ||
debug_helper | ||
dev | ||
gcmole | ||
generate_shim_headers | ||
heap-stats | ||
ignition | ||
jsfunfuzz | ||
link_clicker.extension | ||
mb | ||
memory | ||
msan | ||
perf | ||
profview | ||
release | ||
sanitizers | ||
snapshot | ||
system-analyzer | ||
testrunner | ||
toolchain | ||
torque | ||
tracing/proto-converter | ||
turbolizer | ||
ubsan | ||
unittests | ||
v8.xcodeproj | ||
v8windbg | ||
valgrind/asan | ||
vim | ||
visual_studio | ||
wasm | ||
wasm-compilation-hints | ||
zone-stats | ||
__init__.py | ||
adb-d8.py | ||
android-build.sh | ||
android-ll-prof.sh | ||
android-run.py | ||
android-sync.sh | ||
arguments.mjs | ||
avg.py | ||
bash-completion.sh | ||
bigint-tester.py | ||
BUILD.gn | ||
callstats_groups.py | ||
callstats-from-telemetry.sh | ||
callstats.html | ||
callstats.py | ||
callstats.py.vpython | ||
check-inline-includes.sh | ||
check-static-initializers.sh | ||
check-unused-bailouts.sh | ||
check-unused-symbols.sh | ||
codemap.mjs | ||
collect_deprecation_stats.sh | ||
compare_torque_output.py | ||
compare-table-gen.js | ||
consarray.mjs | ||
cpu.sh | ||
cross_build_gcc.sh | ||
csvparser.mjs | ||
deprecation_stats.py | ||
DEPS | ||
detect-builtins.js | ||
disasm.py | ||
draw_instruction_graph.sh | ||
dump-cpp.py | ||
dumpcpp-driver.mjs | ||
dumpcpp.mjs | ||
eval_gc_nvp.py | ||
eval_gc_time.sh | ||
find_depot_tools.py | ||
find-builtin | ||
find-commit-for-patch.py | ||
freebsd-tick-processor | ||
fuzz-harness.sh | ||
gc_nvp_common.py | ||
gc-nvp-to-csv.py | ||
gc-nvp-trace-processor.py | ||
gdb-v8-support.py | ||
gdbinit | ||
gen-inlining-tests.py | ||
gen-keywords-gen-h.py | ||
gen-postmortem-metadata.py | ||
gen-v8-gn.py | ||
generate-builtins-tests.py | ||
generate-header-include-checks.py | ||
generate-runtime-call-stats.py | ||
generate-ten-powers.scm | ||
get_landmines.py | ||
grokdump.py | ||
ic-processor | ||
ic-processor-driver.mjs | ||
index.html | ||
linux-tick-processor | ||
ll_prof.py | ||
lldb_commands.py | ||
locs.py | ||
logreader.mjs | ||
mac-nm | ||
mac-tick-processor | ||
Makefile.tags | ||
objdump-v8 | ||
OWNERS | ||
package-lock.json | ||
package.json | ||
parse-processor | ||
parse-processor-driver.mjs | ||
parse-processor.html | ||
parse-processor.mjs | ||
perf-compare.py | ||
predictable_wrapper.py | ||
PRESUBMIT.py | ||
profile_view.js | ||
profile_view.mjs | ||
profile.mjs | ||
README.md | ||
regexp-sequences.py | ||
run_perf.py | ||
run-clang-tidy.py | ||
run-llprof.sh | ||
run-num-fuzzer.py | ||
run-perf.sh | ||
run-tests.py | ||
run-wasm-api-tests.py | ||
run.py | ||
shell-utils.h | ||
sourcemap.mjs | ||
splaytree.mjs | ||
stats-viewer.py | ||
test262-results-parser.js | ||
tick-processor.html | ||
tickprocessor-driver.mjs | ||
tickprocessor.mjs | ||
try_perf.py | ||
turbolizer-perf.py | ||
update-object-macros-undef.py | ||
v8_presubmit.py | ||
v8heapconst.py | ||
whitespace.txt | ||
windbg.js | ||
windows-tick-processor.bat | ||
wpr.wprp |
TOOLS
This directory contains debugging and investigation tools for V8.
The contents are regularly mirrored to http://v8.dev/tools.
Local Development
For local development you have to start a local webserver under http://localhost:8000:
cd tools/;
npm install;
ws;
Local Symbol Server
The system-analyzer can symbolize profiles for local binaries by running a local symbol server
cd tools/;
ws --stack system-analyzer/lws-middleware.js lws-static cors;
Note that the local symbol server will run nm
and objdump
and has access to
your files.