[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:
committed by
Commit Queue
parent
b84a08a0e1
commit
4ee2a6bc82
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user