v8/test/cctest/wasm
Clemens Hammacher b53141eca3 Reland "[wasm] Don't store global handles in the interpreter"
This is a reland of 5648aad553.
Previous compile error should be fixed by disabling strict aliasing
assumptions on gyp: https://chromium-review.googlesource.com/c/571806

Original change's description:
> [wasm] Don't store global handles in the interpreter
> 
> Storing global handles in the interpreter is dangerous, because the
> global handles are strong roots into the heap. The interpreter itself is
> referenced from the heap via a Managed. Hence the interpreter keeps the
> instance alive, while the instance keeps the Managed alive. So the GC
> will never collect them.
> 
> This CL refactors this to only store the handle to the instance object
> while executing in the interpreter, and clearing it when returning.
> It also removes the cache of import wrappers, as it should not be
> performance critical, but keeps lots of objects alive. If it turns out
> to be performance critical, we will have to reintroduce such a cache
> stored in the WasmDebugInfo object.
> 
> R=titzer@chromium.org
> CC=ahaas@chromium.org
> 
> Bug: chromium:610330
> Change-Id: I54b489dadc16685887c0c1a98da6fd0df5ad7cbb
> Reviewed-on: https://chromium-review.googlesource.com/567058
> Reviewed-by: Ben Titzer <titzer@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#46629}

TBR=titzer@chromium.org

Bug: chromium:610330
Change-Id: Ic7836b1b1a044a89f2138f0c76f92acd3a1b2f2b
Reviewed-on: https://chromium-review.googlesource.com/570578
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46679}
2017-07-14 14:37:22 +00:00
..
OWNERS Add COMPONENT tags to OWNERS files where appropriate 2017-05-22 10:15:28 +00:00
test-run-wasm-64.cc [arm][turbofan] Pass double immediate to vmov as uint64_t 2017-07-05 14:17:38 +00:00
test-run-wasm-asmjs.cc [wasm] Move wasm-macro-gen.h to test/common/wasm 2017-04-25 11:59:48 +00:00
test-run-wasm-interpreter.cc [wasm] Reduce test-specific code 2017-04-28 09:00:32 +00:00
test-run-wasm-js.cc Add Smi::ToInt helper method 2017-07-10 13:33:03 +00:00
test-run-wasm-module.cc [wasm] Introduce instance types for WebAssembly.* objects. 2017-07-07 12:27:56 +00:00
test-run-wasm-relocation.cc [wasm] Move wasm-macro-gen.h to test/common/wasm 2017-04-25 11:59:48 +00:00
test-run-wasm-simd.cc [ia32][wasm] Add I8x16/I16x8 Splat/ExtractLane/ReplaceLane 2017-07-05 05:38:09 +00:00
test-run-wasm.cc [wasm] Make prototype flags experimental 2017-05-31 14:18:08 +00:00
test-wasm-breakpoints.cc [wasm] [cleanup] Introduce WireBytesRef struct 2017-06-12 12:57:21 +00:00
test-wasm-interpreter-entry.cc [wasm] Move wasm-macro-gen.h to test/common/wasm 2017-04-25 11:59:48 +00:00
test-wasm-stack.cc [wasm] [cleanup] Avoid shouting WASM 2017-06-09 16:24:19 +00:00
test-wasm-trap-position.cc [wasm] Move wasm-macro-gen.h to test/common/wasm 2017-04-25 11:59:48 +00:00
wasm-run-utils.h Reland "[wasm] Don't store global handles in the interpreter" 2017-07-14 14:37:22 +00:00