1. 10 Feb, 2020 7 commits
    • Leszek Swirski's avatar
      [offthread] Add off-thread scope allocation · 5f638462
      Leszek Swirski authored
      Make Scope allocation and ScopeInfo creation Isolate-templated. This
      includes making SourceTextModuleInfo allocation templated -- modules
      aren't currently streamed off-thread, but will hopefully be in the
      future, so this future-proofs them against that.
      
      Bug: chromium:1011762
      Change-Id: I8954e08e8e81489eb821b5f62ec35a5be31fce09
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043790Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66197}
      5f638462
    • Michael Lippautz's avatar
      heap: Be more conservative when delaying finalization · 7a410e73
      Michael Lippautz authored
      When delaying finalization we considered the maximum of the current time
      to task and the recorded average. In case there's no recorded average
      the GC would consider the current time to task as estimate which is too
      aggresive as V8 may never get a task executed.
      
      Be fully conservative about recorded task times and bail out in such
      cases.
      
      Bug: chromium:1049957
      Change-Id: Ibaac242f72459341a170af80e63fb2266f91b0eb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043809
      Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66196}
      7a410e73
    • Dominik Inführ's avatar
      [heap] Improve accounting with ArrayBufferExtensions · 83dfd058
      Dominik Inführ authored
      Update external memory counters when using ArrayBufferExtensions. In
      case the array buffers are swept concurrently, the counters are updated
      at the beginning of the next minor/full GC. A subsequent GC is going
      to update counters faster.
      
      ArrayBufferExtension now stores the accounting_length such that
      the sweeper always knows how much memory to deduct from the external
      memory on destruction.
      
      ArrayBufferList now also tracks the size of all ArrayBuffers in it.
      
      Bug: v8:10064
      Change-Id: I50a8b1180aa837b6932f834df1610255bd2bd9fd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2041441
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66195}
      83dfd058
    • Leszek Swirski's avatar
      [offthread] Add InOffThreadSpace checks for Isolate access · 98129efc
      Leszek Swirski authored
      Make sure we can't get the Isolate for writable off-thread space
      objects, to avoid leaking the Isolate into off-thread compilation.
      
      Bug: chromium:1011762
      Change-Id: I5c4316e751736b8c8235fdcc8949d52b78313f38
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043791
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66194}
      98129efc
    • Joakim Bengtsson's avatar
      Improve V8 GC logic for external memory · 4b1447e4
      Joakim Bengtsson authored
      The logic for V8 GC normally only takes the external memory growth
      since last mark-compact into account. Unfortunately, the amount of
      external memory recorded at the end of MC is often too high. The
      reason is that it might take a while for the external memory
      associated with the GCed objects to be released (e.g. V8 itself post a
      task to release external memory for ArrayBuffer backing stores). In a
      worst case scenario GC is driven only by external memory and none of
      the external memory is released by the end of the MC. Then each MC
      will record the external memory at its highest point and the GC logic
      will allow the external memory to grow a bit higher each time which
      can lead to excessive memory use.
      
      This patch improves the situation a bit by calculating the growth from
      the lowest external memory seen since the last MC. That way the growth
      calculation will be offset from a level presumably closer to the
      intended one (to what it would have been if the external memory
      associated with the GCed objects was released during the MC). Now,
      this fix is not perfect because it can be thrown off by external
      memory growth occurring before the lingering memory is
      released. However, it seems to work rather well in practice (e.g. when
      playing MSE video on YT).
      
      Bug: v8:10185
      Change-Id: Ifcdd87eb45f3ae4a99d2aeec667c3ae4ca9a52b6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2042711Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66193}
      4b1447e4
    • Peter Marshall's avatar
      [tooling] Reland "Keep track of idle state even when we aren't profiling" · e16bd85b
      Peter Marshall authored
      > It isn't expensive to set this enum on the isolate and we only call
      > this in chrome when the ThreadDebugger is enabled anyway.
      >
      > This means we have a correct idle state to use with the upcoming
      > CDP event which emits the thread state.
      
      This time, move the dcheck below the stack pointer check. It turns out
      we call into this with current state == JS, but only when js is on the
      stack, so we can just move the check lower.
      
      Bug: chromium:1025490
      Change-Id: Ic9b2eff1ae1880535d0c6da5487ebea4f7e5e62b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2039050Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66192}
      e16bd85b
    • v8-ci-autoroll-builder's avatar
      Update V8 DEPS. · 9e548ec7
      v8-ci-autoroll-builder authored
      Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/4f24c2a..7d1284a
      
      Rolling v8/tools/luci-go: git_revision:bbda6f0d563b25ce0a25b147dec46e5815da5601..git_revision:02ba678a47594da180904851f3e6f809da7e0fc5
      
      Rolling v8/tools/luci-go: git_revision:bbda6f0d563b25ce0a25b147dec46e5815da5601..git_revision:02ba678a47594da180904851f3e6f809da7e0fc5
      
      Rolling v8/tools/luci-go: git_revision:bbda6f0d563b25ce0a25b147dec46e5815da5601..git_revision:02ba678a47594da180904851f3e6f809da7e0fc5
      
      TBR=machenbach@chromium.org,tmrts@chromium.org
      
      Change-Id: Iff417ef02e3e79fa094fad500fec3975c915c399
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2044840Reviewed-by: 's avatarv8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#66191}
      9e548ec7
  2. 09 Feb, 2020 4 commits
  3. 08 Feb, 2020 3 commits
  4. 07 Feb, 2020 19 commits
  5. 06 Feb, 2020 7 commits