[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 <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
This commit is contained in:
Ryan Macnak
2022-11-11 21:45:05 +00:00
committed by Commit Queue
parent b84a08a0e1
commit 4ee2a6bc82
+12
View File
@@ -1195,6 +1195,18 @@ class Pass2Visitor : public ObjectVisitor,
} else if (cid == kScriptCid) {
writer_->WriteUnsigned(kNameData);
ScrubAndWriteUtf8(static_cast<ScriptPtr>(obj)->untag()->url());
} else if (cid == kTypeArgumentsCid) {
// Handle scope so we do not change the root set.
// We are assuming that TypeArguments::PrintSubvectorName never allocates
// objects or zone handles.
HANDLESCOPE(thread());
const TypeArguments& args =
TypeArguments::Handle(static_cast<TypeArgumentsPtr>(obj));
TextBuffer buffer(128);
args.PrintSubvectorName(0, args.Length(), TypeArguments::kScrubbedName,
&buffer);
writer_->WriteUnsigned(kNameData);
writer_->WriteUtf8(buffer.buffer());
} else {
writer_->WriteUnsigned(kNoData);
}