New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 679724 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature

Blocking:
issue v8:5828
issue 682688



Sign in to add a comment

Rewrite heap snapshot generator without using object groups

Project Member Reported by mlippautz@chromium.org, Jan 10 2017

Issue description

Object grouping is deprecated. We need to migrate to a version using wrapper tracing.
 
Blocking: v8:5828
Status: Started (was: Assigned)
The API already landed in 45b10228abfdc23587bd1cd44eb5c1edc39e41a6.
Project Member

Comment 4 by bugdroid1@chromium.org, Jan 23 2017

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

commit a34d185b3e31187fb8aa16b700e5837e9636cba9
Author: mlippautz <mlippautz@chromium.org>
Date: Mon Jan 23 13:23:49 2017

[wrapper-tracing] Add heap snapshot generator infrastructure

Register a callback with V8's heap profiler that can be used to query all
RetainedObjectInfo_s for a given Isolate.

Basically, we create RetainedObjectInfo_s for DOM trees (attached and detached)
and pending activities and assign all found wrappers to these info objects.

BUG= chromium:679724 

Review-Url: https://codereview.chromium.org/2625093002
Cr-Commit-Position: refs/heads/master@{#445372}

[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.cpp
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/ScriptWrappableVisitor.h
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/V8GCController.h
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
[modify] https://crrev.com/a34d185b3e31187fb8aa16b700e5837e9636cba9/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 24 2017

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

commit 166ffeb0e2f6c7175f1e0988d145d57c30406e0f
Author: mlippautz <mlippautz@chromium.org>
Date: Tue Jan 24 10:41:15 2017

[wrapper-tracing] Snapshot: Avoid adding non-Node wrappers to groups

Tests currently rely on the fact that only Nodes are part of retainer
groups.

Code paths will only be exercised once
  https://codereview.chromium.org/2627033002/
on the V8 side lands.

BUG= chromium:679724 
NOTRY=true

Review-Url: https://codereview.chromium.org/2651923002
Cr-Commit-Position: refs/heads/master@{#445694}

[modify] https://crrev.com/166ffeb0e2f6c7175f1e0988d145d57c30406e0f/third_party/WebKit/Source/bindings/core/v8/V8GCController.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4894bbd4399aeabc994a4e2579809d32ea8b4c29

commit 4894bbd4399aeabc994a4e2579809d32ea8b4c29
Author: mlippautz <mlippautz@chromium.org>
Date: Tue Jan 24 12:50:47 2017

[profiler] Query retainer infos from embedder instead of using object grouping

BUG= chromium:679724 

Review-Url: https://codereview.chromium.org/2627033002
Cr-Commit-Position: refs/heads/master@{#42628}

[modify] https://crrev.com/4894bbd4399aeabc994a4e2579809d32ea8b4c29/src/profiler/heap-snapshot-generator.cc
[modify] https://crrev.com/4894bbd4399aeabc994a4e2579809d32ea8b4c29/src/profiler/heap-snapshot-generator.h

Blocking: 682688
Status: Fixed (was: Started)
This is done for now. Semantics and features are compatible with what existed using object grouping with room for further improvement.

Sign in to add a comment