955a4b6e71
Inline instance object hash code into object header on 64 bit. 64 bit objects have 32 bits of free space in the header word. This is used for the hash code in string objects. We take it for the default hash code on all objects that don't override the hashCode getter. This is both faster and a memory reduction. Eg it makes the MegaHashCode part of the Megamorphic benchmark 6 times faster. This is a reland of https://codereview.chromium.org/2954453002/ which fixes an issue that made script snapshots generated on 64 bit platforms incompatible with 32 bit VMs. BUG= R=vegorov@google.com Review-Url: https://codereview.chromium.org/2965723002 .