dart-sdk/runtime/platform
Erik Corry aa60a2ea90 More 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=

Review-Url: https://codereview.chromium.org/2895183002 .
2017-05-22 10:04:59 +02:00
..
address_sanitizer.h VM: Tell lsan about mmap()ed regions used for our heap 2017-01-24 12:47:36 +01:00
allocation.h Add an option to gen_snapshot for creating a Makefile describing a snapshot's dependencies. This option may be used when generating any snapshot kind, or without generating a snapshot. 2017-02-23 12:40:48 -08:00
assert.cc Retry landing cl for issue with TSAN. 2016-11-23 15:40:26 -08:00
assert.h Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
c99_support_win.h Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
floating_point.h Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
floating_point_win.cc Rename TARGET_OS_* to HOST_OS_*. 2017-03-15 13:11:05 -07:00
floating_point_win.h Make header include guards great again 2016-10-26 00:26:03 -07:00
globals.h More compact string representation on 64 bit. 2017-05-22 10:04:59 +02:00
growable_array.h Add an option to gen_snapshot for creating a Makefile describing a snapshot's dependencies. This option may be used when generating any snapshot kind, or without generating a snapshot. 2017-02-23 12:40:48 -08:00
hashmap.cc VM: Remove unused (and incomplete) HashMap::Remove() function 2016-12-01 13:51:49 +01:00
hashmap.h VM: Remove unused (and incomplete) HashMap::Remove() function 2016-12-01 13:51:49 +01:00
inttypes_support_win.h Make header include guards great again 2016-10-26 00:26:03 -07:00
math.h Rename TARGET_OS_* to HOST_OS_*. 2017-03-15 13:11:05 -07:00
memory_sanitizer.h Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
platform_headers.gypi Add an option to gen_snapshot for creating a Makefile describing a snapshot's dependencies. This option may be used when generating any snapshot kind, or without generating a snapshot. 2017-02-23 12:40:48 -08:00
platform_sources.gypi - Remove the legacy debug protocol. 2015-12-03 17:46:02 -08:00
signal_blocker.h Rename TARGET_OS_* to HOST_OS_*. 2017-03-15 13:11:05 -07:00
text_buffer.cc Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
text_buffer.h Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
utils.cc Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
utils.h Rename TARGET_OS_* to HOST_OS_*. 2017-03-15 13:11:05 -07:00
utils_android.h Make header include guards great again 2016-10-26 00:26:03 -07:00
utils_fuchsia.h Make header include guards great again 2016-10-26 00:26:03 -07:00
utils_linux.h Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
utils_macos.h Make header include guards great again 2016-10-26 00:26:03 -07:00
utils_win.h Make header include guards great again 2016-10-26 00:26:03 -07:00