Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Issue 2895183002: More compact string representation on 64 bit. (Closed)

Created:
3 years, 7 months ago by erikcorry
Modified:
3 years, 7 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

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= Committed: https://github.com/dart-lang/sdk/commit/aa60a2ea90d9d2c7f9ba58da15592763f291ce93

Patch Set 1 #

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 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 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 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 7 chunks +24 lines, -13 lines 0 comments Download
M runtime/vm/object.h View 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 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

Messages

Total messages: 4 (1 generated)
erikcorry
3 years, 7 months ago (2017-05-22 07:52:04 UTC) #1
Vyacheslav Egorov (Google)
rubberstamp lgtm (assuming that this is just a reapplication with no changes)
3 years, 7 months ago (2017-05-22 07:54:52 UTC) #2
erikcorry
3 years, 7 months ago (2017-05-22 08:06:07 UTC) #4
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
aa60a2ea90d9d2c7f9ba58da15592763f291ce93 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698