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

Issue 1391433002: When a snapshot is generated on a 64 bit architecture and then read into a 32 bit architecture, val… (Closed)

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

Description

When a snapshot is generated on a 64 bit architecture and then read into a 32 bit architecture, values which are Smi on the 64 bit architecture could potentially be converted to Mint objects, however since Smi values do not have any notion of canonical bits we lose that information when the object becomes a Mint. Some of these values could be literal values and end up in the VM isolate heap. Later when these values are referenced in a constant list we try to ensure that all the objects in the list are canonical and try to canonicalize them. When these Mint objects are encountered they do not have the canonical bit set and canonicalizing them won't work as the VM heap is read only now. In these cases we clone the object into the isolate and then canonicalize it. BUG= R=johnmccutchan@google.com Committed: https://github.com/dart-lang/sdk/commit/c8549e064e9262d4e68ce48fcc4059f0de184123

Patch Set 1 #

Total comments: 2

Patch Set 2 : code-review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+23 lines, -4 lines) Patch
M runtime/vm/object.cc View 1 2 chunks +23 lines, -4 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
siva
5 years, 2 months ago (2015-10-05 18:03:16 UTC) #2
srdjan
DBC https://codereview.chromium.org/1391433002/diff/1/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1391433002/diff/1/runtime/vm/object.cc#newcode14484 runtime/vm/object.cc:14484: // Create a canonical object in old space. ...
5 years, 2 months ago (2015-10-05 18:06:37 UTC) #4
Cutch
LGTM but I wonder if Ivan's suggestion of just promoting mint-range smis at snapshot read ...
5 years, 2 months ago (2015-10-05 18:27:54 UTC) #5
siva
Agree it would be cleaner if we can turn all these Smis into canonical Mints ...
5 years, 2 months ago (2015-10-05 21:51:06 UTC) #6
siva
5 years, 2 months ago (2015-10-06 17:57:07 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
c8549e064e9262d4e68ce48fcc4059f0de184123 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698