Add a new boot image profile format

The new format adds additional method flags which will capture the
following states:
  - am start / post startup
  - boot / post boot
  - foreground / background
  - startup classification bin (see code comments)

The extension is currently only available for boot image profile because
it expands the profile memory and disk footprint. A stress test shows that
the new format requires:
  - profile content: 10 dex files, 2^16 methods, all in, no inline caches
    (that's way more than we should see in practice)
  - 1.2MB extra ram (3.9MB compared to 2.6MB)
  - 1.1MB extra disk space (1.5MB compared o 379K)

The ram scales down with less data (e.g. for 5 dexes the RAM is only 6KB
more). The disk space is drastically reduced if the zip algorithm is able
to compress the data efficiently (e.g in the idea case, when all bits are
of the same value, it only adds 5K of extra space).

The threshold for size warnings/errors were adjusted based on the new
values.

Bug: 139884006
Test: m test-art-host-gtest
Change-Id: I1543309d769c7d263a3e5f06cd8a2cf476999253
3 files changed