v8/test/mjsunit/wasm
titzer 418b239f0b [wasm] Use a Managed<WasmModule> to hold metadata about modules.
This CL refactors the handling of metadata associated with WebAssembly
modules to reduce the duplicate marshalling of data from the C++ world
to the JavaScript world. It does this by wrapping the C++ WasmModule*
object in a Foreign that is rooted from the on-heap WasmCompiledModule
(which is itself just a FixedArray). Upon serialization, the C++ object
is ignored and the original WASM wire bytes are serialized. Upon
deserialization, the C++ object is reconstituted by reparsing the bytes.

This is motivated by increasing complications in implementing the JS
API, in particular WebAssembly.Table, which must perform signature
canonicalization across instances.

Additionally, this CL implements the proper base + offset initialization
behavior for tables.

R=rossberg@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,yangguo@chromium.org
BUG=v8:5507, chromium:575167, chromium:657316

Review-Url: https://chromiumcodereview.appspot.com/2424623002
Cr-Commit-Position: refs/heads/master@{#40434}
2016-10-19 13:07:22 +00:00
..
embenchen [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
adapter-frame.js
asm-debug.js [wasm] Stack inspection support for asm.js frames 2016-10-13 13:55:07 +00:00
asm-wasm-copy.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-deopt.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-expr.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
asm-wasm-f32.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
asm-wasm-f64.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
asm-wasm-heap.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-i32.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
asm-wasm-literals.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-stack.js [wasm] Provide better stack traces for asm.js code 2016-10-12 09:17:28 +00:00
asm-wasm-stdlib.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-switch.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-u32.js [wasm] [asm.js] Fix various asm.js issues. 2016-09-28 16:37:04 +00:00
asm-wasm.js [wasm] [asm.js] Fix asm.js issues around floating point globals. 2016-10-05 19:46:25 +00:00
calls.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
compiled-module-management.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
compiled-module-serialization.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
data-segments.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
debug-disassembly.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
divrem-trap.js
ensure-wasm-binaries-up-to-date.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
errors.js [wasm] Implement {Compile,Runtime}Error; fix traps from start function 2016-10-13 16:18:10 +00:00
exceptions.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
export-table.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
ffi-error.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
ffi.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
frame-inspection.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
function-names.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
function-prototype.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
gc-buffer.js [wasm] Use a Managed<WasmModule> to hold metadata about modules. 2016-10-19 13:07:22 +00:00
gc-frame.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
gc-stress.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
globals.js Imported and defined globals share an index space, but previously the decoder clobbered the imported global indices with the defined globals. 2016-10-12 15:19:41 +00:00
grow-memory.js [wasm] Fix bounds check for zero initial memory. 2016-10-14 23:54:50 +00:00
import-memory.js [wasm] GrowMemory should use maximum size declared in WebAssembly.Memory 2016-10-18 22:19:53 +00:00
import-table.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
incrementer.wasm [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
indirect-calls.js [wasm] Use a Managed<WasmModule> to hold metadata about modules. 2016-10-19 13:07:22 +00:00
instance-gc.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
instantiate-module-basic.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
instantiate-run-basic.js
memory-size.js [wasm] Call a runtime function for a MemorySize instruction. 2016-10-05 09:12:08 +00:00
memory.js [wasm] Do a proper HasProperty() check in the memory and table setup. 2016-09-26 13:08:01 +00:00
module-memory.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
no-wasm-by-default.js [wasm] Dont ship by default. 2016-07-01 11:37:47 +00:00
OWNERS
parallel_compilation.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
params.js
receiver.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
stack.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
stackwalk.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
start-function.js [wasm] Refactor import handling for 0xC. 2016-10-06 15:43:22 +00:00
table.js [wasm] Implement Table#set and Table#grow 2016-10-17 11:39:34 +00:00
test-import-export-wrapper.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
test-wasm-module-builder.js [wasm] Base address for data segments can also be the value of a global variable. 2016-10-10 14:42:10 +00:00
trap-location.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
unicode-validation.js [wasm] Master CL for Binary 0xC changes. 2016-09-27 20:46:30 +00:00
unreachable.js
verify-module-basic-errors.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00
wasm-constants.js [wasm] Implement {Compile,Runtime}Error; fix traps from start function 2016-10-13 16:18:10 +00:00
wasm-module-builder.js [wasm] Use a Managed<WasmModule> to hold metadata about modules. 2016-10-19 13:07:22 +00:00
wasm-object-api.js [wasm] Reduce usage of old Wasm.* API in JS tests. 2016-10-13 16:55:57 +00:00