Encode trace action in the last two bits of method pointer

When recording method entry / exit events we used an entire entry for
recording the trace action (method enter / method exit / method unwind)
which only requires two bits. This change encodes the trace action in
the last two bits of method pointer. Given the alignment requirements of
method pointers last two bits are ensured to be 0, so it is safe to use
those bits.

Bug: 259258187
Test: art/test.py --streaming
Change-Id: I854b82f407503085dfa5304813d1d96df9ce27f3
6 files changed