1. 14 May, 2020 1 commit
    • Leszek Swirski's avatar
      [offthread] Add off thread deserialization · 595609fb
      Leszek Swirski authored
      Add a new OffThreadObjectDeserializer, which can deserialize a snapshot
      into an OffThreadIsolate.
      
      This involves templating the Deserializer base class on Isolate, and
      amending OffThreadHeap to be able to create Reservations same as the
      main-thread Heap can. Various off-thread incompatible methods are
      stubbed out as UNREACHABLE in OffThreadIsolate overloads.
      
      There is currently no API entry into the off-thread deserialization, but
      under --stress-background-compile it now runs the CodeDeserializer (i.e.
      code cache deserialization) in a background thread.
      
      Bug: chromium:1075999
      
      Change-Id: I2453f51ae31df4d4b6aa94b0804a9d6d3a03781e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172741
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#67799}
      595609fb
  2. 11 May, 2020 1 commit
  3. 08 May, 2020 1 commit
  4. 06 Feb, 2020 1 commit
  5. 04 Dec, 2019 1 commit
    • Leszek Swirski's avatar
      [isolate] Revert oddball checks to non-const Isolate* · 29af4273
      Leszek Swirski authored
      Looks like even the small amount of logic needed to extract ReadOnlyRoots
      from a const Isolate* (e.g. a HeapObject check) is enough to cause
      regressions.
      
      Revert these predicates to take non-const Isolate*, while keeping const
      Isolate* elsewhere. If we ever need const Isolate* for the oddball
      predicates, we can add it in addition to the non-const one.
      
      Bug: chromium:1029457
      Bug: chromium:1030001
      Bug: chromium:1030003
      Bug: chromium:1030102
      Change-Id: Ia6fa45f282a1a1961c0afa8ed973baebf6fbafd3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1948721Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65331}
      29af4273
  6. 27 Nov, 2019 1 commit
    • Leszek Swirski's avatar
      [isolate] Make field getters use a const Isolate* · 42a56e03
      Leszek Swirski authored
      To indicate that the Isolate* in getters might not be a "real" isolate,
      but rather a calculated one from GetIsolateForPtrCompr only used for
      calculating the isolate root, make that function return a const Isolate*
      and change field getters, Object::IsFoo predicates, and related
      functions to all take a const Isolate* instead of an Isolate*
      
      With this change, we can slightly more confidently use Objects that are
      in OffThreadSpace, without having to worry too much about having an
      Isolate* floating around that could accidentally be used.
      
      This is a slight abuse of const semantics, but it allows implicit
      conversion from Isolate* arguments to the const Isolate* parameter.
      
      Bug: v8:7703
      Bug: chromium:1011762
      Change-Id: I54d4a65d2299477195f4d754cabe64ce34fdaa4c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939455
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65199}
      42a56e03
  7. 28 Jun, 2019 1 commit
  8. 26 Jun, 2019 1 commit
  9. 24 Jun, 2019 3 commits
  10. 14 Jun, 2019 2 commits
  11. 05 Jun, 2019 1 commit
  12. 24 May, 2019 1 commit
  13. 23 May, 2019 1 commit
  14. 09 May, 2019 1 commit
  15. 04 Apr, 2019 1 commit
  16. 18 Mar, 2019 1 commit
  17. 13 Mar, 2019 1 commit
  18. 12 Mar, 2019 1 commit
  19. 25 Feb, 2019 1 commit
  20. 15 Feb, 2019 1 commit
  21. 09 Feb, 2019 1 commit
  22. 18 Jan, 2019 1 commit
  23. 09 Jan, 2019 1 commit
  24. 08 Jan, 2019 2 commits
  25. 26 Dec, 2018 1 commit
  26. 20 Dec, 2018 2 commits
  27. 19 Dec, 2018 1 commit
  28. 13 Dec, 2018 1 commit
  29. 10 Dec, 2018 1 commit
  30. 08 Dec, 2018 1 commit
  31. 06 Dec, 2018 1 commit
  32. 05 Dec, 2018 1 commit
  33. 30 Nov, 2018 1 commit
  34. 29 Nov, 2018 2 commits