v8/test/unittests/compiler
Ulan Degenbaev 62e168308c Reland x5 [arraybuffer] Rearchitect backing store ownership
This reverts commit 8fdb23873b.

Original change's description:
> "Reland x4 [arraybuffer] Rearchitect backing store ownership"
>
> This is a reland of bc33f5aeba
>
> Contributed by titzer@chromium.org
>
> 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.
>
> TBR=yangguo@chromium.org
>
> BUG=v8:9380,v8:9221,chromium:986318
>
> Change-Id: If671a4a9ca0476e8f084efae46e0d2bf99ed99ef
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1731005
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#63041}

TBR=yangguo@chromium.org,clemensh@chromium.org,mstarzinger@chromium.org

Change-Id: Iba55c7ab71e5642b5cb6aeb699d6fc9cf9061486
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1771795
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63461}
2019-08-29 16:40:18 +00:00
..
arm [interpreter,compiler] Remove CodeAssembler::LoadStackPointer 2019-08-12 14:49:47 +00:00
arm64 [interpreter,compiler] Remove CodeAssembler::LoadStackPointer 2019-08-12 14:49:47 +00:00
backend [compiler] Pass the max frame size to CodeGenerator 2019-08-29 13:45:28 +00:00
ia32 [interpreter,compiler] Remove CodeAssembler::LoadStackPointer 2019-08-12 14:49:47 +00:00
mips Move architecture dependent files 2019-05-28 14:02:15 +00:00
mips64 Move architecture dependent files 2019-05-28 14:02:15 +00:00
ppc Move code generation related files to src/codegen 2019-05-21 10:33:39 +00:00
regalloc [regalloc] Rename --trace-alloc to --trace-turbo-alloc 2019-07-05 12:47:41 +00:00
s390 Move architecture dependent files 2019-05-28 14:02:15 +00:00
x64 [interpreter,compiler] Remove CodeAssembler::LoadStackPointer 2019-08-12 14:49:47 +00:00
branch-elimination-unittest.cc [compiler]Use Phi in Branch if control flow is known 2019-08-28 19:12:03 +00:00
bytecode-analysis-unittest.cc [turbofan] Move bytecode analysis to the serializer 2019-07-15 12:41:57 +00:00
checkpoint-elimination-unittest.cc [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
code-assembler-unittest.cc [cleanup] Add & use more CSA LoadRoot helpers 2019-08-26 14:13:11 +00:00
code-assembler-unittest.h [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
common-operator-reducer-unittest.cc [turbofan] Disentangle header include chains 2019-07-05 14:26:05 +00:00
common-operator-unittest.cc test: Replace _TEST_CASE_ with _TEST_SUITE_. 2019-02-18 21:36:56 +00:00
compiler-test-utils.h [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
constant-folding-reducer-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
control-equivalence-unittest.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
control-flow-optimizer-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
dead-code-elimination-unittest.cc [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
decompression-elimination-unittest.cc [cleanup][ptr-compr][turbofan] DecompressionElimination test cleanup 2019-06-24 21:35:06 +00:00
diamond-unittest.cc [cleanup] [compiler] Fix (D)CHECK macros 2017-09-25 10:21:34 +00:00
effect-control-linearizer-unittest.cc [ptr-compr][cleanup] Removing the optimized map checks 2019-05-28 09:39:23 +00:00
graph-reducer-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
graph-reducer-unittest.h [turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining to an AdvancedReducer. 2015-05-12 12:41:36 +00:00
graph-trimmer-unittest.cc [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
graph-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
graph-unittest.h [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
int64-lowering-unittest.cc [wasm] 32-bit support WebAssembly's i64<>JavaScript's BigInt conversions 2019-08-21 17:03:51 +00:00
js-call-reducer-unittest.cc Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
js-create-lowering-unittest.cc [Parsing] Create canononical ScopeInfos in the read-only space. 2019-08-12 21:41:48 +00:00
js-intrinsic-lowering-unittest.cc [turbofan] Remove a heap access from JSIntrinsicLowering 2019-08-21 15:31:44 +00:00
js-native-context-specialization-unittest.cc Move number related files to src/numbers 2019-05-15 19:34:44 +00:00
js-operator-unittest.cc test: Replace _TEST_CASE_ with _TEST_SUITE_. 2019-02-18 21:36:56 +00:00
js-typed-lowering-unittest.cc Reland x5 [arraybuffer] Rearchitect backing store ownership 2019-08-29 16:40:18 +00:00
linkage-tail-call-unittest.cc [turbofan][cleanup] Remove Node-use in linkage.cc 2019-08-21 14:49:06 +00:00
load-elimination-unittest.cc Retire PretenureFlag and use AllocationType everywhere. 2019-03-12 08:10:44 +00:00
loop-peeling-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
machine-operator-reducer-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
machine-operator-unittest.cc [compiler] Remove LoadStackPointer and related machinery 2019-08-12 15:25:27 +00:00
node-cache-unittest.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
node-matchers-unittest.cc [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
node-properties-unittest.cc [jumbo] add unittests jumbo support 2017-09-28 22:19:40 +00:00
node-test-utils.cc Reland "[CSA][cleanup] TNodify some methods related to prototype and property lookup" 2019-08-19 15:00:10 +00:00
node-test-utils.h Reland "[CSA][cleanup] TNodify some methods related to prototype and property lookup" 2019-08-19 15:00:10 +00:00
node-unittest.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
opcodes-unittest.cc [ubsan][compiler] Avoid out-of-range casts to IrOpcode::Value 2019-01-25 20:55:25 +00:00
persistent-unittest.cc [ubsan] Fix numerical overflows in the compiler 2019-01-10 11:17:37 +00:00
redundancy-elimination-unittest.cc Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
schedule-unittest.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
scheduler-rpo-unittest.cc [cleanup] Refactor compiler to use default members. 2018-09-17 12:12:21 +00:00
scheduler-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
simplified-lowering-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
simplified-operator-reducer-unittest.cc Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
simplified-operator-unittest.cc [ptr-compr] Specialize CompressedSigned -> Word32 conversion 2019-07-08 12:21:58 +00:00
state-values-utils-unittest.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
typed-optimization-unittest.cc [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
typer-unittest.cc Reland "[turbofan] Further brokerize BytecodeGraphBuilder" 2019-08-26 08:58:44 +00:00
value-numbering-reducer-unittest.cc [jumbo] fix another set of unittest compilation errors 2017-10-19 09:15:44 +00:00
zone-stats-unittest.cc [cleanup] Don't use virtual inheritance in gtest fixtures 2018-10-30 06:28:42 +00:00