Rewrite dex register map encoding in stackmaps.

Simplify code by encoding dex register maps using BitTables.
The overall design is unchanged (bitmask+indices+catalogue).

This CL saves ~0.4% of .oat file size.

The dex register map decoding is factor of 3 faster now
(based on the time to verify the register maps on Arm).
This is not too surprising as the old version was O(n^2).

It also reduces compiler arena memory usage by 11% since the
BitTableBuilder is more memory efficient, we store less
intermediate data, and we deduplicate most data on the fly.

Test: test-art-host-gtest-stack_map_test
Change-Id: Ib703a5ddf7f581280522d589e4a2bfebe53c26a9
10 files changed