1. 18 Feb, 2022 7 commits
  2. 17 Feb, 2022 8 commits
  3. 16 Feb, 2022 6 commits
  4. 15 Feb, 2022 12 commits
  5. 14 Feb, 2022 7 commits
    • Manos Koukoutos's avatar
      [wasm][fuzzer] Emit the correct function index · 3610ef7d
      Manos Koukoutos authored
      Since we do not yet have canonicalization for types, when emitting
      ref.func in the fuzzer, it is not enough to pick a function whose
      signature is equivalent with the requested type; we have to pick a
      function that is declared exactly with the requested signature index.
      
      Bug: chromium:1296936
      Change-Id: Ie307a9a370bb9ba2c8c334ddf05268ed9c7077d6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460411Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79081}
      3610ef7d
    • Omer Katz's avatar
      heap: Young gen cleanups · 18ced8a5
      Omer Katz authored
      Various cleanups around young generation GCs.
      
      These include:
      (*) Repalce minor_mark_compact_collector_ with a unique_ptr and merge
          initialization with the mark_compact_collector_ and
          scavenger_collector_.
      (*) Rename IncrementalMarking::UpdateMarkingWorklistAfterScavenge to
          IncrementalMarking::UpdateMarkingWorklistAfterYoungGenGC.
      (*) Remove redundant MarkingTreatmentMode parameter from
          MakeIterable.
      
      Bug: v8:12612
      Change-Id: Ifac7006d3425808a4b9e4c8e1af054a60c073180
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448380Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79077}
      18ced8a5
    • Nikolaos Papaspyrou's avatar
      heap: Move call to ReportFullCycleToRecorder · 29d82a56
      Nikolaos Papaspyrou authored
      This CL simplifies the reporting of full GC cycles and the connection
      between the GC of the managed C++ heap and the managed Javascript heap.
      It moves the call to GCTracer::RecordFullCycleToRecorder to be part of
      GCTracer::StopCycle.
      
      Bug: v8:12503
      Bug: chromium:1154636
      Change-Id: I332dbcd81d2e5bdda83f3353c6526fc18e23ebd5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3456563Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79075}
      29d82a56
    • Anton Bikineev's avatar
      cppgc: young-gen: Implement GenerationalBarrier for source objects · 3f5c2dda
      Anton Bikineev authored
      The generational barrier for source objects records the entire source
      object to be processed later during remembered set visitation. It's
      planned to be used for Blink backing stores when an inlined object (or a
      range thereof) is added (HeapAllocator::NotifyNewObject(s)).
      
      An alternative approach would be to eagerly process the inlined objects
      using a custom callback. However, this requires changing Visitors to
      bring slots into the context. This approach should better work for
      scenarios where small ranges or single elements are added, to avoid
      processing potentially large backing stores. The followup CL implements
      this idea.
      
      Bug: chromium:1029379
      Change-Id: Iacb59e4b10a66354526ed293d7f43f14d8761a8f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460402Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79073}
      3f5c2dda
    • Leszek Swirski's avatar
      [utils] Move BitVector's iterator to STL-like interface. · 59ea4881
      Leszek Swirski authored
      Replace the Advance/Done methods on BitVector::Iterator with
      STL-compatible operator overloads, and add begin/end methods to
      BitVector itself, so that BitVectors can be iterated with ranged for
      loops.
      
      As a drive-by cleanup, make GrowableBitVector hold the BitVector by
      value (to avoid needing to allocate one for empty iteration), and remove
      its unused (and inefficient) Union method.
      
      Change-Id: Idcd34e26bfb087e3ec8297b4a769a51bfab4b6e8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455803Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79071}
      59ea4881
    • Dominik Inführ's avatar
      Reland^3 [heap] Support client-to-shared refs in Code objects · e459c84b
      Dominik Inführ authored
      This is a reland of 2694b75e
      
      The reason for the revert was fixed and landed in
      https://crrrev.com/c/3456023, together with all changes in d8.cc. This
      reland itself doesn't change the CL apart from rebasing.
      
      Original change's description:
      > Reland "Reland "[heap] Support client-to-shared refs in Code objects""
      >
      > This is a reland of 4b8f1b1c
      >
      > After landing https://crrev.com/c/3447371, we can reland this CL as-is
      > correctness-wise.
      >
      > What's new in this CL is that we now treat references from client
      > objects into the shared heap as roots for the --track-retaining-path
      > feature.
      >
      > Original change's description:
      > > Reland "[heap] Support client-to-shared refs in Code objects"
      > >
      > > This is a reland of 12e46091
      > >
      > > Original change's description:
      > > > [heap] Support client-to-shared refs in Code objects
      > > >
      > > > Support references from code objects in the client heaps to shared heap objects. Such references are stored in a remembered set during marking, which is later used for updating pointers.
      > > >
      > > > Bug: v8:11708
      > > > Change-Id: I8aeb508ddd14514ca65fa5acf3030dd8c2040168
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401588
      > > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > > > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > > > Cr-Commit-Position: refs/heads/main@{#78819}
      > >
      > > Bug: v8:11708
      > > Change-Id: I47bcf44b452fcffe8675fba03244b736ede14247
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3422630
      > > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > > Cr-Commit-Position: refs/heads/main@{#78838}
      >
      > Bug: v8:11708
      > Change-Id: I5b48e942fa469eabb40e797e221d06c25af16443
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3425358
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#79023}
      
      Bug: v8:11708
      Change-Id: I83de1dc4dc4701cba4936a68923f6d9b97f7a6a8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3455242Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79070}
      e459c84b
    • Victor Gomes's avatar
      Reland "[runtime] Refactor TransitionsAccessor" · 24ff6e28
      Victor Gomes authored
      This is a reland of c927ada7
      
      Fix: Recalculate encoding after an allocation (that can potentially
      trigger GC) in EnsureHasFullTransitionArray.
      
      Original change's description:
      > [runtime] Refactor TransitionsAccessor
      >
      > Problems:
      > - The class uses a bare Map field, but some methods can trigger GC
      > causing it to have a potential dangling pointer in case of map
      > compaction.
      > - Some methods invalidate the object state and should not be used again.
      > - Complicate logic with a no_gc and a gc aware constructors. Some
      > methods can only be called if the object is constructed with a
      > particular constructor (e.g, Insert and PutPrototypeTransition).
      >
      > Note: Most usages of this class is done by constructing an object and
      > calling a single method:
      > `TransitionAccessor(...).Method(...)`
      > So we can easily change them to a static method.
      >
      > This CL:
      > 1. Adds DISALLOW_GARBAGE_COLLECTION to the class.
      > 2. Makes methods that can trigger GC static.
      > 3. Creates static helper functions that wrap the class in a different
      > scope, since TransitionsAccessor now forces the scope to disallow gc.
      > 4. Removes now unnecessary "Reload" logic.
      >
      > Bug: chromium:1295133, v8:12578
      > Change-Id: I85484e7235fbd5e69894e26f5e1c491c6f69635e
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3450416
      > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Victor Gomes <victorgomes@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#79051}
      
      Bug: chromium:1295133, v8:12578
      Change-Id: If3880c2480433b78567870c8d14508d6ad9eccbd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460405Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Auto-Submit: Victor Gomes <victorgomes@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79069}
      24ff6e28