v8/tools
Clemens Hammacher c39c6eba00 [wasm] [debug] Implement calling imported wasm functions
The interpreter was not able to call imported wasm functions (hitting
UNIMPLEMENTED). This CL fixes this by creating a "CWasmEntry", which is
signature-specific. It has JS linkage and receives the wasm code object
to call and a buffer containing all arguments (similar to the
interpreter entry). It loads all arguments from the buffer and calls the
given code object.
The c-wasm-entry code objects are cached per instance, such that we
only create them once per signature.

These wasm entry stubs will also allow us to call back to compiled code
from the interpreter, which we might want to do to reduce the slowdown
of executing wasm for debugging.

R=titzer@chromium.org

Bug: chromium:735792
Change-Id: I7fecec3a7bec62a9de40fff115b684759b12a28b
Reviewed-on: https://chromium-review.googlesource.com/600308
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47195}
2017-08-07 12:31:18 +00:00
..
blink_tests [Interpreter] Remove failure expectation for observer-expectations blink test. 2016-06-27 16:10:20 +00:00
cfi Port cfi blacklist from chromium. 2015-09-15 08:45:51 +00:00
dev Remove x87 port 2017-07-18 18:20:40 +00:00
foozzie [test] Crash on InvalidStringLength for correctness fuzzer. 2017-07-31 12:59:50 +00:00
gcmole [intl] Reorganize code 2017-04-24 13:54:15 +00:00
generate_shim_headers Add dependency to ICU 4.6 2013-07-01 08:32:41 +00:00
ignition [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +00:00
jsfunfuzz [compiler] Make --debug-code the default in debug builds. 2016-12-02 11:36:55 +00:00
link_clicker.extension [tools] Add link_click chrome extension 2017-05-09 15:25:21 +00:00
luci-go Roll v8 isolate binaries to match the chromium versions. 2017-06-21 12:15:36 +00:00
mb Fix common misspellings 2017-08-02 09:35:28 +00:00
memory [test] Remove obsolete lsan suppressions 2017-06-23 14:18:05 +00:00
msan [gn] Add missing dep and blacklist for msan 2016-07-29 09:01:24 +00:00
ninja [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
perf [benchmarks] Add R script for statistical tests on benchmark results 2016-02-05 12:29:58 +00:00
profview [profview] Add runtime-entry top-down tree. 2017-04-11 11:33:47 +00:00
profviz Fix common misspellings 2017-08-02 09:35:28 +00:00
release Fix common misspellings 2017-08-02 09:35:28 +00:00
sanitizers [test] Add build_dir option to sancov formatter 2017-06-27 14:19:28 +00:00
sodium Add tool to visualize machine code/lithium. 2013-10-21 13:35:48 +00:00
testrunner [test] Remove deprecated "fullcode" test variant. 2017-07-27 14:01:03 +00:00
turbolizer [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
ubsan [build] Fix ubsan compilation 2017-07-19 14:08:39 +00:00
unittests [test] Implement results processor for perf runner. 2017-02-16 15:43:19 +00:00
v8.xcodeproj Add support for building Xcode project files from GYP files 2011-06-09 09:07:17 +00:00
vim [ycm] The YouCompleteMe configuration is not VIM specific. 2015-02-12 07:21:13 +00:00
visual_studio Remove the Visual Studio project files 2011-05-02 13:43:13 +00:00
wasm [wasm] Remove the wasm-asmjs fuzzer 2017-06-21 10:59:35 +00:00
android-build.sh Rewrite Makefile rules for Android to allow parallel execution 2012-07-27 11:14:44 +00:00
android-ll-prof.sh Change default ARCH version in android low-level profiler script to 4.6 2012-10-08 11:11:30 +00:00
android-run.py Bug fix: android-run.py 2016-07-18 09:45:23 +00:00
android-sync.sh Bug fix: A bug in android-sync tool 2016-01-28 11:06:27 +00:00
bash-completion.sh [tools] Fix tools/bash-completion.sh for bool flags and harmony features 2015-12-10 10:01:39 +00:00
BUILD.gn [gn] Fix gn targets for tools 2016-06-06 14:25:30 +00:00
callstats.html [RCS] Reuse GCTracer scopes in RCS 2017-08-01 14:23:22 +00:00
callstats.py [RCS] Reuse GCTracer scopes in RCS 2017-08-01 14:23:22 +00:00
check-inline-includes.sh Remove inline header includes from non-inline headers (1). 2015-08-12 07:32:54 +00:00
check-static-initializers.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
check-static-initializers.isolate [swarming] Isolate static initializer check. 2016-01-08 12:58:30 +00:00
check-static-initializers.sh Reland^3 r22105 "Remove static initializer from isolate" 2014-07-07 10:56:36 +00:00
check-unused-bailouts.sh [tools] Speed-up check-unused-bailouts.sh 2017-08-02 11:11:19 +00:00
codemap.js [profiler] Graphical front-end for tick processor. 2017-03-04 13:04:58 +00:00
compare-table-gen.js Add more exhaustive tests for Math.min and Math.max. 2015-04-10 12:35:16 +00:00
concatenate-files.py Fix common misspellings 2017-08-02 09:35:28 +00:00
consarray.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
cpu.sh [tools] Allow specifying cores for cpu.sh script. 2015-11-18 10:53:30 +00:00
cross_build_gcc.sh Fix tools/cross_build_gcc.sh. 2014-02-20 16:37:40 +00:00
csvparser.js Shorten constructor names in JS tickprocessor. 2011-02-10 07:47:28 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
detect-builtins.js [tools] Fix detect-builtins.js 2016-06-09 10:17:32 +00:00
disasm.py [grokdump] Include -z flag to make objdump disassemble all-zero sections 2017-04-21 13:35:37 +00:00
draw_instruction_graph.sh Rename A64 port to ARM64 port 2014-03-21 09:28:26 +00:00
dump-cpp.py [prof] Add slide offset in dumpcpp script 2016-05-30 08:56:59 +00:00
dumpcpp-driver.js [prof] Add slide offset in dumpcpp script 2016-05-30 08:56:59 +00:00
dumpcpp.js [prof] Add slide offset in dumpcpp script 2016-05-30 08:56:59 +00:00
eval_gc_nvp.py [tools] Compute percentiles for GC NVP 2016-04-08 12:05:59 +00:00
eval_gc_time.sh [Heap] Remove code flushing. 2017-05-22 09:34:43 +00:00
find_depot_tools.py Prototype for a client-side performance trybot script. 2014-11-18 14:40:00 +00:00
find-commit-for-patch.py Add tools/find-commit-for-patch.py 2014-12-16 14:25:00 +00:00
freebsd-tick-processor * Fix build errors on FreeBSD 8.2 2011-03-16 11:15:43 +00:00
fuzz-harness.sh [compiler] Make --debug-code the default in debug builds. 2016-12-02 11:36:55 +00:00
gc_nvp_common.py Clean up mark-compact phases and GC counter names. 2015-12-11 11:26:21 +00:00
gc-nvp-to-csv.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gc-nvp-trace-processor.py [tools] Add gc-nvp-to-csv.py script. 2015-06-19 10:40:47 +00:00
gcov.sh [tools] Simple turn-key utility to locally collect code coverage. 2017-06-21 23:45:20 +00:00
gdb-v8-support.py gdb-v8-support.py: Fix old style print statement 2016-07-03 07:11:47 +00:00
gdbinit [debugging] Add helper to print transition trees 2017-07-06 10:44:01 +00:00
gen-inlining-tests.py [turbofan] Remove --turbo shorthand for --turbo-filter. 2017-06-23 11:19:19 +00:00
gen-postmortem-metadata.py Make InstanceType enum a uint8_t 2017-07-10 22:59:08 +00:00
generate-builtins-tests.py Add a script that can generate simple test cases for user-exposed JS builtins 2014-09-11 09:58:58 +00:00
generate-ten-powers.scm Fast double-to-ascii conversion. 2010-03-11 14:49:35 +00:00
grokdump.py Fix common misspellings 2017-08-02 09:35:28 +00:00
gyp_flag_compare.py [gn] Let gyp/gn comparison be more verbose on error 2016-07-12 11:18:40 +00:00
ic-explorer.html Fix common misspellings 2017-08-02 09:35:28 +00:00
ic-processor Reimplement TraceIC using the logger 2017-02-20 09:50:40 +00:00
ic-processor-driver.js Reimplement TraceIC using the logger 2017-02-20 09:50:40 +00:00
ic-processor.js [fullcodegen] Deprecate usage of patching BinaryOpICStub. 2017-06-22 09:29:20 +00:00
isolate_driver.py [swarming] Port updated version of isolate_driver.py 2016-07-06 14:21:12 +00:00
js2c.py Fix common misspellings 2017-08-02 09:35:28 +00:00
jsmin.py jsmin.py: Fix issue with escaping of back ticks 2015-06-24 22:29:46 +00:00
linux-tick-processor [d8] enable os.system only when requested 2017-07-25 14:42:44 +00:00
ll_prof.py Fix annotated disassembly in ll_prof.py 2016-04-06 12:38:44 +00:00
lldb_commands.py [tools] add lldbinit 2017-03-27 06:44:15 +00:00
lldbinit [debugging] Add helper to print transition trees 2017-07-06 10:44:01 +00:00
logreader.js [tools/logreader] Print overflow drops to stderr 2017-03-17 13:42:14 +00:00
mac-nm [profiler] Graphical front-end for tick processor. 2017-03-04 13:04:58 +00:00
mac-tick-processor Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
mingw-generate-makefiles.sh [build] Move gyp folder 2016-04-27 12:37:35 +00:00
objdump-v8 [disasm] Make jump target printing perf friendly 2017-03-20 14:47:04 +00:00
OWNERS Add initial set of sub directory OWNERS file 2015-04-02 08:46:24 +00:00
parser-shell.cc Make isolate explicit param of parsing:: functions 2017-03-28 08:20:56 +00:00
parser-shell.gyp Reland of land "Turn libbase into a component" (patchset #1 id:1 of https://codereview.chromium.org/2396933002/ ) 2016-10-07 07:56:52 +00:00
perf-compare.py [tools] perf-compare.py is now able to combine multiple json results into one column. 2017-03-24 10:38:28 +00:00
perf-to-html.py [tools] Handle benchmark runs reporting more than one result. 2016-05-02 14:25:00 +00:00
plot-timer-events Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
presubmit.py [presubmit] Check that runtime function calls do not contain spaces 2017-07-20 11:01:14 +00:00
process-heap-prof.py Added check for trailing whitespaces and corrected existing violations. 2011-09-01 11:28:10 +00:00
profile_view.js Tick processor: improved [Summary] section 2014-08-04 08:31:49 +00:00
profile.js [logging] Add an option to log source code in v8.log. 2017-07-28 07:18:18 +00:00
run_perf.py [tools] Add a whole process memory size measurement. 2017-07-17 15:38:05 +00:00
run-deopt-fuzzer.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
run-deopt-fuzzer.isolate [Swarming] Isolate deopt fuzzer. 2016-02-18 10:48:21 +00:00
run-deopt-fuzzer.py [test] Add test isolation and parameters for ubsan 2017-07-25 11:42:01 +00:00
run-llprof.sh Fix tools/run-llprof.sh to work with newer perf. 2014-10-09 06:01:41 +00:00
run-perf.sh [tools] run-perf: ensure command line arguments are prepended 2016-10-05 15:15:38 +00:00
run-tests.py Fix common misspellings 2017-08-02 09:35:28 +00:00
run-valgrind.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
run-valgrind.isolate [Swarming] Isolate valgrind runner. 2016-02-15 12:47:54 +00:00
run-valgrind.py [test] Clean up valgrind runner. 2016-01-14 10:42:32 +00:00
run.py First cut at run_mksnapshot action for gn 2014-06-03 06:50:46 +00:00
shell-utils.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
SourceMap.js Add source map support to tick processor. 2013-08-23 17:20:54 +00:00
splaytree.js Remove support for logging into a memory buffer. 2011-07-13 11:31:22 +00:00
stats-viewer.py Fix common misspellings 2017-08-02 09:35:28 +00:00
test-server.py Change deprecated comments that still talk about SCons. 2013-04-23 08:58:23 +00:00
tick-processor.html [tools] Show more entries in the ticks-processor 2017-03-10 10:34:11 +00:00
tickprocessor-driver.js [tools] Add options to separate more entries in tickprocessor 2017-04-11 10:23:02 +00:00
tickprocessor.js [logging] Add an option to log source code in v8.log. 2017-07-28 07:18:18 +00:00
trace-maps-processor.py Add FLAG_trace_maps 2014-11-07 16:03:44 +00:00
try_perf.py [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +00:00
turbolizer-perf.py [turbolizer] Fixed naming of turbolizer perf script. 2016-07-28 12:38:00 +00:00
v8-rolls.sh Adding useful scripts to parse revision info. 2013-06-12 10:39:52 +00:00
v8heapconst.py [wasm] [debug] Implement calling imported wasm functions 2017-08-07 12:31:18 +00:00
verify_source_deps.py Remove x87 port 2017-07-18 18:20:40 +00:00
whitespace.txt Whitespace change for account setup 2017-07-06 08:44:17 +00:00
windows-tick-processor.bat Add source map support to tick processor. 2013-08-23 17:20:54 +00:00