v8/test
Andreas Haas 275402260c [wasm] Construct WasmExportedFunctions for table elements lazily
We have to create WasmExportedFunction objects for any WebAssembly
function which may escape a WebAssembly instance. Up until now we
created these WasmExportedFunction objects eagerly during instantiation
time: for any exported function, and any element in an exported table we
create such an object.

With the anyref proposal, the table.get instruction can allow any
function in a table to escape its instance. Therefore we would have to
create a WasmExportedFunction object for any function which is put into
a table.

With this CL we create WasmExportedFunctions for table entries lazily.
We initialize tables with placeholders consisting of the instance and
the function index. If we encounter a placeholder in table.get, we
create the WasmExportedFunction for the expected function to return it.

R=mstarzinger@chromium.org
CC=titzer@chromium.org

Bug: v8:7581
Change-Id: I4f32bd7433285d0b04a22c0fb70b736bac55b3f1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1505575
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60115}
2019-03-08 10:40:41 +00:00
..
benchmarks [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
cctest PPC/s390: enable a few tests 2019-03-08 08:55:49 +00:00
common Reland "[wasm] add wasm atomic wait callback test" 2019-02-20 05:17:07 +00:00
debugger [nojit] Auto-skip --opt tests in jitless mode 2019-03-06 12:45:17 +00:00
fuzzer [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
inspector [modules] Make debug-scopes handle synthetic variables 2019-03-04 15:06:02 +00:00
intl [Intl] Fix special case timezone 2019-03-07 23:33:22 +00:00
js-perf-test Increase timeout for JSTests on arm64 2019-03-06 17:21:28 +00:00
memory [snapshot] Remove the builtins snapshot 2018-10-31 10:18:28 +00:00
message [fni] Mark computed props as computed, not anonymous function 2019-03-01 20:52:03 +00:00
mjsunit [wasm] Construct WasmExportedFunctions for table elements lazily 2019-03-08 10:40:41 +00:00
mkgrokdump [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
mozilla [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
preparser [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
test262 [Intl] Fix Intl.getCanonicalLocales("mo") 2019-03-07 23:28:32 +00:00
torque [torque] Simplify class and struct construction 2019-02-27 17:36:37 +00:00
unittests [tsan] Move the xxx_stats status flags out of command line flags 2019-03-07 20:29:33 +00:00
wasm-js [testrunner] handle timeout param in file 2019-02-27 17:49:17 +00:00
wasm-spec-tests [wasm] Update spec tests 2019-02-27 10:42:02 +00:00
webkit [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +00:00
BUILD.gn Add target for common test headers 2019-02-12 09:30:01 +00:00
OWNERS Make tmrts an infra OWNER 2019-02-15 09:02:24 +00:00