|
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.
R=vegorov@google.com
BUG=
Committed: https://github.com/dart-lang/sdk/commit/5c8e472c82f8c403b3e628a40ca0be5fbefa7706
Total comments: 20
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+245 lines, -167 lines) |
Patch |
|
M |
runtime/platform/globals.h
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm64.cc
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_x64.cc
|
View
|
|
3 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/clustered_snapshot.cc
|
View
|
1
|
5 chunks |
+10 lines, -10 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/globals.h
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm64.cc
|
View
|
|
9 chunks |
+25 lines, -25 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_x64.cc
|
View
|
|
9 chunks |
+24 lines, -25 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_arm.cc
|
View
|
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_arm64.cc
|
View
|
1
|
7 chunks |
+19 lines, -13 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_ia32.cc
|
View
|
|
2 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_mips.cc
|
View
|
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_x64.cc
|
View
|
1
|
7 chunks |
+24 lines, -13 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
1
|
8 chunks |
+47 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.h
|
View
|
1
|
4 chunks |
+12 lines, -10 lines |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.cc
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/simulator_dbc.cc
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_arm.cc
|
View
|
|
2 chunks |
+7 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_arm64.cc
|
View
|
|
3 chunks |
+8 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_ia32.cc
|
View
|
|
3 chunks |
+8 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_mips.cc
|
View
|
|
2 chunks |
+6 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_x64.cc
|
View
|
|
4 chunks |
+10 lines, -7 lines |
0 comments
|
Download
|
Total messages: 14 (2 generated)
|