New issue
Advanced search Search tips

Issue 752600 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Feature

Blocking:
issue 700085



Sign in to add a comment

Remove back pointer from TraceWrapperMember

Project Member Reported by mlippautz@chromium.org, Aug 4 2017

Issue description

We need to remove the back pointer from TraceWrapperMember to enable 
(a) better swap() performance of HeapVector<TraceWrapperMember<T>>.
(b) move over the manual write barrier use cases that cannot afford using more memory.
(c) get a dry run on how incremental marking in Oilpan would work.

(a) and (b) are wrapper tracing improvements while (c) is essentially a playground for incremental marking in Oilpan.

Proposed solutions:
(1) Use an object start bitmap located in the page to figure out object starts. 
(2) Use a conservative barrier that does not check source mark bits.

(1) is blocked because there is currently no fast way to distinguish regular and large objects and we thus lack a way of looking up the proper page header. Going with (2) for now.
 
Already landed the barrier change
  cd39e5b0ea3c0da423e54066bd97571f82dffaad
Blocking: 700085
Performance overview of revision: https://chromeperf.appspot.com/group_report?rev=492014
> Performance overview of revision: https://chromeperf.appspot.com/group_report?rev=492014

How should we interpret the result? For example, there are a lot of improvements on blink_perf.parser. There is a 88% regression on v8-gc-incremental-finalize of v8.runtimestats.browsing_mobile. Are they real improvements / regressions?




The parser ones are real because they regressed when we added the swap() that always needed to copy.

For the rest: Regressing incremental marking could be the barrier as we always mark and don't check the color, it could also just be a flake.

I wanted to post the summary here because it is often useful to have and then we don't need to search.
Yes, it's really useful and the result looks good to me (we won't need to revert it) :)

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b

commit b7950d937f4aecc1a9ae7cbac45b595a7e06b55b
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Thu Aug 10 20:25:53 2017

[wrapper-tracing] Remove explicit TraceWrapperMember initialization

We use a conservative barrier now that does not require any knowledge on
the source object. This CL removes the explicit ctor of
TraceWrapperMember as it is not required anymore.

Bug:  chromium:752600 
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: I68726717d95b71849636c92163a37153ce030452
Reviewed-on: https://chromium-review.googlesource.com/599727
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493511}
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/bindings/core/v8/V8IntersectionObserverDelegate.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/clipboard/DataTransferItem.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/css/PropertySetCSSStyleDeclaration.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/Attr.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/ElementShadow.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/ModulatorImpl.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/ModuleMap.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/ModulePendingScript.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/MutationObserver.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/MutationObserverRegistration.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/MutationRecord.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/NodeIterator.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/NodeIteratorBase.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/NodeIteratorBase.h
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/NodeRareData.h
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/ScriptLoader.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/StyleEngine.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/StyleSheetCollection.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/dom/TreeWalker.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/frame/DOMWindow.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/HTMLLinkElement.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/HTMLScriptElement.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/HTMLTemplateElement.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/custom/CustomElementReactionStack.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/custom/CustomElementRegistry.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/imports/HTMLImportTreeRoot.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/imports/HTMLImportsController.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/parser/HTMLParserScriptRunner.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/track/TextTrack.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/track/TextTrackCueList.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/track/TextTrackList.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/html/track/TrackListBase.h
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/intersection_observer/ElementIntersectionObserverData.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinker.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/loader/modulescript/ModuleTreeLinkerRegistry.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/mojo/MojoWatcher.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/resize_observer/ResizeObserver.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/svg/SVGMatrixTearOff.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/svg/SVGScriptElement.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/testing/DeathAwareScriptWrappable.h
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/timing/PerformanceObserver.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/workers/WorkletGlobalScope.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/core/xmlhttprequest/XMLHttpRequest.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/compositorworker/AnimationWorkletGlobalScope.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/compositorworker/Animator.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScope.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/remoteplayback/RemotePlayback.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webaudio/AudioWorkletGlobalScope.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webdatabase/Database.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLContextGroup.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLContextObject.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLProgram.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLSharedObject.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLTransformFeedback.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webgl/WebGLVertexArrayObjectBase.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/modules/webmidi/MIDIPort.cpp
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/platform/bindings/TraceWrapperMember.h
[modify] https://crrev.com/b7950d937f4aecc1a9ae7cbac45b595a7e06b55b/third_party/WebKit/Source/platform/heap/HeapAllocator.h

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c7da632437a902de5c473ff8906e4baeb0e55a1

commit 6c7da632437a902de5c473ff8906e4baeb0e55a1
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Fri Aug 11 06:53:53 2017

[wrapper-tracing] Update documentation

No-Try: true
Bug:  chromium:752600 
Change-Id: Ic00904e1be0697e2080ee104e4baff3b22394424
Reviewed-on: https://chromium-review.googlesource.com/602028
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493680}
[modify] https://crrev.com/6c7da632437a902de5c473ff8906e4baeb0e55a1/third_party/WebKit/Source/platform/bindings/TraceWrapperReference.md

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67c862ea884dc3ee389f4f80883a54d487374e7d

commit 67c862ea884dc3ee389f4f80883a54d487374e7d
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Fri Aug 11 14:36:17 2017

[wrapper-tracing] ElementRareData: Use TraceWrapperMember

