Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(391)

Issue 2990643002: Calculates retaining paths through user fields and ignores VM objects (Closed)

Created:
3 years, 5 months ago by danunez
Modified:
3 years, 4 months ago
Reviewers:
cbernaschina, rmacnak, siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Calculates retaining paths through user fields and ignores VM objects before reporting a path that goes through VM objects. When a user attempts to check the retaining path of an instance of a class, previously Observatory would report the first path found, even if the path contains multiple VM objects. Now, Observatory will attempt to find a path through the user fields and ignores all VM objects aside from said fields. If that fails, it defaults to the original algorithm. BUG= R=asiva@google.com, cbernaschina@google.com, rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/ced696af69c6746bac4c3a53b393efcea5206265

Patch Set 1 #

Total comments: 11

Patch Set 2 : Adds Stack as a friend to raw_object #

Patch Set 3 : Adds new test that expects a simple path for const and top level functions #

Unified diffs Side-by-side diffs Delta from patch set Stats (+133 lines, -36 lines) Patch
A runtime/observatory/tests/service/get_user_level_retaining_path_rpc_test.dart View 1 2 1 chunk +72 lines, -0 lines 0 comments Download
M runtime/vm/object_graph.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/object_graph.cc View 1 6 chunks +59 lines, -36 lines 0 comments Download
M runtime/vm/raw_object.h View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (1 generated)
danunez
This is the retaining path work I was talking about last week. I will admit, ...
3 years, 5 months ago (2017-07-25 20:18:06 UTC) #1
cbernaschina
Just a comment regarding the specific nature of the change https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc File runtime/vm/object_graph.cc (right): https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc#newcode37 ...
3 years, 5 months ago (2017-07-25 21:09:22 UTC) #2
rmacnak
https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc File runtime/vm/object_graph.cc (right): https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc#newcode38 runtime/vm/object_graph.cc:38: Object& o = Object::Handle(*current); Allocating a handle here is ...
3 years, 5 months ago (2017-07-25 21:55:21 UTC) #3
danunez
https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc File runtime/vm/object_graph.cc (right): https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc#newcode37 runtime/vm/object_graph.cc:37: if (!include_vm_obj) { On 2017/07/25 21:09:22, cbernaschina wrote: > ...
3 years, 5 months ago (2017-07-25 22:24:54 UTC) #4
rmacnak
https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc File runtime/vm/object_graph.cc (right): https://codereview.chromium.org/2990643002/diff/1/runtime/vm/object_graph.cc#newcode38 runtime/vm/object_graph.cc:38: Object& o = Object::Handle(*current); On 2017/07/25 22:24:54, danunez wrote: ...
3 years, 5 months ago (2017-07-26 00:25:40 UTC) #5
danunez
Addresses most comments. Still thinking about how to make this Stack building approach more generic.
3 years, 4 months ago (2017-07-26 20:54:59 UTC) #6
rmacnak
Please a test in runtime/observatory/tests/service that checks for a simple retaining path, e.g. that a ...
3 years, 4 months ago (2017-07-26 21:36:09 UTC) #7
danunez
3 years, 4 months ago (2017-07-27 17:44:47 UTC) #8
rmacnak
LGTM
3 years, 4 months ago (2017-07-27 20:20:56 UTC) #9
danunez
3 years, 4 months ago (2017-07-27 20:24:53 UTC) #11
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
ced696af69c6746bac4c3a53b393efcea5206265 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698