v8/test/cctest
Clemens Hammacher 6e0473f343 Revert "Reland "[arraybuffer] Rearchitect backing store ownership""
This reverts commit bc33f5aeba.

Reason for revert: Still failing (OOM on win32): https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/22210

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}

TBR=ulan@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,gdeepti@chromium.org,mlippautz@chromium.org

Change-Id: Iea755df9aaa1e95d284135bd0a6681b1340b6832
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9380, v8:9221
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708487
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62811}
2019-07-18 15:56:45 +00:00
..
compiler [turbofan] introduce a deterministic tick measurement and assert optimization doesn't take too long 2019-07-17 07:00:00 +00:00
heap Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
interpreter Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
libplatform [tracing] Separate tracing implementations and add perfetto tests 2019-07-18 15:40:12 +00:00
libsampler [cpu-profiler] Only record SIGPROF-based samples for samplers that request samples 2019-02-13 09:29:38 +00:00
parsing Move utility code to src/utils 2019-05-23 14:13:34 +00:00
torque [csa] Track stores and perform simple alias analysis in CSA Load Elimination 2019-06-18 08:46:55 +00:00
wasm Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
assembler-helper-arm.cc [cleanup] Drop some dead (Macro)Assembler code 2019-05-27 08:53:28 +00:00
assembler-helper-arm.h Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
BUILD.gn Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
cctest.cc [tracing] Separate tracing implementations and add perfetto tests 2019-07-18 15:40:12 +00:00
cctest.h [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
cctest.status Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
collector.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
DEPS [tracing] Use the new perfetto client API 2019-07-08 13:37:16 +00:00
disasm-regex-helper.cc [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
disasm-regex-helper.h [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
expression-type-collector-macros.h [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
gay-fixed.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
gay-fixed.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
gay-precision.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
gay-precision.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
gay-shortest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
gay-shortest.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
OWNERS [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
print-extension.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
print-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
profiler-extension.cc Reland "[Compile] Ensure we don't access the native context during bytecode finalization." 2018-10-26 22:33:56 +00:00
profiler-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
scope-test-helper.h [parser] Various Scope and Context speedups 2019-01-28 13:06:03 +00:00
setup-isolate-for-tests.cc [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
setup-isolate-for-tests.h Move initialization code into src/init 2019-05-16 12:36:15 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-accessors.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-allocation.cc [utils] Fix Malloced implementation 2019-07-15 09:59:22 +00:00
test-api-accessors.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-api-array-buffer.cc Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
test-api-interceptors.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
test-api-stack-traces.cc [stack-trace] Separate stack-trace symbolization and serialization 2019-07-04 07:34:53 +00:00
test-api-typed-array.cc [typed-arrays] Introduce JSTypedArray::kMaxSizeInHeap constant 2019-06-18 17:19:19 +00:00
test-api.cc [modules] Implement SyntheticModule::ResolveExport and SyntheticModule::Evaluate. 2019-07-09 00:09:32 +00:00
test-api.h [test-api] Extract arraybufs and typed arrays 2019-06-17 15:27:01 +00:00
test-array-list.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-assembler-arm64.cc Reland "[arm64] Refactor constant pool implementation" 2019-06-18 11:34:26 +00:00
test-assembler-arm.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-assembler-ia32.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-assembler-mips64.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-assembler-mips.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-assembler-ppc.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-assembler-s390.cc Revert "s390: cleanup TM family instructions" 2019-07-17 17:59:47 +00:00
test-assembler-x64.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-atomicops.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bignum-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bignum.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bit-vector.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-circular-queue.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-code-layout.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-code-stub-assembler.cc Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
test-compiler.cc [api] Add a way to specify the max heap size in ResourceConstraints 2019-06-06 10:22:56 +00:00
test-constantpool.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-conversions.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-cpu-profiler.cc [cpu-profiler] Fix stack iterability during deopt 2019-07-11 09:23:34 +00:00
test-date.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-debug.cc [inspector] disable debug breaks for builtins when called from API 2019-06-28 08:57:08 +00:00
test-decls.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-deoptimization.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-dictionary.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-disasm-arm.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-ia32.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-mips64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-mips.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-ppc.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-s390.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-x64.cc Fix disassembly of pcmpgtq 2019-07-17 00:46:19 +00:00
test-diy-fp.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-double.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-elements-kind.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-extra.js [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque 2019-01-07 11:57:46 +00:00
test-factory.cc Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
test-fast-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-feedback-vector.cc [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
test-feedback-vector.h Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-field-type-tracking.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-fixed-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-flags.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-func-name-inference.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-fuzz-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-global-handles.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-global-object.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-hashcode.cc [ptr-compr] Pass Isolate to JSObject::NormalizeProperties() 2019-06-11 11:11:10 +00:00
test-hashmap.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-heap-profiler.cc Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
test-icache.cc Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
test-identity-map.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
test-inobject-slack-tracking.cc [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
test-inspector.cc [inspector] fix typo in fromUTF16LE and cleanup test 2019-06-26 11:50:31 +00:00
test-intl.cc Better GetAvilableLocales check resources 2019-06-21 23:04:09 +00:00
test-javascript-arm64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-js-arm64-variables.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-js-weak-refs.cc [WeakRefs] Rename to KeepDuringJob, ClearKeptObjects 2019-06-13 08:57:39 +00:00
test-liveedit.cc Add quotes around unexpected token SyntaxError 2019-06-11 06:11:58 +00:00
test-lockers.cc [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
test-log-stack-tracer.cc [cleanup] Reduce frames.h include ball from 686 to ~270 2019-07-12 10:20:41 +00:00
test-log.cc [cleanup][heap] Improve heap iterator naming 2019-06-17 14:38:02 +00:00
test-macro-assembler-arm64.cc [ptr-compr][arm64] Use ldr_w to load on 32 bits for CompressedHeapConstants 2019-06-21 07:37:04 +00:00
test-macro-assembler-arm.cc [cleanup] Remove 'typedef struct' and 'typedef enum' 2019-05-28 12:17:35 +00:00
test-macro-assembler-mips64.cc [mips64][codegen] Remove dead argument to Assember::stop 2019-07-12 12:06:27 +00:00
test-macro-assembler-mips.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-macro-assembler-x64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-managed.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-mementos.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-modules.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-object.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-orderedhashtable.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-parsing.cc [modules] Introduce SourceTextModule class 2019-06-19 17:54:52 +00:00
test-platform.cc s390: Edited Generate_CEntry to correctly return buffer when built with clang 2018-09-05 07:01:16 +00:00
test-poison-disasm-arm64.cc [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
test-poison-disasm-arm.cc [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
test-profile-generator.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-random-number-generator.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-regexp.cc Reland "[regexp] Call the regexp interpreter without CEntry overhead" 2019-07-18 07:23:14 +00:00
test-representation.cc Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-roots.cc Revert "Reland "[arraybuffer] Rearchitect backing store ownership"" 2019-07-18 15:56:45 +00:00
test-sampler-api.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-serialize.cc [snapshot] Fix clearing of feedback vector in serializer 2019-07-12 11:11:13 +00:00
test-smi-lexicographic-compare.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-stack-unwinding-x64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-strings.cc [ptr-compr][cleanup] Replace READ_[WEAK_]FIELD with TaggedField<>::load() 2019-06-28 10:47:40 +00:00
test-strtod.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-symbols.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
test-sync-primitives-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-sync-primitives-arm.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-thread-termination.cc [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
test-threads.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-trace-event.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-traced-value.cc [tracing] Improve tracing signals for compilation/optimization. 2019-03-25 14:49:08 +00:00
test-transitions.cc [ptr-compr] Isolatify Map::MigrateToMap() and friends 2019-07-03 08:08:05 +00:00
test-transitions.h Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-typedarrays.cc Enable cpplint 'runtime/references' warning 2019-07-08 09:59:36 +00:00
test-types.cc [turbofan] Disentangle header include chains 2019-07-05 14:26:05 +00:00
test-unboxed-doubles.cc [ptr-compr] Pass Isolate to JSObject::MigrateToMap() and friends 2019-06-11 09:58:36 +00:00
test-unscopables-hidden-prototype.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-unwinder.cc [cleanup] Avoid {Object::operator->} 2019-05-23 07:52:07 +00:00
test-usecounters.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-utils-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-utils-arm64.h Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-utils.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-version.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-weakmaps.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-weaksets.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
trace-extension.cc [cleanup] Avoid {Object::operator->} 2019-05-23 07:52:07 +00:00
trace-extension.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
unicode-helpers.cc Move string-related files to src/strings 2019-05-21 07:17:48 +00:00
unicode-helpers.h Move string-related files to src/strings 2019-05-21 07:17:48 +00:00