DescriptionMore compact string representation on 64 bit.
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=
Committed: https://github.com/dart-lang/sdk/commit/aa60a2ea90d9d2c7f9ba58da15592763f291ce93
Patch Set 1 #
Messages
Total messages: 4 (1 generated)
|