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

Issue 2823253005: Fix #28740 demangle constructors in stack traces (A.A becomes new A) REDO (Closed)

Created:
3 years, 8 months ago by mfairhurst
Modified:
3 years, 7 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Fix #28740 demangle constructors in stack traces (A.A becomes new A) REDO Regular constructors and unnamed factory constructors: - Were A.A, now are new A Named constructors (including factory constructors): - Were A.A.name, now are new A.name Previous attempt (a84b6b7f) didn't update vm/cc tests, which broke the build, was reverted, and also revealed an important case: Functions within constructors: - Were A.A.x, now are new A.x Doing this was cleanest by switching the loop out for recursion, which provides a nice guarantee that any anonymous function within some other function will always have the correct prefix, and the class name (which may or may not be prepended at the end) is only applied once, and its existence is only checked in one place. R=asiva@google.com Committed: https://github.com/dart-lang/sdk/commit/a48e0ef493796f032aa0427124800917d6a1d75d

Patch Set 1 #

Patch Set 2 : Fix #28740 demangle constructors in stack traces (A.A becomes new A) REDO #

Total comments: 2

Patch Set 3 : Don't recurse in QualifiedName, just check the ending function kind for ctor #

Unified diffs Side-by-side diffs Delta from patch set Stats (+82 lines, -14 lines) Patch
M runtime/vm/object.cc View 1 2 1 chunk +10 lines, -5 lines 0 comments Download
M runtime/vm/object_test.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M runtime/vm/profiler_test.cc View 3 chunks +6 lines, -6 lines 0 comments Download
M runtime/vm/symbols.h View 1 chunk +1 line, -0 lines 0 comments Download
M tests/language/language.status View 1 chunk +1 line, -0 lines 0 comments Download
M tests/language/language_dart2js.status View 1 chunk +2 lines, -0 lines 0 comments Download
A tests/language/stacktrace_demangle_ctors_test.dart View 1 chunk +59 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
mfairhurst
Fun way to discover vm/cc tests: breaking the build! Broken tests fixed, also revealed an ...
3 years, 8 months ago (2017-04-19 00:45:31 UTC) #2
siva
https://codereview.chromium.org/2823253005/diff/20001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/2823253005/diff/20001/runtime/vm/object.cc#newcode7172 runtime/vm/object.cc:7172: result = String::Concat(String::Handle(fun.QualifiedName(name_visibility)), Is it necessary to convert the ...
3 years, 8 months ago (2017-04-20 00:15:03 UTC) #3
mfairhurst
On 2017/04/20 00:15:03, siva wrote: > https://codereview.chromium.org/2823253005/diff/20001/runtime/vm/object.cc > File runtime/vm/object.cc (right): > > https://codereview.chromium.org/2823253005/diff/20001/runtime/vm/object.cc#newcode7172 > ...
3 years, 8 months ago (2017-04-24 20:04:14 UTC) #4
mfairhurst
Done, followed Siva's recommendation to avoid recursion, definitely a better solution.
3 years, 8 months ago (2017-04-25 23:16:48 UTC) #5
siva
lgtm
3 years, 8 months ago (2017-04-26 16:49:27 UTC) #6
mfairhurst
3 years, 7 months ago (2017-04-28 17:19:26 UTC) #8
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
a48e0ef493796f032aa0427124800917d6a1d75d (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698