v8/test/cctest/wasm
Ben L. Titzer 306cf40344 Reland "Reland "[arraybuffer] Rearchitect backing store ownership""
This is a reland of bc33f5aeba

Original change's description:
> Reland "[arraybuffer] Rearchitect backing store ownership"
> 
> This is a reland of 31cd5d83d3
> 
> Original change's description:
> > [arraybuffer] Rearchitect backing store ownership
> > 
> > This CL completely rearchitects the ownership of array buffer backing stores,
> > consolidating ownership into a {BackingStore} C++ object that is tracked
> > throughout V8 using unique_ptr and shared_ptr where appropriate.
> > 
> > Overall, lifetime management is simpler and more explicit. The numerous
> > ways that array buffers were initialized have been streamlined to one
> > Attach() method on JSArrayBuffer. The array buffer tracker in the
> > GC implementation now manages std::shared_ptr<BackingStore> pointers,
> > and the construction and destruction of the BackingStore object itself
> > handles the underlying page or embedder-allocated memory.
> > 
> > The embedder API remains unchanged for now. We use the
> > v8::ArrayBuffer::Contents struct to hide an additional shared_ptr to
> > keep the backing store alive properly, even in the case of aliases
> > from live heap objects. Thus the embedder has a lower chance of making
> > a mistake. Long-term, we should move the embedder to a model where they
> > manage backing stores using shared_ptr to an opaque backing store object.
> > 
> > R=mlippautz@chromium.org
> > BUG=v8:9380,v8:9221
> > 
> > Change-Id: I48fae5ac85dcf6172a83f252439e77e7c1a16ccd
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584323
> > Commit-Queue: Ben Titzer <titzer@chromium.org>
> > Reviewed-by: Ben Titzer <titzer@chromium.org>
> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> > Reviewed-by: Yang Guo <yangguo@chromium.org>
> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#62572}
> 
> Bug: v8:9380, v8:9221
> Change-Id: If3f72967a8ebeb067c0edcfc16ed631e36829dbc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691906
> Commit-Queue: Ben Titzer <titzer@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#62809}

Bug: v8:9380, v8:9221
Change-Id: I9a2525753ae2424108d074fa81df5f25d945c824
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1709409
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62847}
2019-07-22 10:33:26 +00:00
..
OWNERS Reduce wasm OWNERS to current team members 2018-10-15 14:47:49 +00:00
test-c-wasm-entry.cc [wasm-c-api] Faster C-to-Wasm entry 2019-06-27 13:39:48 +00:00
test-grow-memory.cc Reland "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-22 10:33:26 +00:00
test-jump-table-assembler.cc [wasm] Split jump table and lazy compile table 2019-07-15 10:37:02 +00:00
test-run-wasm-64.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-run-wasm-asmjs.cc [Liftoff] List unsupported opcodes explicitly 2019-05-29 09:47:28 +00:00
test-run-wasm-atomics64.cc [wasm] Fix Int64-lowering to handle non-const index for I64Atomic ops 2019-04-11 21:10:40 +00:00
test-run-wasm-atomics.cc [wasm] Implement "atomic.fence" operator. 2019-07-19 09:14:42 +00:00
test-run-wasm-bulk-memory.cc [wasm][bulk-memory] Adjust memory.fill to recent spec changes 2019-07-18 16:28:16 +00:00
test-run-wasm-exceptions.cc [wasm][anyref] Cache export wrappers per signature 2019-05-22 14:59:50 +00:00
test-run-wasm-interpreter.cc [wasm][anyref] Cache export wrappers per signature 2019-05-22 14:59:50 +00:00
test-run-wasm-js.cc [wasm][anyref] Cache export wrappers per signature 2019-05-22 14:59:50 +00:00
test-run-wasm-module.cc Reland "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-22 10:33:26 +00:00
test-run-wasm-sign-extension.cc [wasm] Unify all enums representing execution tiers 2018-08-21 15:45:18 +00:00
test-run-wasm-simd.cc [wasm] Fix UB in simd test 2019-07-19 10:02:58 +00:00
test-run-wasm.cc [wasm][anyref] Implement correct type checking for br_table 2019-06-25 12:00:21 +00:00
test-streaming-compilation.cc Revert "reland [wasm] Compile JS to WASM wrappers asynchronously" 2019-07-16 11:39:53 +00:00
test-wasm-breakpoints.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-wasm-codegen.cc [wasm] Remove non-const arguments from module builder 2019-07-08 11:42:59 +00:00
test-wasm-import-wrapper-cache.cc [wasm] Compile import wrappers in parallel 2019-05-27 09:36:55 +00:00
test-wasm-interpreter-entry.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-wasm-serialization.cc Reland "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-22 10:33:26 +00:00
test-wasm-shared-engine.cc [wasm] Remove non-const arguments from module builder 2019-07-08 11:42:59 +00:00
test-wasm-stack.cc [stack-trace] Change column number for wasm frames to module offset 2019-06-14 11:33:18 +00:00
test-wasm-trap-position.cc [stack-trace] Change column number for wasm frames to module offset 2019-06-14 11:33:18 +00:00
wasm-atomics-utils.h [wasm][cleanup] Using 'using' instead of 'typedef' 2019-03-29 10:20:30 +00:00
wasm-run-utils.cc Reland "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-22 10:33:26 +00:00
wasm-run-utils.h [asm.js] Propagate language mode to exported functions. 2019-07-19 11:47:48 +00:00