Previously fields in ElementRareData with issuing a manual write
barrier. This was required because TraceWrapperMember was too large. Now
that it is the same size as Member we can just switch over.

Drive-by: Fixed a missing write barrier in resize_observer_data_.Keys().

Bug:  chromium:754517 ,  chromium:752600 
Change-Id: I6b94f77949b0fc6c25ebcfe5c83b3277a8815242
Reviewed-on: https://chromium-review.googlesource.com/611981
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493732}
[modify] https://crrev.com/67c862ea884dc3ee389f4f80883a54d487374e7d/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/67c862ea884dc3ee389f4f80883a54d487374e7d/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/67c862ea884dc3ee389f4f80883a54d487374e7d/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] https://crrev.com/67c862ea884dc3ee389f4f80883a54d487374e7d/third_party/WebKit/Source/core/dom/ElementRareData.h
[modify] https://crrev.com/67c862ea884dc3ee389f4f80883a54d487374e7d/third_party/WebKit/Source/core/dom/TreeScopeAdopter.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea725d639cf5db8ea08d53ef822a24142982c2ff

commit ea725d639cf5db8ea08d53ef822a24142982c2ff
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Fri Aug 11 14:42:04 2017

[wrapper-tracing] ShadowRoot: Use TraceWrapperMember

Bug:  chromium:752600 
Change-Id: I5b3f01275e2f1fc5f03bc039d769502064273cbf
Reviewed-on: https://chromium-review.googlesource.com/612065
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493734}
[modify] https://crrev.com/ea725d639cf5db8ea08d53ef822a24142982c2ff/third_party/WebKit/Source/core/dom/ShadowRoot.cpp
[modify] https://crrev.com/ea725d639cf5db8ea08d53ef822a24142982c2ff/third_party/WebKit/Source/core/dom/ShadowRoot.h

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c20bd90901729410d0f83631943f188a35068f3

commit 3c20bd90901729410d0f83631943f188a35068f3
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Fri Aug 11 14:41:59 2017

[wrapper-tracing] ContainerNode: Use TraceWrapperMember

Bug:  chromium:752600 
Change-Id: I612003c0d2084be62acad621bcefe06230bdd940
Reviewed-on: https://chromium-review.googlesource.com/612064
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493733}
[modify] https://crrev.com/3c20bd90901729410d0f83631943f188a35068f3/third_party/WebKit/Source/core/dom/ContainerNode.cpp
[modify] https://crrev.com/3c20bd90901729410d0f83631943f188a35068f3/third_party/WebKit/Source/core/dom/ContainerNode.h

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f2519856f1084785a2c2aa860956eefe89e3bf88

commit f2519856f1084785a2c2aa860956eefe89e3bf88
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Thu Aug 17 09:27:41 2017

[wrapper-tracing] Node: Remove manual write barrier

Bug:  chromium:752600 
Change-Id: Ia5340703925be45023125914e24ed9f4f5077a8b
Reviewed-on: https://chromium-review.googlesource.com/618626
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495114}
[modify] https://crrev.com/f2519856f1084785a2c2aa860956eefe89e3bf88/third_party/WebKit/Source/core/dom/Node.cpp
[modify] https://crrev.com/f2519856f1084785a2c2aa860956eefe89e3bf88/third_party/WebKit/Source/core/dom/Node.h

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a42d36967237e4309a9e56eddca0276ac0a78dd

commit 4a42d36967237e4309a9e56eddca0276ac0a78dd
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Thu Aug 17 09:28:35 2017

[wrapper-tracing] NodeRareData: Remove manual write barrier

Bug:  chromium:752600 
Change-Id: I66cb59fe59ca17eb51505f5f29db96d2337437a1
Reviewed-on: https://chromium-review.googlesource.com/618606
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495115}
[modify] https://crrev.com/4a42d36967237e4309a9e56eddca0276ac0a78dd/third_party/WebKit/Source/core/dom/NodeRareData.cpp
[modify] https://crrev.com/4a42d36967237e4309a9e56eddca0276ac0a78dd/third_party/WebKit/Source/core/dom/NodeRareData.h

Project Member

Comment 14 by bugdroid1@chromium.org, Aug 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/146d898b6e27a3900dae50b497e24674d7d2adfb

commit 146d898b6e27a3900dae50b497e24674d7d2adfb
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Mon Aug 21 09:24:08 2017

[wrapper-tracing] NodeListsNodeData Align Oilpan and wrapper tracing

Oilpan used to trace the members of NodeListsNodeData weakly while
wrapper tracing requires strong tracing. Align behaviors and trace all
members strongly.

Bug:  chromium:752600 
Change-Id: I6481167a694a2cd1030fa499d4f4ba103c1b54fb
Reviewed-on: https://chromium-review.googlesource.com/620746
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Keishi Hattori <keishi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495891}
[modify] https://crrev.com/146d898b6e27a3900dae50b497e24674d7d2adfb/third_party/WebKit/Source/core/dom/NodeListsNodeData.cpp
[modify] https://crrev.com/146d898b6e27a3900dae50b497e24674d7d2adfb/third_party/WebKit/Source/core/dom/NodeListsNodeData.h

Status: Fixed (was: Started)

Sign in to add a comment