v8/src
Michael Lippautz 4569ffae0b Migrate CrossThreadPersistent
Adds a cross-thread reference for strongly and weakly retaining
objects on a thread other than the thread that owns the object.

The intended use of the reference is by setting it up on the
originating thread, holding the object alive from another thread, and
ultimately accessing the object again on the originating thread.

The reference has known caveats:
- It's unsafe to use when the heap may terminate;
- It's unsafe to transitively reach through the graph because of
  compaction;

Change-Id: I84fbdde69a099eb54af5b93c34e2169915b17e64
Bug: chromium:1056170
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436449
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70428}
2020-10-09 14:33:57 +00:00
..
api [top-level-await] Implement v8::Module::IsGraphAsync() 2020-10-07 17:34:30 +00:00
asmjs [wasm][cleanup] Rename kLocal<type> constants -> k<type>Code 2020-09-29 08:48:21 +00:00
ast [compiler] Never serialize ScopeInfo 2020-10-08 14:58:41 +00:00
base [mac] Set MAP_JIT only when necessary 2020-10-07 12:21:09 +00:00
builtins [properties] Fix SetLazyDataProperty for indices 2020-10-09 12:09:02 +00:00
codegen [TurboProp] Enable mid-tier register allocator for TurboProp 2020-10-09 14:32:52 +00:00
common [dict-proto] Add v8_dict_mode_prototypes build flag 2020-10-07 09:23:50 +00:00
compiler [TurboProp] Enable mid-tier register allocator for TurboProp 2020-10-09 14:32:52 +00:00
compiler-dispatcher Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
d8 [d8] Fix Realm.owner on detached global proxy 2020-10-09 09:55:32 +00:00
date Make ToInteger always truncate -0 2020-03-02 20:40:01 +00:00
debug Expose a proxy object to evaluateOnCallFrame for WebAssembly 2020-10-05 15:12:41 +00:00
deoptimizer [cleanup] Clean up SYNCHRONIZED_ACCESSORS macro naming and its uses 2020-10-05 11:01:22 +00:00
diagnostics [compiler] Never serialize ScopeInfo 2020-10-08 14:58:41 +00:00
execution [serializer] Introduce HandleScopes for object contents 2020-10-08 18:03:51 +00:00
extensions [clang-tidy] Remove unneeded casts 2020-06-10 20:47:50 +00:00
flags [TurboProp] Enable mid-tier register allocator for TurboProp 2020-10-09 14:32:52 +00:00
handles [handles] Fix is_identical_to to correctly work with Smis 2020-10-09 11:53:22 +00:00
heap Migrate CrossThreadPersistent 2020-10-09 14:33:57 +00:00
ic [cleanup] Clean up SYNCHRONIZED_ACCESSORS macro naming and its uses 2020-10-05 11:01:22 +00:00
init [d8] Fix Realm.owner on detached global proxy 2020-10-09 09:55:32 +00:00
inspector DevTools: add support for injecting bindings by context name 2020-10-01 17:20:04 +00:00
interpreter [cleanup] Clean up SYNCHRONIZED_ACCESSORS macro naming and its uses 2020-10-05 11:01:22 +00:00
json [cleanup] Clean up SYNCHRONIZED_ACCESSORS macro naming and its uses 2020-10-05 11:01:22 +00:00
libplatform cppgc, jobs: Update job priority 2020-10-07 10:10:09 +00:00
libsampler [cpu-profiler] Ensure sampled thread has Isolate lock under Windows 2020-09-16 16:17:39 +00:00
logging [cleanup] Clean up SYNCHRONIZED_ACCESSORS macro naming and its uses 2020-10-05 11:01:22 +00:00
numbers [cleanup] Remove stale TODOs related to RO_SPACE 2020-09-08 08:53:54 +00:00
objects [properties] Fix SetLazyDataProperty for indices 2020-10-09 12:09:02 +00:00
parsing [cleanup] Remove 'RT' suffix on Runtime ToString function 2020-09-25 21:18:32 +00:00
profiler [compiler] Never serialize ScopeInfo 2020-10-08 14:58:41 +00:00
protobuf
regexp [regexp] Handle interrupts in experimental interpreter 2020-10-07 09:45:09 +00:00
roots Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
runtime [nci] Also spawn NCI tasks for OSR requests 2020-10-07 07:35:20 +00:00
sanitizer [platform] Add SharedMemory allocation and mapping 2020-07-30 18:31:21 +00:00
snapshot [serializer] Introduce HandleScopes for object contents 2020-10-08 18:03:51 +00:00
strings [cleanup] Clean up SYNCHRONIZED_ACCESSORS macro naming and its uses 2020-10-05 11:01:22 +00:00
tasks Reland2: [Atomics.waitAsync] Implement Atomics.waitAsync 2020-07-21 06:43:48 +00:00
third_party Enable full WASM function names with arguments for Intel VTune 2020-07-13 14:01:27 +00:00
torque [ptr-cmpr] Change const Isolate* to IsolateRoot 2020-10-07 08:03:50 +00:00
tracing [wasm] Introduce v8.wasm.detailed trace event category 2020-06-03 18:52:50 +00:00
trap-handler [cleanup] Consistent comments on namespace ends 2020-08-17 10:09:02 +00:00
utils [mac] Set MAP_JIT only when necessary 2020-10-07 12:21:09 +00:00
wasm [wasm-gc] Fix gc-stress error on WasmJSFunctionData 2020-10-09 13:00:02 +00:00
zone Add bucket_count parameter to ZoneUnorderedSet 2020-10-06 19:02:15 +00:00
DEPS [heap] Add conservative stack scanning 2020-09-01 12:21:29 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00