d499f68df5
* When looking for Code node owner simply always check for synthetic owner (referenced through ':owner_' property) first. If it is present then it means 'owner_' property is invalid anyway.25fd0200efchanged how WSRs are written into snapshot (instead of writing WSRs we are simply writing SMI CIDs) which broke previous logic. * When building ProgramInfoNode for a Class node accommodate for the existence of classes which don't have 'library_' property (e.g. base objects like void and dynamic). Additionally, adjust how these base objects are written into the snapshot profile so that we preserve their names. * Tweak tests diff and diff-collapse tests to pass, they were failing because prologue removal compiler change made some of the diffs so tiny that they are ignored by threshold filtering. * Add two more tests: one that verifies that tracings flags don't have any impact on the snapshot size and one that checks we correct attribute instructions size to the function node from which these instructions originated. This last test is added in anticipation of Code object removal to make sure that vm_snapshot_analysis continues to work correctly. * Adjust sorting rules for Code cluster to make it more stable between slightly different programs to stabilize output of --print-instructions-sizes-to (depends on the sorting algorithm used in libc, the test was failing on Mac but not on Linux). These fixes should unblock relanding ofb6dc4dad4dFixes #44507 Fixes flutter/flutter#76313 TEST=pkg/vm_snapshot_analysis/test/instruction_sizes_test.dart Cq-Include-Trybots: luci.dart.try:pkg-linux-release-try,pkg-win-release-try,pkg-mac-release-try Change-Id: Iee0221dd3a507cb4f36d530404693ebfab3b7bf2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185826 Commit-Queue: Vyacheslav Egorov <vegorov@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>