Update the code to sign extend the result after decoding from leb128

We used to use a workaround to sign extend since right shift had
undefined behaviour in older versions of c++. Starting c++ 20 the
behaviour is well defined and should be safe to use it for sign
extensions. This makes the code more readable and generates one less
assembly instruction.

Bug: 259258187
Test: art/test.py
Change-Id: Icc3e6296e9320c3ddd9ec1096484f8c659d90772
1 file changed