v8/include
Anton Bikineev e29e64e729 unified-young-gen: Filter custom weak callbacks
Oilpan young generation currently remembers all weak callbacks to be
processed on each GC. This is needed to support UntracedMembers in the
old space. If the old object with UntracedMember (e.g.
ActiveScriptWrappableManager) holds a pointer to a young object, the
custom weak callback must be reexecuted on each minor GC, because the
custom callback is responsible for clearing UntracedMembers.

This is not necessary for weak containers. They hold WeakMembers, for
which we issue the regular write barrier. The CL distinguishes between
callbacks for weak containers and for custom objects. This aims to
speeds up weak processing, which currently may take >10ms.

Bug: v8:13475
Change-Id: I6964a6835dc84febddbefb5e2952d57f108d1232
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4080470
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#84895}
2022-12-16 10:15:12 +00:00
..
cppgc unified-young-gen: Filter custom weak callbacks 2022-12-16 10:15:12 +00:00
libplatform [Tracing w/SDK] Replace TraceStateObserver with TrackEventSessionObserver 2022-12-01 11:18:24 +00:00
APIDesign.md Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
DEPS cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
js_protocol-1.2.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol-1.3.json [inspector] Remove Type Profiler 2022-10-10 11:50:16 +00:00
js_protocol.pdl [inspector] Allow to break only on caught exceptions. 2022-11-09 07:44:28 +00:00
OWNERS [owners] Adjust ownership for v8-debug.h. 2021-12-30 08:04:21 +00:00
v8-array-buffer.h [rab/gsab,api] Add resizable BackingStore creation 2022-12-14 01:54:00 +00:00
v8-callbacks.h [execution] Report first old space page as CrashKey 2022-11-02 08:26:30 +00:00
v8-container.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-context.h [execution] Add ability to set the microtask queue for the context. 2022-10-26 16:40:21 +00:00
v8-cppgc.h [cppgc-js] Reuse stack object from V8 2022-11-08 16:47:47 +00:00
v8-data.h Mark Data constructor deleted. 2022-10-25 23:02:10 +00:00
v8-date.h Fix Date BiDi format 2022-07-11 17:19:43 +00:00
v8-debug.h Introduce v8::StackTrace::CurrentScriptNameOrSourceURL 2022-01-17 11:34:28 +00:00
v8-embedder-heap.h [api] Advance EmedderHeapTracer deprecation 2022-10-14 09:29:13 +00:00
v8-embedder-state-scope.h Shift EmbedderState values next to each other 2022-01-10 17:43:47 +00:00
v8-exception.h [api] Rename isolate variables 2022-04-28 12:51:08 +00:00
v8-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-external.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-fast-api-calls.h [fastcall] Support external pointers in fast api calls 2022-12-01 14:19:33 +00:00
v8-forward.h [include] Add TryCatch and Extension to v8-forward.h 2021-09-23 13:15:10 +00:00
v8-function-callback.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-function.h Implement Function::Experimental_IsNopFunction. 2022-08-01 01:36:02 +00:00
v8-initialization.h Reland "[sandbox] Fold V8_SANDBOXED_EXTERNAL_POINTERS into V8_ENABLE_SANDBOX" 2022-09-12 11:48:02 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h [inspector] Introduce debugger session stop API 2022-12-09 12:08:58 +00:00
v8-internal.h [fastcall] Support external pointers in fast api calls 2022-12-01 14:19:33 +00:00
v8-isolate.h [api] mark readonly usage of StartupData as const 2022-12-09 16:58:44 +00:00
v8-json.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-local-handle.h [api] Fix MaybeLocal::ToLocal documentation when it's empty 2022-05-03 10:03:24 +00:00
v8-locker.h [api] Advance API deprecation 2022-08-16 08:11:57 +00:00
v8-maybe.h api: Allow v8::Maybe<MovableType>. 2022-04-30 21:47:24 +00:00
v8-memory-span.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-message.h [api] Advance API deprecation 2022-08-16 08:11:57 +00:00
v8-metrics.h [wasm] Deprecate CPU timings in metrics 2022-12-15 14:25:48 +00:00
v8-microtask-queue.h [execution] Pass microtask queue from Context to MicrotasksScope 2022-10-19 14:56:37 +00:00
v8-microtask.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-object.h [sandbox] Prepare ExternalPointerTable rollout 2022-07-11 13:34:54 +00:00
v8-persistent-handle.h [api] Remove deprecated global handle APIs 2022-06-09 15:39:03 +00:00
v8-platform.h [Tracing w/SDK] Replace TraceStateObserver with TrackEventSessionObserver 2022-12-01 11:18:24 +00:00
v8-primitive-object.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-primitive.h Reland "[strings] Support shared external strings" 2022-09-07 08:54:16 +00:00
v8-profiler.h [profiler] add Serialize to v8::CpuProfile 2022-10-25 10:49:04 +00:00
v8-promise.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-proxy.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-regexp.h [regexp] Add v-Flag for Unicode Sets 2022-09-06 17:51:56 +00:00
v8-script.h [api] Expose parsed module source map urls 2022-10-05 08:13:48 +00:00
v8-snapshot.h [api] mark readonly usage of StartupData as const 2022-12-09 16:58:44 +00:00
v8-statistics.h [api][profiler] Surface CpuProfiler memory in HeapCodeStatistics 2021-11-04 11:01:09 +00:00
v8-template.h api: Expose %MapIteratorPrototype% and %SetIteratorPrototype% 2022-11-10 15:50:48 +00:00
v8-traced-handle.h [handles] Split off traced handles from regular global handles 2022-10-24 10:04:08 +00:00
v8-typed-array.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-unwinder-state.h [mips32] Delete mips32 from v8 2022-09-13 07:54:54 +00:00
v8-unwinder.h Reland "[profiler] Surface VM & Embedder State" 2021-12-07 19:00:07 +00:00
v8-util.h [api] Deprecate PersistentValueVector 2022-06-09 08:44:13 +00:00
v8-value-serializer-version.h Reland^2 "[string] Support shared strings in Value{Serializer,Deserializer}" 2022-01-26 21:00:12 +00:00
v8-value-serializer.h [shared-struct] Rework shared value serializer API again 2022-09-07 23:41:26 +00:00
v8-value.h [inspector] Add [[WeakRefTarget]] internal property. 2022-10-21 12:14:52 +00:00
v8-version-string.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-version.h Version 11.1.0 2022-12-15 10:26:39 +00:00
v8-wasm-trap-handler-posix.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm-trap-handler-win.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm.h [wasm][API] Remove deprecated API 2022-08-29 10:43:55 +00:00
v8-weak-callback-info.h [api] Remove APIs for resurrecting finalizers 2022-04-21 07:05:25 +00:00
v8.h Remove many superfluous STL includes in headers. 2022-01-13 20:56:45 +00:00
v8config.h [ptr-compr] Mark base() as V8_CONST 2022-12-05 10:43:25 +00:00