1. 11 Sep, 2020 1 commit
  2. 13 Aug, 2020 1 commit
    • Leszek Swirski's avatar
      [runtime] Compress the off-heap string table · 279bd3e1
      Leszek Swirski authored
      Rather than an Object array, use a Tagged_t array to store the
      elements of the off-heap string table. This matches the old on-heap
      string table's behaviour, and recovers memory regressions from that
      work.
      
      To be able to do this, this also introduces a new slot type,
      OffHeapObjectSlot. This is because CompressedObjectSlot assumes that
      the slot is on-heap, and that it can mask the slot location to
      recover the isolate root. OffHeapObjectSlot doesn't define an
      operator*, and instead provides a `load(const Isolate*)` method.
      The other slots also gain this method so that they can use it in
      slot-templated functions. Also, the RootVisitor gains an
      OffHeapObjectSlot overload, which is UNREACHABLE by default and only
      needs to be defined by visitors that can access the string table.
      
      As a drive-by, fix some non-atomic accesses to the off-heap string
      table, also using the new slot.
      
      Bug: chromium:1109553
      Bug: chromium:1115116
      Bug: chromium:1115559
      Bug: chromium:1115683
      Change-Id: I819ed7bf820e9ef98ad5d5f9d0d592efbb6f5aa6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352489
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69381}
      279bd3e1
  3. 14 Jun, 2019 1 commit
  4. 24 May, 2019 1 commit
  5. 23 May, 2019 1 commit
    • Igor Sheludko's avatar
      [ptr-compr] Introduce StrongTaggedValue and TaggedValue · ae348e30
      Igor Sheludko authored
      ... which represent potentially compressed Object and MaybeObject
      values respectively. They provide methods for checking the smi/weak
      tags which don't require decompression and conversion to Smi/HeapObject
      combined with tag checks.
      
      The new classes should help to write a bit more efficient runtime (C++)
      code for the cases when we don't need the full decompressed value
      immediately.
      
      Drive-by-fix: fix ptr-compr build after Object::operator->() removal.
      
      Bug: v8:7703
      Change-Id: I7a3d747ab6679120a2cca14e45b0d8bcf33fc496
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624786Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61804}
      ae348e30
  6. 06 Mar, 2019 2 commits
  7. 15 Feb, 2019 1 commit
  8. 09 Jan, 2019 1 commit
  9. 08 Jan, 2019 1 commit
  10. 26 Dec, 2018 1 commit
  11. 20 Dec, 2018 1 commit
  12. 19 Dec, 2018 1 commit
  13. 13 Dec, 2018 1 commit