v8/test/mjsunit/wasm
mtrofin b4dc310aab [wasm] reuse the first compiled module.
This change avoids needing to keep around an unused compiled
module. Instead, the result of compiling the wasm bytes is
given to the first instance. The module object and that instance object
point to the same compiled module. Instances are, then, cloned from
the compiled module the module object points to. When an instance is
collected, we make sure that the module object still has a clone
available, and, if the last instance is GC-ed, we also reset the compiled
module so that it does not reference its heap, so that it (==heap) may
be collected.

This is achieved by linking the clones in a double-linked list and
registering a finalizer for each. When we create an instance, we tie it
in the front of the list, making the module object point to it (O(1)). When
the finalizer is called, we relink the list over the dying object (O(1)). The
costliest operation is finalizing the last instance, since we need to visit
all wasm functions and reset heap references.

BUG=v8:5316

Committed: https://crrev.com/01f5af515728aebe6c5246f4f7dd6c573e8748af
Review-Url: https://codereview.chromium.org/2305903002
Cr-Original-Commit-Position: refs/heads/master@{#39153}
Cr-Commit-Position: refs/heads/master@{#39361}
2016-09-12 23:13:19 +00:00
..
embenchen [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
adapter-frame.js Refactor module builder 2016-06-21 19:48:16 +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-f32.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm-f64.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +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 - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +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-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 - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
asm-wasm.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00
calls.js [wasm] Throw a type error if an I64 is exported to JS. 2016-08-18 14:33:08 +00:00
compiled-module-management.js [wasm] reuse the first compiled module. 2016-09-12 23:13:19 +00:00
compiled-module-serialization.js [wasm] Serialization/Deserialization of compiled module 2016-08-09 15:19:38 +00:00
debug-disassembly.js Do not call into JS from WasmDebugInfo::GetFunctionScript 2016-09-02 14:56:56 +00:00
divrem-trap.js [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
ensure-wasm-binaries-up-to-date.js [wasm] removed redundant load line from mjsunit test 2016-08-19 06:13:12 +00:00
export-table.js [wasm] Check for duplicate export names 2016-06-16 12:19:04 +00:00
ffi-error.js [wasm] Use the native_context for the TypeError in ToJS() 2016-08-30 12:46:02 +00:00
ffi.js [wasm] Allow import function to be any kind of callables. 2016-08-11 08:33:54 +00:00
frame-inspection.js [wasm] Enable wasm frame inspection for debugging 2016-06-29 10:23:09 +00:00
function-names.js [wasm] Differentiate unnamed and empty names 2016-05-19 07:54:07 +00:00
function-prototype.js [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
gc-frame.js Refactor module builder 2016-06-21 19:48:16 +00:00
grow-memory.js [wasm] GrowMemory should use array_buffer_allocator instead of realloc. 2016-09-12 07:33:03 +00:00
import-table.js [wasm] Fix receiver conversion for WASM->JS calls. 2016-06-30 09:41:43 +00:00
incrementer.wasm [wasm] binary and test for hosts' integration tests 2016-08-18 03:18:14 +00:00
indirect-calls.js Refactor module builder 2016-06-21 19:48:16 +00:00
instantiate-module-basic.js [wasm] reuse the first compiled module. 2016-09-12 23:13:19 +00:00
instantiate-run-basic.js [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
module-memory.js [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
no-wasm-by-default.js [wasm] Dont ship by default. 2016-07-01 11:37:47 +00:00
OWNERS Adding a few more owners to the wasm directory. 2016-06-29 17:38:30 +00:00
parallel_compilation.js [wasm] Implement parallel compilation. 2016-05-12 11:58:48 +00:00
params.js Refactor module builder 2016-06-21 19:48:16 +00:00
receiver.js [wasm] Fix receiver conversion for WASM->JS calls. 2016-06-30 09:41:43 +00:00
regression-644682.js [wasm] Do not produce code for br_if if its condition does not validate. 2016-09-08 14:41:04 +00:00
stack.js [wasm] Add stack checks at the beginning of each function. 2016-08-19 08:54:39 +00:00
stackwalk.js Refactor module builder 2016-06-21 19:48:16 +00:00
start-function.js Refactor module builder 2016-06-21 19:48:16 +00:00
test-import-export-wrapper.js Add signature checking when directly import a foreign function 2016-08-04 20:34:02 +00:00
test-wasm-module-builder.js Refactor module builder 2016-06-21 19:48:16 +00:00
trap-location.js Refactor module builder 2016-06-21 19:48:16 +00:00
unicode-validation.js [wasm] Add UTF-8 validation 2016-05-12 13:02:14 +00:00
unreachable.js [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
verify-function-basic-errors.js [wasm] Rename _WASMEXP_ object to Wasm. 2016-03-08 14:48:27 +00:00
verify-function-simple.js [wasm] Binary 11: Bump module version to 0xB. 2016-04-29 09:40:24 +00:00
verify-module-basic-errors.js [wasm] Rename _WASMEXP_ object to Wasm. 2016-03-08 14:48:27 +00:00
wasm-constants.js [wasm] Use the native_context for the TypeError in ToJS() 2016-08-30 12:46:02 +00:00
wasm-module-builder.js [wasm] mjsunit support for I32 globals and test 2016-08-31 00:36:18 +00:00
wasm-object-api.js [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly. 2016-08-23 04:07:23 +00:00