1. 17 Aug, 2021 1 commit
  2. 16 Aug, 2021 2 commits
  3. 11 Aug, 2021 1 commit
  4. 09 Aug, 2021 2 commits
    • Ng Zhi An's avatar
      [logging] Specify CodeEvent when logging CodeLinePosInfo · 688b3b21
      Ng Zhi An authored
      In gdbbjit's event handler, we return early if code_type is not
      JIT_CODE. Unfortunately, in all CodeLinePosInfo event, we memset the
      struct, so code_type is always BYTE_CODE, so no line information was
      getting saved.
      
      Drive-by clean up to aggregate initialize JitCodeEvent. Since the
      initializer list is empty, all members are value-initialized, and in
      this case, zero-initialized.
      
      Bug: v8:12035
      Change-Id: I67df2688f13fafbb0806546568eb2574ac8d5e2e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3071909Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76179}
      688b3b21
    • Leszek Swirski's avatar
      [api] Add API for off-thread code cache deserialization · f888f48e
      Leszek Swirski authored
      To consume a code cache off-thread
      
        1. The embedder creates a CachedData object wrapping the data blob.
        2. The embedder calls ScriptCompiler::StartConsumingCodeCache with the
           CachedData, and receives a ScriptCompiler::CodeCacheConsumeTask
           which takes ownership of the CachedData.
        3. The embedder calls ScriptCompiler::CodeCacheConsumeTask::Run
           on a different thread.
        4. Once this completes, the embedded passes the completed task as an
           optional argument into Source constructor, and calls Compile as
           before.
      
      This is roughly similar to how streaming compilation works, with the
      QoL improvement that Source owns the CodeCacheConsumeTask and therefore
      we can reuse the same Compile method and do the off-thread finalization
      behind the scenes inside Compile.
      
      On the v8::internal side, ScriptCompiler::CodeCacheConsumeTask wraps a
      v8::internal::BackgroundDeserializeTask, which has a Run and a Finish
      method. The Run creates a LocalIsolate (again, similar to
      BackgroundCompileTask), calls some helpers on CodeSerializer, and stores
      the pre-finalization result in a OffThreadDeserializeData structure.
      This stores Persistent Handles to the off-thread initialized SFI and
      a vector of Scripts needing fixing up, and it owns the PersistentHandles
      object which owns those Handles. Finally, the Finish method consumes
      this OffThreadDeserializeData structure, fixes up Scripts, moves the
      SFI Handle into the caller HandleScope, and that's it.
      
      Since we don't yet have the source at off-thread deserialization time,
      the various code cache sanity checks are done without the source hash
      when deserializing, and the Finish method re-does them now that the
      source is available.
      
      Bug: chromium:1075999
      Change-Id: If1faf35ba3ef840fa4e735581d0b29c96c1d5fc8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067322
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76155}
      f888f48e
  5. 05 Aug, 2021 1 commit
  6. 04 Aug, 2021 2 commits
  7. 23 Jul, 2021 2 commits
  8. 22 Jul, 2021 1 commit
  9. 20 Jul, 2021 1 commit
  10. 19 Jul, 2021 2 commits
  11. 15 Jul, 2021 2 commits
  12. 14 Jul, 2021 1 commit
    • Benedikt Meurer's avatar
      [refactor] Introduce dedicated WasmScript::SetBreakPointOnEntry(). · 95b2f02d
      Benedikt Meurer authored
      Previously we had passed kOnEntryBreakpointPosition as a marker through
      the regular SetBreakPointForScript() logic and handled that specially in
      WasmScript, however this instrumentation breakpoint is special and gets
      in the way of returning more information about a regular breakpoint in
      case of crbug.com/700516, so I decided to just isolate that into it's
      own method, especially since the only user already special-cases Wasm
      anyways.
      
      Bug: chromium:1162229, chromium:700516
      Change-Id: Ie7966c1701365a4b03710d6dc32cc8278577ee3a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3026711
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75724}
      95b2f02d
  13. 07 Jul, 2021 1 commit
  14. 06 Jul, 2021 1 commit
  15. 05 Jul, 2021 3 commits
  16. 02 Jul, 2021 2 commits
    • Zhi An Ng's avatar
      Revert "[build] Separate out inspector as a shared library" · 50fb0a2f
      Zhi An Ng authored
      This reverts commit 92bfb63c.
      
      Reason for revert: Broke build https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20shared/43249/overview
      
      Original change's description:
      > [build] Separate out inspector as a shared library
      >
      > This makes src/inspector:inspector into a v8_component producing a
      > shared library in component builds. To enable this, all of its exported
      > are now marked with V8_INSPECTOR_EXPORT.
      >
      > This also inverts the dependency between src/inspector:inspector and
      > :v8_base_without_compiler, and instead makes d8 and some tests depend on
      > inspector rather than getting it via v8.
      >
      > As a result, the no_check_targets exclusions list in .gn is reduced.
      >
      > Ultimately embedders like chromium should depend on :v8 and optionally
      > src/inspector:inspector, but to allow that transition to occur, this
      > renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and
      > inspector. Once all embedders have changed to reflect the new structure,
      > this part can be reverted.
      >
      > Bug: v8:11917
      > Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75532}
      
      Bug: v8:11917
      Change-Id: I0ed27ed95211d13b8b3438a8c0a42d577806c475
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3003452
      Auto-Submit: Zhi An Ng <zhin@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#75533}
      50fb0a2f
    • Dan Elphick's avatar
      [build] Separate out inspector as a shared library · 92bfb63c
      Dan Elphick authored
      This makes src/inspector:inspector into a v8_component producing a
      shared library in component builds. To enable this, all of its exported
      are now marked with V8_INSPECTOR_EXPORT.
      
      This also inverts the dependency between src/inspector:inspector and
      :v8_base_without_compiler, and instead makes d8 and some tests depend on
      inspector rather than getting it via v8.
      
      As a result, the no_check_targets exclusions list in .gn is reduced.
      
      Ultimately embedders like chromium should depend on :v8 and optionally
      src/inspector:inspector, but to allow that transition to occur, this
      renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and
      inspector. Once all embedders have changed to reflect the new structure,
      this part can be reverted.
      
      Bug: v8:11917
      Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75532}
      92bfb63c
  17. 01 Jul, 2021 1 commit
  18. 29 Jun, 2021 1 commit
  19. 23 Jun, 2021 1 commit
  20. 22 Jun, 2021 2 commits
  21. 21 Jun, 2021 1 commit
  22. 18 Jun, 2021 1 commit
  23. 17 Jun, 2021 3 commits
  24. 15 Jun, 2021 1 commit
  25. 14 Jun, 2021 2 commits
  26. 11 Jun, 2021 1 commit
    • Dan Elphick's avatar
      [build] Reduce size of inline header cycles · c26965bd
      Dan Elphick authored
      This removes/replaces header includes with the aim of shrinking the
      size of the inline header cycle. Specifically before this CL, there was
      a single Strongly-Connected Component comprising 60 header files from
      src/objects and src/heap.
      
      Now there are two 2 SCCs. The src/heap SCC has 6 files and depends on
      the src/objects SCC, which has 50 files. Additionally some previously
      implicit dependencies have been added.
      
      Dependencies calculated using:
      git grep "#include \"" *.h *.cc | sed 's/:#include "/ /;s/".*$//' | \
      awk 'BEGIN {print "digraph deps {" } END {print "}"} {print "\""$1"\" -> \""$2"\""}'
      
      SCCs found using sccmap from graphviz.
      
      Also removes unused Cell::FromValueAddress method.
      
      Change-Id: Ib19d00ccd14e490ee64d57be4d99b1b3686ac32a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2951734Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75103}
      c26965bd
  27. 10 Jun, 2021 1 commit