Fix incorrect string hash value extension during cross-compilation.

Previouly, having a 32-bit Android device and a 64-bit host to compile
boot.oat could lead to an interning table be fulfilled using one hash
function and be worked with using another hash function (which is caused
by sign extension).
Target case is any string with a negative .GetHashCode().

Test: test-art-host-gtest-intern_table_test

Change-Id: I3f417e1ac990ef681f0651160292130e9b3632f0
4 files changed