1. 19 Feb, 2021 16 commits
  2. 18 Feb, 2021 18 commits
  3. 17 Feb, 2021 6 commits
    • Omer Katz's avatar
      cppgc: Implement process-global state accessors. · c174643b
      Omer Katz authored
      Process global accessors for total physical size and used size are
      needed for blink. These are implemented via an allocation observer that
      atomically updates static counters.
      
      The public api only provides getters for the counters. An internal class
      is in charge of updating the counters as needed. A similar split is also
      applied to IsAnyIncrementalOrConcurrentMarking().
      
      Drive-by: ProcessHeap is merged into cppgc::internal::WriteBarrier.
      
      Bug: chromium:1056170
      Change-Id: Iaedebd1ac9d49238ce6bdd52ffa5d1ef4d28203d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695394
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72832}
      c174643b
    • Omer Katz's avatar
      cppgc: Fix IsMarking checks. · 81078e2b
      Omer Katz authored
      IsMarking returns true as long as a marker exists. That means IsMarking
      is true during weak processing as well.
      ActiveScriptWrappableManager in blink uses a weak callback that updates
      a HeapVector and thus can trigger a write barrier during the atomic
      pause (which violates a DCHECK in the barrier).
      
      Bug: chromium:1056170
      Change-Id: I6304b38da9751320836a5e2407e8c7d529367bad
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2700676Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72831}
      81078e2b
    • Seth Brenith's avatar
      Remove 'length' field from ScopeInfo · f731e13f
      Seth Brenith authored
      ScopeInfo has a vestigial 'length' field from when it used to be a
      FixedArray. This change removes that field, which saves some memory.
      
      More specifically:
      
      - Make ScopeInfo inherit from HeapObject, not FixedArrayBase which
        supplied the 'length' field.
      - Privatize the FixedArray-style functions that provide access to
        ScopeInfo fields by index, and move them from scope-info-inl.h to
        scope-info.cc. Those functions are still used pretty heavily during
        initialization (ScopeInfo::Create, etc.), but at least we can avoid
        presenting them to the rest of the world.
      - Change FactoryBase::NewScopeInfo to allocate the updated object shape.
        It maintains the existing behavior of filling the newly-allocated
        object with undefined, even though that's not a valid ScopeInfo and
        further initialization is required.
      - Move part of AccessorAssembler::ScriptContextTableLookup into a new
        Torque macro, because it used to rely on casting ScopeInfo to
        FixedArrayBase.
      - In V8HeapExplorer::AddEntry, don't claim that ScopeInfo objects are
        arrays. I think it makes more sense to list them under "(system)" in
        the dev tools, like most other V8 internal types.
      
      Bug: v8:8952
      Change-Id: I8278e3a90027d4409f0d268da0fe7080754c6b8c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601880Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#72830}
      f731e13f
    • Bill Budge's avatar
      Revert "[dict-proto] C++ implementation of SwissNameDictionary, pt. 3" · 1ff071c1
      Bill Budge authored
      This reverts commit 2f8a7561.
      
      Reason for revert: Speculative revert, lots of segfaults on Arm:
      https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/17781
      
      Original change's description:
      > [dict-proto] C++ implementation of SwissNameDictionary, pt. 3
      >
      > This CL is part of a series that adds the C++ implementation of
      > SwissNameDictionary, a deterministic property backing store based on
      > Swiss Tables.
      >
      > This CL adds the initialization code, factory functions and a
      > canonical SwissNameDictionary plus all helpers required for that.
      >
      > Bug: v8:11388
      > Change-Id: I6bb92740afefc7d05433cfa62023e6da5e8213c7
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2688058
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Frank Emrich <emrich@google.com>
      > Cr-Commit-Position: refs/heads/master@{#72824}
      
      Bug: v8:11388
      Change-Id: Ia5dae584b0fb452b12c5d64ee63ffa418c83f91b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698758
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72829}
      1ff071c1
    • Milad Fa's avatar
      S390: fix DCHECK in store f32 and f64 · 6a358500
      Milad Fa authored
      Change-Id: Ie7fbaebda580787a6261f0bc56fc1bde370148e4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698928Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Commit-Queue: Milad Fa <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/master@{#72828}
      6a358500
    • Milad Fa's avatar
      PPC: define liftoff cache registers · 87860cc4
      Milad Fa authored
      After https://crrev.com/c/2695401, CachRegs needed to be defined
      on PPC to overwrite the default value "0xff".
      
      The default value was causing the following failure on some tests:
      
      ```
      #
      # Fatal error in ../../src/wasm/baseline/liftoff-register.h, line 160
      # Debug check failed: 0 != kLiftoffAssemblerGpCacheRegs & reg.bit()
        (0 vs. 0).
      ```
      
      Values are taken from `src/execution/ppc/frame-constants-ppc.h`.
      
      Change-Id: Idfc1d0fdc20d0b5aabc25e5b5809a93073a2dc3d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698930Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Milad Fa <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/master@{#72827}
      87860cc4