Remove prettify calls when checking ignored types

This change modifies perfetto_hprof to "unprettify" user-specified types
to ignore so that heap objects don't need to be prettified in each
IsIgnored() call. The InversePrettyDescriptor method has been added to
do this conversion. For example,

reference types: "java.lang.String[]" -> "[Ljava/lang/String;"
primitive types: "byte[][]" -> "[[B"

This reduces heap dump CPU usage by ~35% (measured with the heap dump
tool at external/perfetto/tools/java_heap_dump).

Test: - measure java_heap_dump CPU usage with simpleperf
      - verify in the Perfetto UI that heap dumps are still correct
      - specify ignored types (in java_hprof_config.ignored_types) and
	check that these types are not collected in the heap dump
Bug: 266124917
Change-Id: I13fa5b1c7b6902799a2640638750d84567a49eda
4 files changed