1. 04 May, 2020 1 commit
  2. 28 Apr, 2020 3 commits
    • Jakob Gruber's avatar
      Reland "[snapshot] Expose the serializer through %SerializeDeserializeNow" · bce121c7
      Jakob Gruber authored
      This is a reland of ad5b005e
      
      Original change's description:
      > [snapshot] Expose the serializer through %SerializeDeserializeNow
      >
      > ... in order to exercise the snapshot/ component from mjsunit tests
      > and fuzzers.
      >
      > * Since the serializer and deserializer can now be called at any time
      > instead of only in a tightly controlled environment, several
      > assumptions (such as an empty execution stack, no microtasks, no
      > handles) no longer hold and had to be made configurable through
      > SerializerFlags.
      >
      > * Root iteration now skips more root categories which were previously
      > guaranteed to be empty (e.g. the stack, microtask queue, handles).
      >
      > * The %SerializeDeserializeNow runtime function triggers
      > serialization, deserialization, and heap verification on the current
      > isolate and native context.
      >
      > Support is not yet complete and will be extended in future work. Once
      > all mjsunit tests successfully run, we can add a new test mode to
      > stress serialization.
      >
      > Bug: v8:10416
      > Change-Id: Ie7ff441a761257dd7f256d0a33e73227850074ac
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159495
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67423}
      
      Tbr: delphick@chromium.org,ulan@chromium.org
      Bug: v8:10416
      Change-Id: Ibed04c0f0b72fabcf811d8b18a1479391a11568b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170090Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67426}
      bce121c7
    • Nico Hartmann's avatar
      Revert "[snapshot] Expose the serializer through %SerializeDeserializeNow" · 451854fa
      Nico Hartmann authored
      This reverts commit ad5b005e.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20shared/36070?
      
      Original change's description:
      > [snapshot] Expose the serializer through %SerializeDeserializeNow
      > 
      > ... in order to exercise the snapshot/ component from mjsunit tests
      > and fuzzers.
      > 
      > * Since the serializer and deserializer can now be called at any time
      > instead of only in a tightly controlled environment, several
      > assumptions (such as an empty execution stack, no microtasks, no
      > handles) no longer hold and had to be made configurable through
      > SerializerFlags.
      > 
      > * Root iteration now skips more root categories which were previously
      > guaranteed to be empty (e.g. the stack, microtask queue, handles).
      > 
      > * The %SerializeDeserializeNow runtime function triggers
      > serialization, deserialization, and heap verification on the current
      > isolate and native context.
      > 
      > Support is not yet complete and will be extended in future work. Once
      > all mjsunit tests successfully run, we can add a new test mode to
      > stress serialization.
      > 
      > Bug: v8:10416
      > Change-Id: Ie7ff441a761257dd7f256d0a33e73227850074ac
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159495
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67423}
      
      TBR=ulan@chromium.org,jgruber@chromium.org,delphick@chromium.org
      
      Change-Id: Ie30b94c9ec6e4463bed6cc87dd6525f469fdf84a
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10416
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170089Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67424}
      451854fa
    • Jakob Gruber's avatar
      [snapshot] Expose the serializer through %SerializeDeserializeNow · ad5b005e
      Jakob Gruber authored
      ... in order to exercise the snapshot/ component from mjsunit tests
      and fuzzers.
      
      * Since the serializer and deserializer can now be called at any time
      instead of only in a tightly controlled environment, several
      assumptions (such as an empty execution stack, no microtasks, no
      handles) no longer hold and had to be made configurable through
      SerializerFlags.
      
      * Root iteration now skips more root categories which were previously
      guaranteed to be empty (e.g. the stack, microtask queue, handles).
      
      * The %SerializeDeserializeNow runtime function triggers
      serialization, deserialization, and heap verification on the current
      isolate and native context.
      
      Support is not yet complete and will be extended in future work. Once
      all mjsunit tests successfully run, we can add a new test mode to
      stress serialization.
      
      Bug: v8:10416
      Change-Id: Ie7ff441a761257dd7f256d0a33e73227850074ac
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159495
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67423}
      ad5b005e
  3. 23 Apr, 2020 1 commit
  4. 22 Apr, 2020 1 commit
    • Dan Elphick's avatar
      [snapshot] Rename partial snapshot to context snapshot · 71bd50e1
      Dan Elphick authored
      The partial snapshot/serializer/deserializer are renamed to context *,
      while the partial snapshot cache is renamed to startup object cache in
      line with the read-only object cache (as this better reflects where it
      lives and what it does).
      
      To avoid a gap in the file history due to renaming both the files and
      identifiers simulataneously, this leaves all the partial-*.* files in
      place. They will be renamed in a follow-up CL.
      
      Bug: v8:10416
      Change-Id: I5ef41cad751aaa24b35ee2b3c72bd0295832f2c6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144115
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Auto-Submit: 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@{#67306}
      71bd50e1
  5. 23 May, 2019 2 commits
  6. 27 Mar, 2019 1 commit
  7. 08 Feb, 2019 3 commits
  8. 26 Dec, 2018 1 commit
  9. 20 Dec, 2018 1 commit
  10. 23 Nov, 2018 1 commit
  11. 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
  12. 31 Oct, 2018 1 commit
  13. 09 Jan, 2018 1 commit
  14. 07 Nov, 2017 1 commit
  15. 06 Nov, 2017 2 commits
  16. 19 Sep, 2017 1 commit
  17. 23 Aug, 2017 1 commit
  18. 18 Jul, 2017 1 commit
  19. 17 Mar, 2017 1 commit
    • titzer's avatar
      [rename] Rename internal field to embedder field. · 72e53936
      titzer authored
      This CL renames all occurrences of "internal field" to "embedder field"
      to prevent confusion. As it turns out, these fields are not internal to
      V8, but are actually embedder provided fields that should not be mucked
      with by the internal implementation of V8.
      
      Note that WASM does use these fields, and it should not.
      
      BUG=v8:6058
      
      Review-Url: https://codereview.chromium.org/2741683004
      Cr-Commit-Position: refs/heads/master@{#43900}
      72e53936
  20. 08 Dec, 2016 1 commit
    • yangguo's avatar
      [serializer] include global proxy in additional context snapshots. · 98b563eb
      yangguo authored
      Aside from the default snapshot, there is no need for additional context
      snapshots to have the ability to replace the global proxy and global object
      after deserialization. Changes include:
       - Changes to the API to better distinguish default context snapshot from
         additional context snapshots.
       - Disallow global handles when creating snapshots.
       - Allow extensions when creating snapshots.
      
      This solves the issue of not being able to having accessors and interceptors on
      the global object of contexts to be serialized.
      
      R=jochen@chromium.org, peria@chromium.org
      BUG=chromium:617892
      
      Review-Url: https://codereview.chromium.org/2557743003
      Cr-Commit-Position: refs/heads/master@{#41588}
      98b563eb
  21. 27 Oct, 2016 1 commit
  22. 15 Jun, 2016 1 commit
  23. 10 Jun, 2016 1 commit
  24. 09 Jun, 2016 1 commit
    • lpy's avatar
      Move hashmap into src/base. · 2fd55667
      lpy authored
      We ported hashmap.h into libsampler as a workaround before, so the main focus of
      this patch is to reduce code duplication. This patch moves the hashmap into
      src/base as well as creates DefaultAllocationPolicy using malloc and free.
      
      BUG=v8:5050
      LOG=n
      
      Review-Url: https://codereview.chromium.org/2010243003
      Cr-Commit-Position: refs/heads/master@{#36873}
      2fd55667
  25. 18 May, 2016 1 commit
    • yangguo's avatar
      [serializer] prepare attached references for general use. · 735fa0c4
      yangguo authored
      Currently attached references are only used for global proxy, source
      string and code stubs. Mid-term future we want to use attached
      references for arbitrary objects (in fixed order) provided from outside.
      
      This change renames BackReference to SerializerReference to include both
      back references and attached references.
      
      R=mtrofin@chromium.org, vogelheim@chromium.org
      
      Review-Url: https://codereview.chromium.org/1992723002
      Cr-Commit-Position: refs/heads/master@{#36318}
      735fa0c4
  26. 17 Mar, 2016 1 commit
  27. 01 Mar, 2016 1 commit