v8/test/cctest
Andreas Haas d56ee2e3df [wasm][anyref] Cache export wrappers per signature
Up until now, we cached export wrappers per export index. With the
anyref proposal potentially many more functions will need export
wrappers, e.g. any function that is stored in a table, and any
function accessed by the new ref.func instruction.

With this CL, we change the caching scheme an do the caching per
signature. Thereby we can guarantee that any export wrapper which
potentially exists can be stored in the cache.

For cctests which use wasm-run-utils, we don't know the size of the
cache anymore ahead of time. However, we assume that no more than
5 signatures will be used in any cctest. If this assumption is not
true, we can just adjust the number.

The cache is now accessed in all code paths where we need an export
wrapper.

Bug: chromium:962850

Change-Id: I32df60dfa7801d1e71f7d837da091f388198af1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615247
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61752}
2019-05-22 14:59:50 +00:00
..
compiler Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
heap Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
interpreter Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
libplatform [tracing] Convert COMPLETE events to BEGIN/END pairs for perfetto 2019-05-20 09:13:25 +00:00
libsampler [cpu-profiler] Only record SIGPROF-based samples for samplers that request samples 2019-02-13 09:29:38 +00:00
parsing Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
torque Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
wasm [wasm][anyref] Cache export wrappers per signature 2019-05-22 14:59:50 +00:00
assembler-helper-arm.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
assembler-helper-arm.h Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
BUILD.gn Move src/collector.h to test/cctest 2019-05-16 20:55:17 +00:00
cctest.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
cctest.h Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
cctest.status [cleanup] Split stack trace related API cctests into new file 2019-05-15 11:27:04 +00:00
collector.h Move src/collector.h to test/cctest 2019-05-16 20:55:17 +00:00
DEPS [torque]: Add the ability to test Torque functionality with cctest 2018-05-13 10:58:56 +00:00
expression-type-collector-macros.h [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
gay-fixed.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
OWNERS [MIPS] Set Yu Yin as owner of MIPS files. 2019-03-06 11:46:22 +00:00
print-extension.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
print-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
profiler-extension.cc Reland "[Compile] Ensure we don't access the native context during bytecode finalization." 2018-10-26 22:33:56 +00:00
profiler-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
scope-test-helper.h [parser] Various Scope and Context speedups 2019-01-28 13:06:03 +00:00
setup-isolate-for-tests.cc [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
setup-isolate-for-tests.h Move initialization code into src/init 2019-05-16 12:36:15 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-accessors.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-allocation.cc [zone] Fix peak memory accounting 2019-03-28 13:39:11 +00:00
test-api-accessors.cc Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
test-api-interceptors.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-api-stack-traces.cc Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
test-api.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-api.h Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-array-list.cc [explicit isolates] Remove GetIsolate from objects.cc 2018-07-13 12:42:14 +00:00
test-assembler-arm64.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-assembler-arm.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-assembler-ia32.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-assembler-mips64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-assembler-mips.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-assembler-ppc.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-assembler-s390.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-assembler-x64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-atomicops.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bignum-dtoa.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-bignum.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-bit-vector.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-circular-queue.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-code-layout.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-code-stub-assembler.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-compiler.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-constantpool.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-conversions.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-cpu-profiler.cc [cpu-profiler] Remove redundant record_samples option 2019-05-22 06:12:24 +00:00
test-date.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-debug.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-decls.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-deoptimization.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-dictionary.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-arm64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-arm.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-ia32.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-mips64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-mips.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-ppc.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-s390.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-disasm-x64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-diy-fp.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-double.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-dtoa.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-elements-kind.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-extra.js [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque 2019-01-07 11:57:46 +00:00
test-factory.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-fast-dtoa.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-feedback-vector.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-feedback-vector.h [lite] Allocate feedback vectors lazily 2019-03-25 16:02:38 +00:00
test-field-type-tracking.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-fixed-dtoa.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-flags.cc [flags] Receive length as size_t 2019-04-24 10:43:17 +00:00
test-func-name-inference.cc Move string-related files to src/strings 2019-05-21 07:17:48 +00:00
test-fuzz-arm64.cc Reland "Add Windows ARM64 ABI support to V8" 2018-10-24 19:46:36 +00:00
test-global-handles.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-global-object.cc [iwyu] api.h iwyu 2018-07-20 11:49:02 +00:00
test-hashcode.cc [cleanup] Free 400 targets from the draconic reign of.. 2019-03-26 10:56:21 +00:00
test-hashmap.cc [ubsan] Fix various cases of undefined behavior 2019-01-10 13:52:04 +00:00
test-heap-profiler.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-icache.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-identity-map.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-inobject-slack-tracking.cc Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
test-inspector.cc [cleanup] Refactor inspector to use default members. 2018-09-18 09:13:59 +00:00
test-intl.cc Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-javascript-arm64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-js-arm64-variables.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-js-weak-refs.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-liveedit.cc Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
test-lockers.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-log-stack-tracer.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-log.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-macro-assembler-arm.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-macro-assembler-mips64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-macro-assembler-mips.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-macro-assembler-x64.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-managed.cc Add size estimate to Managed<T> 2018-05-30 10:26:21 +00:00
test-mementos.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-modules.cc [api,modules] Allow GetModuleNamespace on unevaluated modules. 2018-01-08 09:01:25 +00:00
test-object.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-orderedhashtable.cc [dict] Add more useful methods 2019-01-07 19:39:34 +00:00
test-parsing.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-platform.cc s390: Edited Generate_CEntry to correctly return buffer when built with clang 2018-09-05 07:01:16 +00:00
test-poison-disasm-arm.cc Reland "Move logging and diagnostics related source files" 2019-05-20 09:54:57 +00:00
test-profile-generator.cc [cpu-profiler] Remove redundant record_samples option 2019-05-22 06:12:24 +00:00
test-random-number-generator.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-regexp.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-representation.cc Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-roots.cc [cleanup] #include heap-inl.h less often 2019-02-15 06:22:53 +00:00
test-sampler-api.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-serialize.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-smi-lexicographic-compare.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
test-stack-unwinding-x64.cc [Test] Add PrepareForOptimization to cctests 2019-04-30 15:49:02 +00:00
test-strings.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-strtod.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
test-symbols.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-sync-primitives-arm64.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-sync-primitives-arm.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-thread-termination.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-threads.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-trace-event.cc [cleanup] Clean up trace event tests by removing macros 2019-03-25 13:46:58 +00:00
test-traced-value.cc [tracing] Improve tracing signals for compilation/optimization. 2019-03-25 14:49:08 +00:00
test-transitions.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-transitions.h Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-typedarrays.cc Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
test-types.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-unboxed-doubles.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-unscopables-hidden-prototype.cc [api] Mark SetHiddenPrototype as DEPRECATED 2019-02-08 14:49:30 +00:00
test-unwinder.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-usecounters.cc [counters] remove "override mistake" use counters 2019-01-18 19:27:29 +00:00
test-utils-arm64.cc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-utils-arm64.h Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
test-utils.cc Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
test-version.cc [cleanup] Use Vector::begin instead of Vector::start 2019-04-29 12:43:16 +00:00
test-weakmaps.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-weaksets.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
trace-extension.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
trace-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
unicode-helpers.cc Move string-related files to src/strings 2019-05-21 07:17:48 +00:00
unicode-helpers.h Move string-related files to src/strings 2019-05-21 07:17:48 +00:00