Optimize register mask and stack mask in stack maps.

Use BitTable to store the masks as well and move the
deduplication responsibility to the BitTable builders.

Don't generate entries for masks which are all zeros.
This saves 0.2% of .oat file size on both Arm64 and Arm.

Encode registers as (value+shift) due to tailing zeros.
This saves 1.0% of .oat file size on Arm64 and 0.2% on Arm.

Test: test-art-host-gtest
Change-Id: I636b7edd49e10e8afc9f2aa385b5980f7ee0e1f1
9 files changed