v8/tools
Jakob Kummerow e0b941688e [wasm-gc] Optimize performance of call_ref
By (mostly) unifying the different kinds of WasmFunctionData, and
precomputing and caching what we can, we can reduce the amount of
work that has to be done for each call.
We still have to store the current instance for JS function calls;
that may be eliminatable in the future.
WasmCapiFunctions are not included in the refactoring yet.

Bug: v8:7748,v8:9495
Change-Id: Ie6839153153d5854670cd01bc77a86111c1f68d2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2856543
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Manos Koukoutos <manoskouk@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#74287}
2021-04-29 18:42:45 +00:00
..
blink_tests [test] Remove obsolete blink test skips 2019-01-18 12:30:23 +00:00
cfi [cfi] Use inclusive terminology 2020-07-28 05:57:41 +00:00
clusterfuzz [foozzie] Make stubbing-out typed arrays more robust 2021-04-12 07:53:51 +00:00
cppgc cppgc: mirror: Add copybara and migration scripts 2020-07-29 11:53:33 +00:00
debug_helper Allowing map word to be used for other state in GC header. 2021-04-12 17:34:13 +00:00
dev [test][wasm][arm64] Fix JumpTablePatchingStress 2021-04-19 12:20:03 +00:00
gcmole [no-wasm] Remove wasm debugging support 2021-03-02 18:27:53 +00:00
generate_shim_headers
heap-stats Revert "[objects] Remove uncached internal external string type" 2021-01-15 19:48:34 +00:00
ignition Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
jsfunfuzz [test] update the jsfunfuzz archive in Google Storage 2018-12-18 15:00:35 +00:00
link_clicker.extension
mb [tools] Make tools/mb/mb.py work with Python 3 2021-04-27 09:08:43 +00:00
memory [tools] Clean up insensitive terms 2020-12-01 20:02:48 +00:00
msan
node Remove android_tools deps for v8 repo 2019-07-03 17:59:11 +00:00
perf [tools] Refactor patch/no-patch terminology in run_perf.py 2017-11-22 07:19:50 +00:00
profview [tools] Profiler builtins and sparkplug fixes 2021-04-21 11:44:31 +00:00
release [tools] Update auto-roller after renamed branch 2021-04-08 10:23:07 +00:00
sanitizers [respect] Stop using "blacklist" in several python tools 2020-07-10 19:11:36 +00:00
snapshot Fix a Python3 compatibility issue in asm_to_inline_asm.py. 2020-08-03 22:21:55 +00:00
system-analyzer [tools] Fix system-analyzer Script selection 2021-04-29 14:45:24 +00:00
testrunner [ppc64] Skip simd tests if power processor version is earlier than 9 2021-04-29 15:36:04 +00:00
toolchain [build] Add support for the other MIPS architectures 2018-03-19 10:43:07 +00:00
torque [torque] fix formatting of derefence and addressof operators 2020-07-16 10:17:35 +00:00
tracing/proto-converter [tracing] Add the proto to json converter for trace events 2019-03-25 08:56:18 +00:00
turbolizer [turbolizer] Display live range uses 2020-06-02 15:04:11 +00:00
ubsan [respect] Rename UBSAN's blacklists to ignorelists 2021-04-28 07:55:39 +00:00
unittests [heap] Fix failed tests when enabling single generation 2021-04-21 07:33:51 +00:00
v8.xcodeproj
v8windbg [build] Fix build failures in Chrome 2021-04-28 17:44:20 +00:00
valgrind/asan [build] Add testrunner data deps 2018-03-26 12:17:08 +00:00
vim [vim] Update vim scripts 2021-04-01 16:14:04 +00:00
visual_studio
wasm [wasm] Update spec tests 2021-03-17 15:59:14 +00:00
wasm-compilation-hints [wasm] Update OWNERS 2020-01-08 14:56:06 +00:00
zone-stats [zone-stats] Show all zones in a filter 2020-09-09 16:16:11 +00:00
__init__.py [test] make python recognize tools and tools/unittests as packages 2018-12-17 12:12:43 +00:00
adb-d8.py Remove JS natives support, step 3 2019-10-22 07:48:05 +00:00
android-build.sh
android-ll-prof.sh
android-run.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
android-sync.sh [mjsunit][tools] Sync module files for tests 2020-10-07 12:45:19 +00:00
arguments.mjs [tools] Fix profview for sparkplug 2021-03-24 13:22:21 +00:00
avg.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
bash-completion.sh [bash-completion] Support some gm.py completion 2021-03-24 16:24:25 +00:00
bigint-tester.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
BUILD.gn [tools] Add v8windbg, a WinDbg extension for V8 2020-02-18 19:16:18 +00:00
callstats_groups.py [tools] Add grouping to generate-runtime-callstats.py 2019-12-12 14:52:05 +00:00
callstats-from-telemetry.sh [Tools] Improve callstats.html .txt file handling 2021-01-28 10:37:09 +00:00
callstats.html [tools] callstats improvements 2021-03-17 10:56:34 +00:00
callstats.py [callstats] relocate the vpython imports 2020-02-27 14:45:56 +00:00
callstats.py.vpython [tools] Fix platform specification for scipi 2018-08-17 18:49:49 +00:00
check-inline-includes.sh
check-static-initializers.sh Bump expected static initializers count from 2 to 3 2021-02-12 09:47:44 +00:00
check-unused-bailouts.sh
check-unused-symbols.sh [cleanup] Remove unused heap-symbols and add tool. 2018-11-08 17:57:05 +00:00
codemap.mjs [tools] Profiler builtins and sparkplug fixes 2021-04-21 11:44:31 +00:00
collect_deprecation_stats.sh [objects] Deprecate GetIsolate/Heap behind a flag 2018-06-01 15:19:21 +00:00
compare_torque_output.py [torque] Add support for torque output comparison 2020-01-21 14:39:04 +00:00
compare-table-gen.js
consarray.mjs [tools] Migrate more tools to ES6 classes 2021-01-11 16:40:39 +00:00
cpu.sh
cross_build_gcc.sh
csvparser.mjs [tools] Add api events timeline-track to system-analyzer 2020-12-05 10:49:42 +00:00
deprecation_stats.py [tools] Update deprecation_stats.py 2021-01-07 10:07:53 +00:00
DEPS
detect-builtins.js
disasm.py
draw_instruction_graph.sh
dump-cpp.py [tools] Convert JS-tools to ES6 modules 2020-09-28 14:40:18 +00:00
dumpcpp-driver.mjs [tools] Modernize tools .mjs files 2020-11-10 12:32:26 +00:00
dumpcpp.mjs [tools] Fix profview for sparkplug 2021-03-24 13:22:21 +00:00
eval_gc_nvp.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
eval_gc_time.sh [in-place weak refs] Remove WeakCell 2018-08-14 08:05:05 +00:00
find_depot_tools.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
find-builtin [tools] Add a tool for finding builtins 2021-04-07 12:51:38 +00:00
find-commit-for-patch.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
freebsd-tick-processor
fuzz-harness.sh
gc_nvp_common.py
gc-nvp-to-csv.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gc-nvp-trace-processor.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gdb-v8-support.py [tools] Fix gdb redirect command 2020-03-03 10:33:33 +00:00
gdbinit [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
gen-inlining-tests.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gen-keywords-gen-h.py [parser] Remove #line directives from keywords-gen.h 2018-11-28 15:22:05 +00:00
gen-postmortem-metadata.py Update V8 postmortem metadata script 2020-12-10 16:09:08 +00:00
gen-v8-gn.py [Py3] fix py3 issue in tools 2021-01-25 15:33:53 +00:00
generate-builtins-tests.py [respect] Stop using "blacklist" in several python tools 2020-07-10 19:11:36 +00:00
generate-header-include-checks.py [diagnostics] Don't build system trace code on non-win non-mac 2021-04-27 16:08:49 +00:00
generate-runtime-call-stats.py [tools] Fix retention of json files in RCS script 2020-03-26 12:07:56 +00:00
generate-ten-powers.scm
get_landmines.py [landmines] Force clean build to fix Misc V8 Linux gcc 2019-06-06 21:52:11 +00:00
grokdump.py [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
ic-processor [tools] Convert JS-tools to ES6 modules 2020-09-28 14:40:18 +00:00
ic-processor-driver.mjs [tools] Fix profview for sparkplug 2021-03-24 13:22:21 +00:00
index.html [tools] Improve tools landing page 2021-03-17 17:02:00 +00:00
linux-tick-processor [tools] Port more tools to ES6 classes 2020-11-04 14:45:41 +00:00
ll_prof.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
lldb_commands.py [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
locs.py [tools] Use ThreadPoolExecutor with reasonable job count default 2019-04-08 10:41:46 +00:00
logreader.mjs [tools] Migrate more tools to ES6 classes 2021-01-11 16:40:39 +00:00
mac-nm
mac-tick-processor
Makefile.tags [Makefile] Move tags generation to standalone Makefile 2018-01-26 12:03:32 +00:00
objdump-v8
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
parse-processor [tools] Convert JS-tools to ES6 modules 2020-09-28 14:40:18 +00:00
parse-processor-driver.mjs [tools] Modernize tools .mjs files 2020-11-10 12:32:26 +00:00
parse-processor.html [tools] Prepare parse-processor for baseline compiler 2021-02-22 10:51:00 +00:00
parse-processor.mjs [tools] Prepare parse-processor for baseline compiler 2021-02-22 10:51:00 +00:00
perf-compare.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
predictable_wrapper.py [Py3] Get python scripts in tools closer to Py3 2020-06-29 16:55:16 +00:00
PRESUBMIT.py [presubmit] Clean up insensitive terms 2020-07-27 18:05:48 +00:00
profile_view.js
profile_view.mjs [tools] Modernize tools .mjs files 2020-11-10 12:32:26 +00:00
profile.mjs [tools] Profiler builtins and sparkplug fixes 2021-04-21 11:44:31 +00:00
regexp-sequences.py Preparing v8 to use with python3 2019-10-18 13:10:56 +00:00
run_perf.py [test] Make finding build directory more flexible 2020-09-28 12:38:16 +00:00
run-clang-tidy.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
run-llprof.sh
run-num-fuzzer.py [Py3] Get python scripts in tools closer to Py3 2020-06-29 16:55:16 +00:00
run-perf.sh [cleanup] Replace underscore by minus in d8 flags 2019-04-03 12:32:08 +00:00
run-tests.py [Py3] Get python scripts in tools closer to Py3 2020-06-29 16:55:16 +00:00
run-wasm-api-tests.py [wasm-c-api] Roll 7865f7d: Expose possible traps during Instance::make 2019-08-23 09:46:29 +00:00
run.py Show failure codes in run.py 2020-06-17 17:16:22 +00:00
shell-utils.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
sourcemap.mjs [tools] Modernize tools .mjs files 2020-11-10 12:32:26 +00:00
splaytree.mjs [tools] Migrate more tools to ES6 classes 2021-01-11 16:40:39 +00:00
stats-viewer.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
test262-results-parser.js test262 roll 2018-08-28 21:18:23 +00:00
tick-processor.html [tools] Convert JS-tools to ES6 modules 2020-09-28 14:40:18 +00:00
tickprocessor-driver.mjs [tools] Profiler builtins and sparkplug fixes 2021-04-21 11:44:31 +00:00
tickprocessor.mjs [tools] Profiler builtins and sparkplug fixes 2021-04-21 11:44:31 +00:00
try_perf.py [tools] Add support for --confidence-level flag to tools/try_perf.py 2019-06-14 12:33:49 +00:00
turbolizer-perf.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
update-object-macros-undef.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
v8_presubmit.py [bigint] Move multiplication to src/bigint/ 2021-04-19 15:40:43 +00:00
v8heapconst.py [wasm-gc] Optimize performance of call_ref 2021-04-29 18:42:45 +00:00
whitespace.txt Whitespace change to trigger bots 2021-04-23 21:00:41 +00:00
windbg.js [heap] Add base class for LargeObjectSpaces 2019-10-25 09:22:57 +00:00
windows-tick-processor.bat [tools] Use .mjs in windows-tick-processor.bat 2021-01-07 09:00:23 +00:00
wpr.wprp Step 1 (of 3-ish): Basic ETW Instrumentation in V8 2021-01-05 20:11:03 +00:00