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

Issue 1151013005: Serialize maps without hashes. (Closed)

Created:
5 years, 6 months ago by koda
Modified:
5 years, 6 months ago
Reviewers:
siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Lasse Reichstein Nielsen
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Serialize maps without hashes. Re-generate the indices after deserialization. This is a more compact representation, and also fixes the issue with identity hash codes not being portable between isolates. BUG=21675 R=asiva@google.com Committed: https://github.com/dart-lang/sdk/commit/6090af8f0b70a5bb0d1b38346a65428556eb0ac3

Patch Set 1 : Draft with both approaches. #

Patch Set 2 : Remove finalizer approach, do lazy regen. #

Patch Set 3 : Cleanup, comments. #

Patch Set 4 : Comments. #

Patch Set 5 : Add test for issue 21675. #

Patch Set 6 : Add assertion, remove unused code #

Patch Set 7 : Make assertion actually hold #

Total comments: 7

Patch Set 8 : Address review comments, fix off-by-one error. #

Patch Set 9 : _getIndexSize and name constant #

Unified diffs Side-by-side diffs Delta from patch set Stats (+143 lines, -36 lines) Patch
M runtime/lib/compact_hash.dart View 1 2 3 4 5 6 7 8 8 chunks +39 lines, -13 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/raw_object.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/raw_object_snapshot.cc View 1 2 3 4 5 6 7 8 3 chunks +75 lines, -18 lines 0 comments Download
M runtime/vm/snapshot.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
M tests/isolate/message3_test.dart View 1 2 3 4 2 chunks +24 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
koda
5 years, 6 months ago (2015-06-01 17:11:41 UTC) #2
koda
I started with a eager finalize approach, but then chose lazy regeneration to avoid changes ...
5 years, 6 months ago (2015-06-01 17:18:32 UTC) #3
siva
lgtm https://codereview.chromium.org/1151013005/diff/120001/runtime/lib/compact_hash.dart File runtime/lib/compact_hash.dart (right): https://codereview.chromium.org/1151013005/diff/120001/runtime/lib/compact_hash.dart#newcode178 runtime/lib/compact_hash.dart:178: return _index.length; instead of checking every caller to ...
5 years, 6 months ago (2015-06-01 22:19:37 UTC) #4
koda
Let me know if you feel strongly about the null check, otherwise I'll leave the ...
5 years, 6 months ago (2015-06-01 23:01:01 UTC) #5
siva
https://codereview.chromium.org/1151013005/diff/120001/runtime/lib/compact_hash.dart File runtime/lib/compact_hash.dart (right): https://codereview.chromium.org/1151013005/diff/120001/runtime/lib/compact_hash.dart#newcode178 runtime/lib/compact_hash.dart:178: return _index.length; On 2015/06/01 23:01:01, koda wrote: > On ...
5 years, 6 months ago (2015-06-02 00:13:35 UTC) #6
koda
On 2015/06/02 00:13:35, siva wrote: > https://codereview.chromium.org/1151013005/diff/120001/runtime/lib/compact_hash.dart > File runtime/lib/compact_hash.dart (right): > > https://codereview.chromium.org/1151013005/diff/120001/runtime/lib/compact_hash.dart#newcode178 > ...
5 years, 6 months ago (2015-06-02 16:03:09 UTC) #7
koda
5 years, 6 months ago (2015-06-02 16:04:49 UTC) #8
Message was sent while issue was closed.
Committed patchset #9 (id:160001) manually as
6090af8f0b70a5bb0d1b38346a65428556eb0ac3 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698