Skip to content

Commit 4ee2a6b

Browse files
rmacnak-googleCommit Queue
authored and
Commit Queue
committed
[vm, service] Include "names" for type vectors in heap snapshots.
TEST=ci Change-Id: I19ac8b75eab48e99c57e6e1c3655ce0e3a2430c0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265522 Commit-Queue: Ryan Macnak <[email protected]> Reviewed-by: Ben Konyi <[email protected]>
1 parent b84a08a commit 4ee2a6b

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

runtime/vm/object_graph.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1195,6 +1195,18 @@ class Pass2Visitor : public ObjectVisitor,
11951195
} else if (cid == kScriptCid) {
11961196
writer_->WriteUnsigned(kNameData);
11971197
ScrubAndWriteUtf8(static_cast<ScriptPtr>(obj)->untag()->url());
1198+
} else if (cid == kTypeArgumentsCid) {
1199+
// Handle scope so we do not change the root set.
1200+
// We are assuming that TypeArguments::PrintSubvectorName never allocates
1201+
// objects or zone handles.
1202+
HANDLESCOPE(thread());
1203+
const TypeArguments& args =
1204+
TypeArguments::Handle(static_cast<TypeArgumentsPtr>(obj));
1205+
TextBuffer buffer(128);
1206+
args.PrintSubvectorName(0, args.Length(), TypeArguments::kScrubbedName,
1207+
&buffer);
1208+
writer_->WriteUnsigned(kNameData);
1209+
writer_->WriteUtf8(buffer.buffer());
11981210
} else {
11991211
writer_->WriteUnsigned(kNoData);
12001212
}

0 commit comments

Comments
 (0)