1. 22 Apr, 2020 1 commit
    • Jakob Gruber's avatar
      Reland "[snapshot] Extract more files" · d587f67a
      Jakob Gruber authored
      This is a reland of 5c4b8056
      
      Original change's description:
      > [snapshot] Extract more files
      >
      > This moves:
      >
      > - ExternalReferenceEncoder to codegen/external-reference-encoder.h
      > - SerializerDeserializer to snapshot/serializer-deserializer.h
      > - Checksum() to snapshot/snapshot-utils.h
      >
      > serializer-common.h and .cc are removed.
      >
      > Tbr: clemensb@chromium.org,ulan@chromium.org
      > Bug: v8:10416
      > Change-Id: I36a242dcc1ad8833374aa567f73e0d4a75632c58
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144118
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#67281}
      
      Tbr: delphick@chromium.org,clemensb@chromium.org,ulan@chromium.org
      Bug: v8:10416
      Change-Id: I6f6a1017435db185778ed931e1ddb13d8d5e920e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157384Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67298}
      d587f67a
  2. 21 Apr, 2020 2 commits
  3. 01 Apr, 2020 1 commit
  4. 25 Nov, 2019 1 commit
  5. 18 Sep, 2019 1 commit
    • Jakob Gruber's avatar
      [snapshot] Allow an empty v8_extra_library_files · 0721118d
      Jakob Gruber authored
      ... and do not artificially add at least one dummy.js file.
      
      Until this CL we used to ensure the existence of at least one 'extra
      native' by appending a short dummy.js file if v8_extra_library_files
      was empty. This file is uselessly compiled and run at startup.
      
      This CL removes that mechanism along with a minor tweak to handle an
      empty natives blob.
      
      Bug: v8:9736
      Change-Id: I05bf7c54380e77a9105d5c1a1a76983c692faf60
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809372
      Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63868}
      0721118d
  6. 20 Jun, 2019 1 commit
    • Maciej Goszczycki's avatar
      Reland "[roheap] Check that ro-heap is always passed the same read-only snapshot" · a5e7c03b
      Maciej Goszczycki authored
      This is a reland of a5fa211f
      
      des_checksum and call_once_run were undefined and unused respectively when
      shared read-only heap was enabled. Fixed with a copious amounts of USE.
      
      Original change's description:
      > [roheap] Check that ro-heap is always passed the same read-only snapshot
      >
      > Previously the ReadOnlyHeap simply discarded all but the first
      > ReadOnlyDeseralizer. ClearSharedHeapForTest should be called if using a
      > new ReadOnlyDeserializer (this might change in the future).
      >
      > Remove an obsolete 'StartupSerializerRootMapDependencies' test. It used
      > to test Map::WeakCellForMap which doesn't exist anymore and was
      > difficult to adapt to a shared read-only heap.
      >
      > Bug: v8:7464
      > Change-Id: I64b8e953b0e3466e003541ec8a9321e439a01d33
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660612
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      > Cr-Commit-Position: refs/heads/master@{#62250}
      
      TBR: yangguo@chromium.org
      Bug: v8:7464
      Change-Id: Id66e781be890c5ed03d066f8c62de703d5cb435e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1667415Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62302}
      a5e7c03b
  7. 18 Jun, 2019 2 commits
  8. 23 May, 2019 1 commit
  9. 29 Apr, 2019 1 commit
    • Clemens Hammacher's avatar
      [cleanup] Use Vector::begin instead of Vector::start · 4b0f9c85
      Clemens Hammacher authored
      Our {Vector} template provides both {start} and {begin} methods. They
      return exactly the same value. Since the {begin} method is needed for
      iteration, and is also what standard containers provide, this CL
      switches all uses of the {start} method to use {begin} instead.
      
      Patchset 1 was auto-generated by using this clang AST matcher:
          callExpr(
              callee(
                cxxMethodDecl(
                  hasName("start"),
                  ofClass(hasName("v8::internal::Vector")))
              ),
              argumentCountIs(0))
      
      Patchset 2 was created by running clang-format. Patchset 3 then
      removes the now unused {Vector::start} method.
      
      R=jkummerow@chromium.org
      TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org
      
      Bug: v8:9183
      Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61081}
      4b0f9c85
  10. 08 Feb, 2019 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. 19 Sep, 2018 1 commit
  13. 04 Sep, 2017 1 commit
    • jgruber's avatar
      [snapshot] Dynamically allocate builtin code objects in advance · b7b91142
      jgruber authored
      Our current deserializers (startup & partial) use a system of static memory
      reservations: required memory is determined at serialization time, which we
      then request before deserialization and dole out as-needed during
      deserialization.
      
      Lazy builtin deserialization needs a bit more flexibility. On the one hand, the
      amount of required memory varies since --lazy-deserialization can be switched
      on and off at runtime.
      
      On the other, builtin deserialization has been made order-independent, and we
      can encounter references to builtins before they have been deserialized.
      
      Both problems are solved by dynamically allocating required memory and
      initializing the builtins table with the (yet uninitialized) builtin Code
      objects.
      
      Bug: v8:6624
      Change-Id: Iee90992e91adb4ab45dae1acc81f64a108d12584
      Reviewed-on: https://chromium-review.googlesource.com/647748
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47789}
      b7b91142
  14. 30 Aug, 2017 1 commit
  15. 23 Aug, 2017 1 commit
  16. 26 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · 777da354
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46229}
      777da354
  17. 25 Jun, 2017 1 commit
  18. 23 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · d00d52be
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46191}
      d00d52be
  19. 10 Jun, 2016 1 commit
  20. 15 Dec, 2015 1 commit
  21. 30 Sep, 2015 1 commit
  22. 20 Apr, 2015 2 commits
  23. 27 Mar, 2015 1 commit
  24. 17 Mar, 2015 1 commit
  25. 10 Dec, 2014 2 commits
  26. 09 Dec, 2014 2 commits
  27. 05 Dec, 2014 1 commit
  28. 04 Dec, 2014 2 commits
  29. 03 Dec, 2014 1 commit
  30. 23 Oct, 2014 1 commit
  31. 25 Sep, 2014 1 commit
  32. 02 Sep, 2014 1 commit
  33. 04 Aug, 2014 1 commit
  34. 10 Jul, 2014 1 commit