|
VM: Reland Inline instance object hash code into object header on 64bit.
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
Committed: https://github.com/dart-lang/sdk/commit/955a4b6e711fc66a906b5e3d96c96d637ff45833
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+517 lines, -147 lines) |
Patch |
|
M |
pkg/front_end/testcases/shaker/empty_program.dart.shaker
|
View
|
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/lib/object.cc
|
View
|
|
1 chunk |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/lib/object_patch.dart
|
View
|
|
2 chunks |
+7 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm64.h
|
View
|
|
2 chunks |
+9 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm64.cc
|
View
|
|
2 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm64_test.cc
|
View
|
|
2 chunks |
+64 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_ia32.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_x64.h
|
View
|
|
2 chunks |
+5 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_x64.cc
|
View
|
|
2 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_x64_test.cc
|
View
|
|
3 chunks |
+43 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/become.h
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/become.cc
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/clustered_snapshot.cc
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/freelist.h
|
View
|
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/freelist.cc
|
View
|
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/heap.h
|
View
|
|
3 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/heap.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_dbc.cc
|
View
|
|
3 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier.cc
|
View
|
1
|
1 chunk |
+11 lines, -0 lines |
2 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_arm.cc
|
View
|
1
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_arm64.cc
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_ia32.cc
|
View
|
1
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_x64.cc
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/method_recognizer.h
|
View
|
1
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
|
3 chunks |
+8 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
|
12 chunks |
+92 lines, -24 lines |
0 comments
|
Download
|
|
M |
runtime/vm/profiler.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.h
|
View
|
|
17 chunks |
+56 lines, -31 lines |
0 comments
|
Download
|
|
M |
runtime/vm/raw_object.cc
|
View
|
|
6 chunks |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
runtime/vm/simulator_arm64.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/simulator_arm64.cc
|
View
|
|
3 chunks |
+39 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/simulator_dbc.cc
|
View
|
|
5 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/snapshot.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/snapshot.cc
|
View
|
|
7 chunks |
+26 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_arm.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_arm64.cc
|
View
|
|
3 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_ia32.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_x64.cc
|
View
|
|
2 chunks |
+9 lines, -6 lines |
0 comments
|
Download
|
Total messages: 7 (3 generated)
|