aa60a2ea90
This moves the hash code into the header word for strings on 64 bit platforms. With the old layout, 9 character strings became 48-byte objects. With the new layout you have to go to 17 characters before you are bumped from 4 to 6 words (32 to 48 bytes). As a side effect, the class ID field is now 16 bits on all platforms instead of having two different sizes, and the size field is 8 bits on all platforms. This also paves the way for moving the hash code for instance objects into the header, so we won't need the side-lookup in the hash-table-of-hash-codes on 64 bit platforms. This is a reapplication of https://codereview.chromium.org/2893553002/ after issues were fixed in https://codereview.chromium.org/2888413002/ and https://codereview.chromium.org/2896583002/ R=vegorov@google.com BUG= Review-Url: https://codereview.chromium.org/2895183002 .