1. 19 Dec, 2018 1 commit
  2. 11 Dec, 2018 1 commit
  3. 08 Dec, 2018 1 commit
  4. 07 Dec, 2018 1 commit
  5. 27 Nov, 2018 2 commits
  6. 23 Nov, 2018 1 commit
  7. 22 Nov, 2018 1 commit
  8. 21 Nov, 2018 2 commits
  9. 06 Nov, 2018 1 commit
    • Yang Guo's avatar
      [snapshot] clear internal fields that are serialized by callback · 4495cba3
      Yang Guo authored
      This is to ensure the snapshot is deterministic.
      
      Internal fields can contain:
      - reference to heap object
      - embedder-defined aligned pointer
      - a smi
      
      The latter two are not distinguishable by V8, so if the serializer
      callback returns non-zero value, we consider it to be an aligned pointer
      and clear it to ensure that the snapshot does not contain memory
      addresses that may not be deterministic. If the callback returns
      { nullptr, 0 } as result, we consider it to be a smi or some in-place
      data that we then serialize verbatim.
      
      
      R=jgruber@chromium.org
      
      Bug: chromium:870584
      Change-Id: I3cf9abf135ffd28d8138fa32636b12596b076e13
      Reviewed-on: https://chromium-review.googlesource.com/c/1304441
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57272}
      4495cba3
  10. 31 Oct, 2018 1 commit
  11. 24 Oct, 2018 1 commit
  12. 16 Oct, 2018 1 commit
    • Dan Elphick's avatar
      [snapshot] Create a ReadOnly snapshot · f602712f
      Dan Elphick authored
      In preparation for sharing RO_SPACE between all Isolates within a
      process, this first pulls RO_SPACE out of the Startup snapshot and puts
      it in its own ReadOnly snapshot.
      
      The snapshot is first populated with the read-only roots. After that the
      StartupSerializer serializes as before but starting from the first
      mutable root. References to objects in the ReadOnly snapshot that aren't
      themselves roots are added to a new cache called ReadOnlyObjectCache
      which functions like the PartialSnapshotCache but lives in the
      ReadOnlySerializer rather than the StartupSerializer. These cache
      entries are referenced using a new bytecode: ReadOnlyObjectCache. (To
      make room for this, the ApiReference bytecode has been moved).
      
      To reduce code duplication, the StartupSerializer has been refactored to
      create a new base class RootSerializer, which ReadOnlySerializer also
      subclasses. The base class is responsible primarily for keeping track of
      already serialized roots and visiting the roots.
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Iff26042886130ae22eccf2e11b35f6f226f4a792
      Bug: v8:8191
      Reviewed-on: https://chromium-review.googlesource.com/c/1244676
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56681}
      f602712f
  13. 10 Oct, 2018 2 commits
    • Dan Elphick's avatar
      Reland "[snapshot] Factor out root serialization code" · ce9198e4
      Dan Elphick authored
      This is a reland of 22b56f47
      
      Nothing has changed. This is a reland of a speculative revert.
      
      Original change's description:
      > [snapshot] Factor out root serialization code
      >
      > Factors out a new method Serializer::SerializeRoot which attempts to
      > serialize a given object as a Root if it is one and the Serializer's
      > policy allows that root to be serialized (implemented as a new virtual
      > method RootCanBeSerialized)..
      >
      > This is in preparation for adding a ReadOnlySerializer which change the
      > way read-only roots are serialized.
      >
      > Bug: v8:8191
      > Change-Id: I7fbb4e9520fba8b836a0b6bf95ca39abc3ded79e
      > Reviewed-on: https://chromium-review.googlesource.com/c/1264698
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56494}
      
      TBR=jgruber
      
      Bug: v8:8191
      Change-Id: I30a606b9c99f5651fae323d12f8f74b13bb085fa
      Reviewed-on: https://chromium-review.googlesource.com/c/1273103Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56519}
      ce9198e4
    • Maya Lekova's avatar
      Revert "[snapshot] Factor out root serialization code" · 74aea87a
      Maya Lekova authored
      This reverts commit 22b56f47.
      
      Reason for revert: Speculatively reverting because it increases Android binary size unexpectedly, see https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-binary-size/72572
      
      Original change's description:
      > [snapshot] Factor out root serialization code
      > 
      > Factors out a new method Serializer::SerializeRoot which attempts to
      > serialize a given object as a Root if it is one and the Serializer's
      > policy allows that root to be serialized (implemented as a new virtual
      > method RootCanBeSerialized)..
      > 
      > This is in preparation for adding a ReadOnlySerializer which change the
      > way read-only roots are serialized.
      > 
      > Bug: v8:8191
      > Change-Id: I7fbb4e9520fba8b836a0b6bf95ca39abc3ded79e
      > Reviewed-on: https://chromium-review.googlesource.com/c/1264698
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56494}
      
      TBR=jgruber@chromium.org,delphick@chromium.org,ygg@google.com
      
      Change-Id: I7012abec0f33f655efc64dc44f7fa461d7e4b7e9
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8191
      Reviewed-on: https://chromium-review.googlesource.com/c/1273098Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56509}
      74aea87a
  14. 09 Oct, 2018 1 commit
    • Dan Elphick's avatar
      [snapshot] Factor out root serialization code · 22b56f47
      Dan Elphick authored
      Factors out a new method Serializer::SerializeRoot which attempts to
      serialize a given object as a Root if it is one and the Serializer's
      policy allows that root to be serialized (implemented as a new virtual
      method RootCanBeSerialized)..
      
      This is in preparation for adding a ReadOnlySerializer which change the
      way read-only roots are serialized.
      
      Bug: v8:8191
      Change-Id: I7fbb4e9520fba8b836a0b6bf95ca39abc3ded79e
      Reviewed-on: https://chromium-review.googlesource.com/c/1264698Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56494}
      22b56f47
  15. 26 Sep, 2018 1 commit
  16. 24 Sep, 2018 3 commits
  17. 23 Jul, 2018 1 commit
  18. 04 Jul, 2018 2 commits
  19. 20 Jun, 2018 1 commit
  20. 12 Jun, 2018 1 commit
  21. 22 Mar, 2018 3 commits
  22. 14 Feb, 2018 1 commit
  23. 09 Jan, 2018 1 commit
  24. 07 Nov, 2017 1 commit
  25. 06 Nov, 2017 2 commits
  26. 26 Oct, 2017 1 commit
  27. 28 Sep, 2017 1 commit
  28. 19 Sep, 2017 1 commit
  29. 11 Sep, 2017 1 commit
  30. 05 Sep, 2017 1 commit
  31. 30 Aug, 2017 1 commit
    • jgruber's avatar
      Reland "[snapshot] Move builtins to dedicated snapshot area" · 70a51638
      jgruber authored
      This is a reland of 49e3bfd5
      Original change's description:
      > [snapshot] Move builtins to dedicated snapshot area
      > 
      > As a first step towards lazy builtin deserialization, this CL moves
      > builtins to their own dedicated area in the snapshot blob, physically
      > located after startup data and before context-specific data.
      > 
      > The startup- and partial serializers now serialize all seen builtins as
      > references, i.e. they only encode the relevant builtin id (taking care
      > to preserve special behavior around the interpreter trampoline and
      > CompileLazy). Builtins are later fully serialized by the
      > BuiltinSerializer. The separate blobs are finally glued together by
      > CreateSnapshotBlob.
      > 
      > Deserialization takes the same steps: when we see builtin reference
      > bytecodes before builtins have been deserialized, we push to a list of
      > deferred builtin references. After builtin deserialization, this list is
      > iterated and all builtin references are fixed up.
      > 
      > Bug: v8:6624
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: Idee42fa9c92bdbe8d5b8c4b8bf3ca9dd39634004
      > Reviewed-on: https://chromium-review.googlesource.com/610225
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47596}
      
      Bug: v8:6624
      Change-Id: I8bfac56c482d992987c270bf0fea7acd9e4ca0c7
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/638271Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47705}
      70a51638