https://docs.google.com/document/d/1Lg_TqkvtuLipMSbBJo4wcIBxefYMkSpLF6sggrOEOJw/edit# Oilpan: mlippautz@ Wrapper tracing: ulan@
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/83ad4f040273888c31d8ba2ec14e061c01f730c0 commit 83ad4f040273888c31d8ba2ec14e061c01f730c0 Author: Ulan Degenbaev <ulan@chromium.org> Date: Wed Jan 17 10:22:14 2018 [bindings] Remove unused parent field in TraceWrapperV8Reference. Bug: 802273 Change-Id: I8e0ab42867e144b39f920171a708ffcfca0fc7cd Reviewed-on: https://chromium-review.googlesource.com/868216 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#529691} [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitorTest.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/bindings/core/v8/V8AbstractEventListener.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/core/dom/events/CustomEvent.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/core/events/ErrorEvent.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/core/events/PopStateEvent.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/core/events/PromiseRejectionEvent.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/core/script/ModuleScript.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/modules/animationworklet/Animator.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/modules/animationworklet/AnimatorDefinition.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/modules/webaudio/AudioWorkletProcessorDefinition.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp [modify] https://crrev.com/83ad4f040273888c31d8ba2ec14e061c01f730c0/third_party/WebKit/Source/platform/bindings/TraceWrapperV8Reference.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/79b8b547392ebc0aece74878d8c3a36f7c1106ee commit 79b8b547392ebc0aece74878d8c3a36f7c1106ee Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Jan 17 11:44:51 2018 [bindings] Make TraceWrapperBase::TraceWrappers abstract Implement an empty TraceWrappers on SW that will serve as the base implementation. A future CL will make sure that all children properly dispatch to ScriptWrappable::TraceWrappers when needed, i.e., when they have their own implementation. This is prework for generlizing visiting of wrapper traced objects. Bug: chromium:802273 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I0957934360ba852e572c9432743bdf086fc38719 Reviewed-on: https://chromium-review.googlesource.com/870111 Reviewed-by: Yuki Shiino <yukishiino@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#529713} [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/core/dom/DocumentParser.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.cpp [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/core/script/Modulator.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/core/script/PendingScript.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.cpp [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/modules/indexeddb/IndexedDBClient.cpp [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/modules/indexeddb/IndexedDBClient.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerClient.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h [modify] https://crrev.com/79b8b547392ebc0aece74878d8c3a36f7c1106ee/third_party/WebKit/Source/platform/bindings/TraceWrapperBase.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07c9c2c2036f8be61920b5ae78c6353cbc8a4511 commit 07c9c2c2036f8be61920b5ae78c6353cbc8a4511 Author: Ulan Degenbaev <ulan@chromium.org> Date: Wed Jan 17 12:04:21 2018 [bindings] Convert main_world_wrapper_ to TraceWrapperV8Reference. This makes the main_world_wrapper_ field of ScriptWrappable consistent with other traced fields that refer to V8 objects. Bug: 802273 Change-Id: If7ed22def0423c28f19709541b7690a58ea4eff2 Reviewed-on: https://chromium-review.googlesource.com/868692 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Yuki Shiino <yukishiino@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#529717} [modify] https://crrev.com/07c9c2c2036f8be61920b5ae78c6353cbc8a4511/third_party/WebKit/Source/platform/bindings/ScriptWrappable.cpp [modify] https://crrev.com/07c9c2c2036f8be61920b5ae78c6353cbc8a4511/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h [modify] https://crrev.com/07c9c2c2036f8be61920b5ae78c6353cbc8a4511/third_party/WebKit/Source/platform/bindings/TraceWrapperV8Reference.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/47b8c9341b89cc4222836a9ac27dcf962e1ba990 commit 47b8c9341b89cc4222836a9ac27dcf962e1ba990 Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Jan 17 14:30:48 2018 [blink-gc-plugin] Add checks for dispatching TraceWrappers Check for properly dispatching to base classes in TraceWrappers Bug: chromium:802273 Change-Id: I35c39afd62972715c3d7867ce5abbb70753e239b Reviewed-on: https://chromium-review.googlesource.com/868138 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Keishi Hattori <keishi@chromium.org> Cr-Commit-Position: refs/heads/master@{#529735} [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.h [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/BlinkGCPluginOptions.h [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/CMakeLists.txt [add] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/CheckTraceWrappersVisitor.cpp [add] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/CheckTraceWrappersVisitor.h [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/CollectVisitor.cpp [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/CollectVisitor.h [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/Config.cpp [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/Config.h [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/DiagnosticsReporter.h [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/RecordInfo.cpp [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/RecordInfo.h [add] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/tests/class_trace_wrappers_bases.cpp [add] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/tests/class_trace_wrappers_bases.flags [add] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/tests/class_trace_wrappers_bases.h [add] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/tests/class_trace_wrappers_bases.txt [modify] https://crrev.com/47b8c9341b89cc4222836a9ac27dcf962e1ba990/tools/clang/blink_gc_plugin/tests/heap/stubs.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a81626b52ab8ec488c596758faea4fd66f1bcb1f commit a81626b52ab8ec488c596758faea4fd66f1bcb1f Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Jan 17 16:18:16 2018 [bindings] Fix dispatching TraceWrappers to parent classes Found using a local build of https://chromium-review.googlesource.com/c/chromium/src/+/868138 Bug: chromium:802273 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Iff945b362b2984ec88fd7d98689cdba67d383530 Reviewed-on: https://chromium-review.googlesource.com/870120 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#529762} [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/bindings/core/v8/V8AbstractEventListener.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/clipboard/DataTransferItem.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/css/CSSRule.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/dom/Document.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/dom/MutationObserver.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/dom/NodeIterator.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/dom/TreeWalker.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/events/PromiseRejectionEvent.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/html/custom/CustomElementRegistry.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/html/media/HTMLMediaElement.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/html/track/TextTrack.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/html/track/TextTrackCueList.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/mojo/MojoWatcher.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/resize_observer/ResizeObserver.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/script/ModulatorImplBase.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/svg/SVGMatrixTearOff.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/svg/properties/SVGPropertyTearOff.h [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/testing/DeathAwareScriptWrappable.h [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/timing/PerformanceObserver.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/core/workers/WorkerOrWorkletGlobalScope.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/modules/geolocation/NavigatorGeolocation.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/modules/locks/LockManager.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/modules/nfc/NFC.cpp [modify] https://crrev.com/a81626b52ab8ec488c596758faea4fd66f1bcb1f/third_party/WebKit/Source/modules/xr/XRSession.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5 commit 5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5 Author: Ulan Degenbaev <ulan@chromium.org> Date: Thu Jan 18 12:36:12 2018 [bindings] Clean up handling of V8 references in ScriptWrappableVisitor. Changes in this patch: 1) Remove v8::PersistentBase<v8::Value> versions of the methods. Only TraceWrapperV8Reference versions should be used. 2) Remove ScriptWrappableVisitor::MarkWrapper. 3) Remove virtual version of ScriptWrappableVisitor::TraceWrappers. 4) Introduce ScriptWrappableVisitor::Visit(TraceWrapperV8Reference) that can be overriden by derived classes. This separates the entry point of the visitor (TraceWrappers) from the actual visitation logic (Visit). Bug: 802273 Change-Id: I451373a8f0b02f31eec06a756c80eae7c0f4acd8 Reviewed-on: https://chromium-review.googlesource.com/870118 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#530125} [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitorTest.cpp [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/platform/bindings/ScriptWrappable.cpp [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/5b9dda086f42b31f9c6b1b1d37e22c9a393d99e5/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f678e5409a65d3af47685ec0760e7d242b41bcf commit 8f678e5409a65d3af47685ec0760e7d242b41bcf Author: Ulan Degenbaev <ulan@chromium.org> Date: Thu Jan 18 13:59:44 2018 [bindings] Generalize visitation of ScriptWrappables. Now ScriptWrappableVisitor::TraceWrappers* methods forward to a virtual ScriptWrappableVisitor::Visit method that can be customized by derived visitor classes. The new Visit method replaces the old MarkAndTraceWrappers. This patch also removes: - virtual PushToMarkingDeque, - MarkAndPushToMarkingDeque, - TraceTrait<T>::MarkWrapperNoTracing. The MarkWrapperHeader is now a non-virtual private method. This patch removes one virtual call in handling of white objects and adds one virtual call in handling of black objects. Bug: 802273 Change-Id: I8ae1a607ae4bcee3e5a8591705495dcbbbb9b085 Reviewed-on: https://chromium-review.googlesource.com/870783 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#530134} [modify] https://crrev.com/8f678e5409a65d3af47685ec0760e7d242b41bcf/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitorTest.cpp [modify] https://crrev.com/8f678e5409a65d3af47685ec0760e7d242b41bcf/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp [modify] https://crrev.com/8f678e5409a65d3af47685ec0760e7d242b41bcf/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp [modify] https://crrev.com/8f678e5409a65d3af47685ec0760e7d242b41bcf/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/8f678e5409a65d3af47685ec0760e7d242b41bcf/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h [modify] https://crrev.com/8f678e5409a65d3af47685ec0760e7d242b41bcf/third_party/WebKit/Source/platform/heap/TraceTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b21b5245f2203639fa57e9bcde692ddada846f69 commit b21b5245f2203639fa57e9bcde692ddada846f69 Author: Ulan Degenbaev <ulan@chromium.org> Date: Sun Jan 21 04:50:32 2018 [bindings] Implement ScriptWrappable::TraceWrappers. The function traces wrapper objects corresponding to the ScriptWrappable in all worlds. This allows us to remove ad-hoc MarkWrappersInAllWorlds and simplify DispatchTraceWrappers. Now wrappers in non-main world are properly reported to the visitor. So the derived visitors (verifier, heap-snapshot generator) can see and handle these wrappers. Bug: 802273 Change-Id: Ie5aef1de7f0dcffe3a71304e0a37686d2bc859d3 Reviewed-on: https://chromium-review.googlesource.com/874190 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#530771} [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/DOMDataStore.h [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/DOMWrapperMap.h [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/ScriptWrappable.cpp [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/ScriptWrappable.h [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h [modify] https://crrev.com/b21b5245f2203639fa57e9bcde692ddada846f69/third_party/WebKit/Source/platform/heap/TraceTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2cbbadaf1522cec4398eb86925c82efa95ab85e8 commit 2cbbadaf1522cec4398eb86925c82efa95ab85e8 Author: Ulan Degenbaev <ulan@chromium.org> Date: Mon Jan 22 16:50:31 2018 [bindings] Extract abstract ScriptWrappableVisitor interface. This patch renames the old ScriptWrappableVisitor into ScriptWrappableMarkingVisitor and extracts the abstract interface into the new base class. This pure refactoring without any behavior change. Bug: 802273 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Ie1d27113d2793ab6a642ae056b177980e0d2ef0a Reviewed-on: https://chromium-review.googlesource.com/877887 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#530886} [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitorTest.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/core/css/CSSRule.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/core/dom/Document.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/core/dom/Node.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/core/svg/properties/SVGPropertyTearOff.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/core/workers/WorkerBackingThread.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappableBase.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappableBase.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/DOMDataStore.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/TraceWrapperMember.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/TraceWrapperV8Reference.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/V8DOMWrapper.h [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.cpp [modify] https://crrev.com/2cbbadaf1522cec4398eb86925c82efa95ab85e8/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b154b7ff38de9076a55a7cb5fc7571ce39ee78ef commit b154b7ff38de9076a55a7cb5fc7571ce39ee78ef Author: Michael Lippautz <mlippautz@chromium.org> Date: Mon Jan 22 17:18:10 2018 [blink-gc-plugin] Add gn flags to WebKit Note: Requires a locally-built plugin for now. See https://chromium.googlesource.com/chromium/src/+/master/docs/clang.md#Using-plugins Bug: chromium:802273 Change-Id: I0c92d5c6db1a4a2511446185e5d5de0003abd8af Reviewed-on: https://chromium-review.googlesource.com/874351 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#530900} [modify] https://crrev.com/b154b7ff38de9076a55a7cb5fc7571ce39ee78ef/third_party/WebKit/Source/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/85353fb37af561530c775af46f9a8a4b679b9487 commit 85353fb37af561530c775af46f9a8a4b679b9487 Author: Ulan Degenbaev <ulan@chromium.org> Date: Tue Jan 23 08:14:29 2018 [bindings] Move ScriptWrappableMarkingVisitor into separate file. This patch moves code between files without changing code. Bug: 802273 Change-Id: I7b26ded82cb56611a5593edce88b42d14dc1a8e0 Reviewed-on: https://chromium-review.googlesource.com/879201 Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#531179} [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/bindings/bindings.gni [rename] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappableBase.cpp [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/DOMDataStore.h [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/ScopedPersistent.h [add] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp [add] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/TraceWrapperMember.h [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/TraceWrapperV8Reference.h [modify] https://crrev.com/85353fb37af561530c775af46f9a8a4b679b9487/third_party/WebKit/Source/platform/bindings/V8PerIsolateData.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2c5a55fc1dbf103e15401ef905c60bab242f922 commit b2c5a55fc1dbf103e15401ef905c60bab242f922 Author: Ulan Degenbaev <ulan@chromium.org> Date: Tue Jan 23 10:44:54 2018 [bindings] Move WrapperMarkingData into ScriptWrappableMarkingVisitor. This patch renames WrapperMarkingData to MarkingDequeItem and makes it a private nested class of ScriptWrappableMarkingVisitor. Other classes can no longer refer to WrapperMarkingData. Bug: 802273 Change-Id: Ic6f826dc78fd29554cfcad3c95c3adaa73854ebd Reviewed-on: https://chromium-review.googlesource.com/880701 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#531202} [modify] https://crrev.com/b2c5a55fc1dbf103e15401ef905c60bab242f922/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp [modify] https://crrev.com/b2c5a55fc1dbf103e15401ef905c60bab242f922/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp [modify] https://crrev.com/b2c5a55fc1dbf103e15401ef905c60bab242f922/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h [modify] https://crrev.com/b2c5a55fc1dbf103e15401ef905c60bab242f922/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf779fc562b95cc6a65b3f5a045f2777f97232af commit bf779fc562b95cc6a65b3f5a045f2777f97232af Author: Michael Lippautz <mlippautz@chromium.org> Date: Tue Jan 23 10:58:20 2018 [oilpan] Extract visitor from marker - Create visitor interface that allows for just tracing using a descriptor - Maintains fast marker version by also adding the marking callback Bug: chromium:802273 Change-Id: Ib25a4c3e85818016b4788a1c8246488ce13dbc4a Reviewed-on: https://chromium-review.googlesource.com/879142 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#531203} [modify] https://crrev.com/bf779fc562b95cc6a65b3f5a045f2777f97232af/third_party/WebKit/Source/core/dom/LiveNodeListBase.h [modify] https://crrev.com/bf779fc562b95cc6a65b3f5a045f2777f97232af/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/bf779fc562b95cc6a65b3f5a045f2777f97232af/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/bf779fc562b95cc6a65b3f5a045f2777f97232af/third_party/WebKit/Source/platform/heap/Visitor.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/029f1f608aaa546a4044775ba5a35db2a6d12364 commit 029f1f608aaa546a4044775ba5a35db2a6d12364 Author: Michael Lippautz <mlippautz@chromium.org> Date: Tue Jan 23 14:58:15 2018 Revert "[oilpan] Extract visitor from marker" This reverts commit bf779fc562b95cc6a65b3f5a045f2777f97232af. Reason for revert: Failing eager tracing test on MSAN: https://build.chromium.org/p/chromium.memory/builders/Linux%20MSan%20Tests Original change's description: > [oilpan] Extract visitor from marker > > - Create visitor interface that allows for just tracing using a descriptor > - Maintains fast marker version by also adding the marking callback > > Bug: chromium:802273 > Change-Id: Ib25a4c3e85818016b4788a1c8246488ce13dbc4a > Reviewed-on: https://chromium-review.googlesource.com/879142 > Reviewed-by: Kentaro Hara <haraken@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#531203} TBR=haraken@chromium.org,hpayer@chromium.org,mlippautz@chromium.org Change-Id: I828b92cf0bc6cc0cfd77be484bf7a00c3acde396 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:802273 Reviewed-on: https://chromium-review.googlesource.com/880904 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#531235} [modify] https://crrev.com/029f1f608aaa546a4044775ba5a35db2a6d12364/third_party/WebKit/Source/core/dom/LiveNodeListBase.h [modify] https://crrev.com/029f1f608aaa546a4044775ba5a35db2a6d12364/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/029f1f608aaa546a4044775ba5a35db2a6d12364/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/029f1f608aaa546a4044775ba5a35db2a6d12364/third_party/WebKit/Source/platform/heap/Visitor.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9fb3426a58abc53f67fe04bc8e327956ff93d627 commit 9fb3426a58abc53f67fe04bc8e327956ff93d627 Author: Ulan Degenbaev <ulan@chromium.org> Date: Tue Jan 23 15:03:06 2018 [bindings] Properly invoke visitor in TraceActiveScriptWrappables. Currently TraceActiveScriptWrappables bypasses the visitor and directly registers a V8 reference in the marking visitor. It should just invoke visitor to notify it about the script-wrappable object. This way other visitors can also handle the object. Bug: 802273 Change-Id: I7993f293fb9a5dd972bc029ca525a6e6986d6328 Reviewed-on: https://chromium-review.googlesource.com/880941 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#531237} [modify] https://crrev.com/9fb3426a58abc53f67fe04bc8e327956ff93d627/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappableBase.cpp [modify] https://crrev.com/9fb3426a58abc53f67fe04bc8e327956ff93d627/third_party/WebKit/Source/platform/bindings/ActiveScriptWrappableBase.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dcc3898762a293e6f99bb41e796d8673a8177dfc commit dcc3898762a293e6f99bb41e796d8673a8177dfc Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Jan 24 10:51:33 2018 [oilpan] Tracing cleanups Bug: chromium:802273 Change-Id: I5cef67a10ae6320aa47fd31dbe5231ad5471813c Reviewed-on: https://chromium-review.googlesource.com/882403 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#531496} [modify] https://crrev.com/dcc3898762a293e6f99bb41e796d8673a8177dfc/third_party/WebKit/Source/core/dom/LiveNodeListBase.h [modify] https://crrev.com/dcc3898762a293e6f99bb41e796d8673a8177dfc/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/dcc3898762a293e6f99bb41e796d8673a8177dfc/third_party/WebKit/Source/platform/heap/Visitor.h [modify] https://crrev.com/dcc3898762a293e6f99bb41e796d8673a8177dfc/third_party/WebKit/Source/platform/wtf/ListHashSet.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/174cc9f518d1ec65c38d8d69827a818d49bd6d3e commit 174cc9f518d1ec65c38d8d69827a818d49bd6d3e Author: Michael Lippautz <mlippautz@chromium.org> Date: Tue Jan 30 07:56:30 2018 [oilpan] Explicitly trace out-of-line vector backings - Avoid tracing elements directly from WTF::Vector and WTF::Deque when the backing store is allocated out-of-line. - Avoid MarkNoTrace optimization breaking the tracing/marking abstraction. Bug: chromium:802273 Change-Id: Icfb5deed3479d4a7dec85c82930b464bdfe16b0e Reviewed-on: https://chromium-review.googlesource.com/886484 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#532806} [modify] https://crrev.com/174cc9f518d1ec65c38d8d69827a818d49bd6d3e/third_party/WebKit/Source/platform/bindings/TraceWrapperMember.h [modify] https://crrev.com/174cc9f518d1ec65c38d8d69827a818d49bd6d3e/third_party/WebKit/Source/platform/heap/HeapAllocator.h [modify] https://crrev.com/174cc9f518d1ec65c38d8d69827a818d49bd6d3e/third_party/WebKit/Source/platform/wtf/Deque.h [modify] https://crrev.com/174cc9f518d1ec65c38d8d69827a818d49bd6d3e/third_party/WebKit/Source/platform/wtf/Vector.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2 commit 9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2 Author: Michael Lippautz <mlippautz@chromium.org> Date: Fri Feb 02 13:03:09 2018 [oilpan] Merge weakness flags in tracing logic Remove WTF::ShouldWeakPointersBeMarkedStrongly as all use cases can be expressed by using WTF::WeakHandlingFlag. The cases after this refactoring are: 1. Trace: - Strongly trace and zero out weak members 2. Trait::kWeakHandlingFlag == kNoWeakHandling: - Deferring to Trace. 3. Trait::kWeakHandlingFlag == kWeakHandling with explicit kWeakHandling: - TraceInCollection with kWeakHandling 4. Trait::kWeakHandlingFlag == kWeakHandling with explicit kNoWeakHandling: - TraceInCollection with kNoWeakHandling Note that 2. is part of 4. on implementation level. Bug: chromium:802273 Change-Id: I50d69bed9e65edf9ea592c8f0372f0842ed44c16 Reviewed-on: https://chromium-review.googlesource.com/897628 Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#534034} [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/core/css/resolver/MatchedPropertiesCache.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/heap/HeapAllocator.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/wtf/HashTable.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/wtf/HashTraits.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/wtf/ListHashSet.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/wtf/TypeTraits.h [modify] https://crrev.com/9d5eb0ba33d9cd882bc71e8f6078b6ebf4b876f2/third_party/WebKit/Source/platform/wtf/VectorTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5252152ed10bd12bfe8544859e5bae1708906a19 commit 5252152ed10bd12bfe8544859e5bae1708906a19 Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Feb 07 17:43:15 2018 [blink-gc-plugin] Compile-time fixes Suggested fixes from https://chromium-review.googlesource.com/c/chromium/src/+/868138 Bug: chromium:802273 Change-Id: I2b6052dc67533c5a05799d535c816f4b00bc255a Reviewed-on: https://chromium-review.googlesource.com/907128 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#535044} [modify] https://crrev.com/5252152ed10bd12bfe8544859e5bae1708906a19/tools/clang/blink_gc_plugin/Config.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e10bedf4e4a546a7ecc265c2b232d6f51c840b98 commit e10bedf4e4a546a7ecc265c2b232d6f51c840b98 Author: Michael Lippautz <mlippautz@chromium.org> Date: Thu Feb 15 14:00:18 2018 [oilpan] Introduce TraceInCollectionTrait::IsAlive Introduce a stateless method that checks whether an object is alive for handling during weak processing. This allows us to remove the guards that check for mark bits in case we want strong tracing. Bug: chromium:802273 Change-Id: Idf177b568ed9de8bd5542dc3c71c28156c95a170 Reviewed-on: https://chromium-review.googlesource.com/895459 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#537006} [modify] https://crrev.com/e10bedf4e4a546a7ecc265c2b232d6f51c840b98/third_party/WebKit/Source/core/css/resolver/MatchedPropertiesCache.h [modify] https://crrev.com/e10bedf4e4a546a7ecc265c2b232d6f51c840b98/third_party/WebKit/Source/platform/heap/HeapAllocator.h [modify] https://crrev.com/e10bedf4e4a546a7ecc265c2b232d6f51c840b98/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/e10bedf4e4a546a7ecc265c2b232d6f51c840b98/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/e10bedf4e4a546a7ecc265c2b232d6f51c840b98/third_party/WebKit/Source/platform/wtf/HashTable.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/84c908509c62dbe85b538a988994ba1a8880ce98 commit 84c908509c62dbe85b538a988994ba1a8880ce98 Author: Michael Lippautz <mlippautz@chromium.org> Date: Mon Feb 19 08:59:03 2018 [oilpan] HashTable: Avoid marking in Trace call Trace calls should just dispatch and register at the visitors. This is in preparation to override visitation behavior. Bug: chromium:802273 Change-Id: I0d7d6f95a7adcf121123316af7cb5b837c9e262f Reviewed-on: https://chromium-review.googlesource.com/923731 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#537603} [modify] https://crrev.com/84c908509c62dbe85b538a988994ba1a8880ce98/third_party/WebKit/Source/platform/heap/HeapAllocator.h [modify] https://crrev.com/84c908509c62dbe85b538a988994ba1a8880ce98/third_party/WebKit/Source/platform/wtf/HashTable.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3570f9a412a65844ddb42e4069542fe9435e94d7 commit 3570f9a412a65844ddb42e4069542fe9435e94d7 Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Feb 21 19:06:43 2018 [oilpan] Separate marking from visitation Separate marking into MarkingVisitor and keep only actual visitation logic in Visitor. Bug: chromium:802273 Change-Id: Iad21d88e30c9313371a7c5868533cac3050fb3a0 Reviewed-on: https://chromium-review.googlesource.com/925662 Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#538177} [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/BlinkGC.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/GarbageCollected.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/Heap.cpp [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/Heap.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/HeapPage.cpp [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/HeapPage.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/ThreadState.cpp [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/ThreadState.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/Visitor.cpp [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/Visitor.h [modify] https://crrev.com/3570f9a412a65844ddb42e4069542fe9435e94d7/third_party/WebKit/Source/platform/heap/VisitorImpl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b100fd5e521b61aa9809e00e16f8b78612c903dd commit b100fd5e521b61aa9809e00e16f8b78612c903dd Author: Keishi Hattori <keishi@chromium.org> Date: Thu Feb 22 10:41:47 2018 Oilpan: Fix IncrementalMarkingTest build after r538177 Bug: 802273 Change-Id: I65dda5a64191f7ea78fabc6a524a68627b0553b3 Reviewed-on: https://chromium-review.googlesource.com/931021 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Keishi Hattori <keishi@chromium.org> Cr-Commit-Position: refs/heads/master@{#538393} [modify] https://crrev.com/b100fd5e521b61aa9809e00e16f8b78612c903dd/third_party/WebKit/Source/platform/heap/IncrementalMarkingTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c commit 03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c Author: Michael Lippautz <mlippautz@chromium.org> Date: Thu Feb 22 19:02:28 2018 [oilpan] Move MarkingVisitor to its own file Move MarkingVisitor to its own file untangling the dependencies that required keeping a VisitorImpl.h file. Bug: chromium:802273 Change-Id: I1cf43d028add224f211983477b8f3e098d0a1808 Reviewed-on: https://chromium-review.googlesource.com/931552 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#538506} [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/BUILD.gn [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/Handle.h [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/Heap.h [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/HeapAllocator.h [add] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/MarkingVisitor.cpp [add] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/MarkingVisitor.h [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/ObjectStartBitmapTest.cpp [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/ProcessHeap.cpp [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/TraceTraits.h [delete] https://crrev.com/c56afea8a5029ce3c5e10802a450af6803d5cffa/third_party/WebKit/Source/platform/heap/Visitor.cpp [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/heap/Visitor.h [delete] https://crrev.com/c56afea8a5029ce3c5e10802a450af6803d5cffa/third_party/WebKit/Source/platform/heap/VisitorImpl.h [modify] https://crrev.com/03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c/third_party/WebKit/Source/platform/wtf/HashTable.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/50798c76ae897c28495ca95979b96aa47fff6af7 commit 50798c76ae897c28495ca95979b96aa47fff6af7 Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Feb 28 11:23:29 2018 [oilpan] ListHashSetNode: Avoid marking in Trace method Instead just forward to the Trace method of this visitor which will call ListHashSetNode::Trace after marking the node. Bug: chromium:802273 Change-Id: Ic13090edead2e26c94ce0f0157e3d3f6d1effcb3 Reviewed-on: https://chromium-review.googlesource.com/939823 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#539786} [modify] https://crrev.com/50798c76ae897c28495ca95979b96aa47fff6af7/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/50798c76ae897c28495ca95979b96aa47fff6af7/third_party/WebKit/Source/platform/wtf/ListHashSet.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/307a8d81c865e16f0356a0ce990d9013a194eb86 commit 307a8d81c865e16f0356a0ce990d9013a194eb86 Author: Michael Lippautz <mlippautz@chromium.org> Date: Thu Mar 01 21:22:40 2018 [oilpan] Refactor trace dispatch Instead having a mark method on TraceTraits breaking the abstraction of tracing vs marking this approach now separates the bits used for tracing from the marker. After this CL - All visitor implementation can refer to base pointers and trace calls, even mixins; the trace call provided in the visitor was incorrect in the previous approach as it did not consider mixins (but it was unused so far). - Marking logic moved to MarkingVisitor. - Inlining shifted: Instead of inlining in the mixins themselves, we inlinine in the MarkingVisitor. This should not change performance as we still have one virtual call in between (Visitor::Visit). This reduces the binary size by ~73KiB. These changes allow future visitors to trace objects without going through GCInfo. Change-Id: I53178b1e4743995eb891646c52cd1dc27135ea26 Bug: chromium:802273 Reviewed-on: https://chromium-review.googlesource.com/943564 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#540289} [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/GarbageCollected.h [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/Heap.cpp [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/HeapPage.cpp [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/MarkingVisitor.h [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/ThreadState.cpp [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/TraceTraits.h [modify] https://crrev.com/307a8d81c865e16f0356a0ce990d9013a194eb86/third_party/WebKit/Source/platform/heap/Visitor.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9c72d4795fa540993da49738fefcd61ef9fa7940 commit 9c72d4795fa540993da49738fefcd61ef9fa7940 Author: Michael Lippautz <mlippautz@chromium.org> Date: Mon Mar 05 16:53:27 2018 [wrapper-tracing] Only return trace descriptor for wrapper tracing Similar to Oilpan, only return a struct of callbacks and don't actually call further into visitors. Bug: chromium:802273 Change-Id: Idd8cae4492876ddfda2bc6b438e4939825f32cdf Reviewed-on: https://chromium-review.googlesource.com/945788 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#540846} [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/heap/BlinkGC.h [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/heap/GarbageCollected.h [modify] https://crrev.com/9c72d4795fa540993da49738fefcd61ef9fa7940/third_party/WebKit/Source/platform/heap/TraceTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/559a8e6a64e21c159f53a9755b024cf645eb4d22 commit 559a8e6a64e21c159f53a9755b024cf645eb4d22 Author: Jan Wilken Dörrie <jdoerrie@chromium.org> Date: Tue Mar 06 10:15:13 2018 Revert "[wrapper-tracing] Only return trace descriptor for wrapper tracing" This reverts commit 9c72d4795fa540993da49738fefcd61ef9fa7940. Reason for revert: Likely culprit of https://crbug.com/819134 Original change's description: > [wrapper-tracing] Only return trace descriptor for wrapper tracing > > Similar to Oilpan, only return a struct of callbacks and don't actually > call further into visitors. > > Bug: chromium:802273 > Change-Id: Idd8cae4492876ddfda2bc6b438e4939825f32cdf > Reviewed-on: https://chromium-review.googlesource.com/945788 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Kentaro Hara <haraken@chromium.org> > Cr-Commit-Position: refs/heads/master@{#540846} TBR=haraken@chromium.org,mlippautz@chromium.org Change-Id: Iaced3e8e5f9d46540a5fef2f8e1d6c1682217786 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:802273 Reviewed-on: https://chromium-review.googlesource.com/950779 Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org> Cr-Commit-Position: refs/heads/master@{#541063} [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/heap/BlinkGC.h [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/heap/GarbageCollected.h [modify] https://crrev.com/559a8e6a64e21c159f53a9755b024cf645eb4d22/third_party/WebKit/Source/platform/heap/TraceTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d6f6a3796474f35c26289d9a27592c0c9385a8c commit 0d6f6a3796474f35c26289d9a27592c0c9385a8c Author: Michael Lippautz <mlippautz@chromium.org> Date: Tue Mar 06 14:27:31 2018 [oilpan] Replace backingstore register calls with proper Trace/Visitor pairs Instead of registering registering backing stores references from trace methods, just call a trace function for the backing store which visitors can override accordingly. Bug: chromium:802273 Change-Id: Iba139643a7bd5ef41a8af470989fb44bd6cfa34d Reviewed-on: https://chromium-review.googlesource.com/937722 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#541097} [modify] https://crrev.com/0d6f6a3796474f35c26289d9a27592c0c9385a8c/third_party/WebKit/Source/platform/heap/HeapAllocator.h [modify] https://crrev.com/0d6f6a3796474f35c26289d9a27592c0c9385a8c/third_party/WebKit/Source/platform/heap/MarkingVerifier.h [modify] https://crrev.com/0d6f6a3796474f35c26289d9a27592c0c9385a8c/third_party/WebKit/Source/platform/heap/MarkingVisitor.h [modify] https://crrev.com/0d6f6a3796474f35c26289d9a27592c0c9385a8c/third_party/WebKit/Source/platform/heap/Visitor.h [modify] https://crrev.com/0d6f6a3796474f35c26289d9a27592c0c9385a8c/third_party/WebKit/Source/platform/wtf/HashTable.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07861913980abceb9a2b3a988e4d39976599de11 commit 07861913980abceb9a2b3a988e4d39976599de11 Author: Michael Lippautz <mlippautz@chromium.org> Date: Wed Mar 07 01:33:08 2018 Reland "[wrapper-tracing] Only return trace descriptor for wrapper tracing" Similar to Oilpan, only return a struct of callbacks and don't actually call further into visitors. This reverts commit 559a8e6a64e21c159f53a9755b024cf645eb4d22. Change-Id: I430c72fd4bee22e7a9f49404f7d461076c613350 Bug: chromium:802273 , chromium:819134 Reviewed-on: https://chromium-review.googlesource.com/950904 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#541267} [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableMarkingVisitorTest.cpp [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.cpp [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/bindings/core/v8/V8EmbedderGraphBuilder.h [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.cpp [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/bindings/ScriptWrappableMarkingVisitor.h [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitorVerifier.h [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/heap/BlinkGC.h [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/heap/GarbageCollected.h [modify] https://crrev.com/07861913980abceb9a2b3a988e4d39976599de11/third_party/WebKit/Source/platform/heap/TraceTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e075e2bef341a54ab8c9a0b9a0c615a82899e15a commit e075e2bef341a54ab8c9a0b9a0c615a82899e15a Author: Michael Lippautz <mlippautz@chromium.org> Date: Thu Mar 08 09:59:20 2018 [oilpan] Rename AdjustAndMark to AdjustPointer Reflects the change that there marking is actually implemented in the marking visitors and the adjust traits are only used for getting the proper descriptions. Bug: chromium:802273 Change-Id: Ib5df76a4689696b766c657fc7676780c694760f0 Reviewed-on: https://chromium-review.googlesource.com/948742 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#541762} [modify] https://crrev.com/e075e2bef341a54ab8c9a0b9a0c615a82899e15a/third_party/WebKit/Source/platform/heap/GarbageCollected.h [modify] https://crrev.com/e075e2bef341a54ab8c9a0b9a0c615a82899e15a/third_party/WebKit/Source/platform/heap/Heap.h [modify] https://crrev.com/e075e2bef341a54ab8c9a0b9a0c615a82899e15a/third_party/WebKit/Source/platform/heap/HeapTest.cpp [modify] https://crrev.com/e075e2bef341a54ab8c9a0b9a0c615a82899e15a/third_party/WebKit/Source/platform/heap/TraceTraits.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d7cbb5e301da4f424d52b65bbacf8753da944320 commit d7cbb5e301da4f424d52b65bbacf8753da944320 Author: Michael Lippautz <mlippautz@chromium.org> Date: Thu Mar 15 12:21:04 2018 [oilpan] Add Visitor::VisitWeak for regular weak fields Intercept weak field visitation in VisitWeak. Bug: chromium:802273 Change-Id: Ie7885409764c9de9debaf1811d84f3928afbc80f Reviewed-on: https://chromium-review.googlesource.com/962806 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#543349} [modify] https://crrev.com/d7cbb5e301da4f424d52b65bbacf8753da944320/third_party/WebKit/Source/platform/heap/MarkingVerifier.h [modify] https://crrev.com/d7cbb5e301da4f424d52b65bbacf8753da944320/third_party/WebKit/Source/platform/heap/MarkingVisitor.h [modify] https://crrev.com/d7cbb5e301da4f424d52b65bbacf8753da944320/third_party/WebKit/Source/platform/heap/Visitor.h
Comment 1 by bugdroid1@chromium.org
, Jan 17 2018