- 16 Jul, 2020 1 commit
-
-
Dominik Inführ authored
Fixes build on some configurations with GCC/libstdc++. Bug: v8:10708, v8:10315 Change-Id: I8f1c98e9143aa05b49b2a2d74f2024c093a5df29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299378 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68881}
-
- 10 Jul, 2020 1 commit
-
-
Ulan Degenbaev authored
PersistentHandles::NewHandle/LocalHeap::NewPersistentHandle currently erase the type of the object. This patch templatizes them to preserve the type and introduces versions that take Handle<T> Bug: v8:10315 Change-Id: I899179a5b842b7b16144b340f6cd2b91e1db228f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287501 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#68779}
-
- 09 Jul, 2020 1 commit
-
-
Dominik Inführ authored
When local heap is parked it is not allowed to dereference any handles. A GC might be relocating objects at that point. Change-Id: I557682d47f8f0acfe041506833f6b397feb4438b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289981Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#68768}
-
- 08 Jul, 2020 1 commit
-
-
Ulan Degenbaev authored
Bug: v8:10315 Change-Id: I6be83e742a3ef488e09ac44a379e028592a5ff64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287493 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#68736}
-
- 07 Jul, 2020 1 commit
-
-
Ulan Degenbaev authored
This is needed for write-barrier and persistent-handle code that does not otherwise get an instance of LocalHeap Bug: v8:10315 Change-Id: I480e31f32141510f2f9e678af3449d5841e3156e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284492 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#68720}
-
- 04 Jun, 2020 1 commit
-
-
Dominik Inführ authored
Introduce ParkedMutexGuard which is similar to base::MutexGuard but also parks the LocalHeap while the thread is blocked. Bug: v8:10315 Change-Id: I149673511df013881ed2fbb42cf22d3f9b17b92d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2230518 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68173}
-
- 26 May, 2020 1 commit
-
-
Dominik Inführ authored
Objects allocated on the background thread during incremental marking, need to be allocated black. This prevents concurrent marking to observe uninitialized objects. Bug: v8:10315 Change-Id: Ia4b05a2a72e4142c79b31a01cbf162a6599a18c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2196347 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67967}
-
- 08 May, 2020 1 commit
-
-
Dominik Inführ authored
Background threads can now start incremental marking when necessary. In contrast to the main thread they always need to schedule a job and can't start incremental marking right away. Background threads also use a simpler heuristic for deciding whether to start incremental marking. Bug: v8:10315 Change-Id: I2b94e8273c8be860157fe9670797048ed1c5c3da Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2184149Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#67675}
-
- 30 Apr, 2020 1 commit
-
-
Dominik Inführ authored
When a background thread fails to allocate, it requests a GC and retries the allocation afterwards. Make second allocation more likely to succeed by allowing those allocations to expand the old space. TLABs of LocalHeaps also need to be invalidated before the GC. Bug: v8:10315 Change-Id: Idaea2c4ee25642d508c72ae274b06d60c6e225e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154193 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67496}
-
- 15 Apr, 2020 1 commit
-
-
Dominik Inführ authored
Add ConcurrentAllocator which can be used for concurrent allocation from a background thread in the old space. ConcurrentAllocator doesn't request a GC yet when an allocation fails. This will be implemented in later CLs. Bug: v8:10315 Change-Id: I81260ebbd8863c143e93aedb93c66d0e7c28bddb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144066 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67150}
-
- 07 Apr, 2020 1 commit
-
-
Dominik Inführ authored
Avoid name clash with Safepoint in src/codgen and use renaming to emphasize that class reaches a safepoint in each background thread. Bug: v8:10315 Change-Id: I391cdcfaf533a0fe0d5923207234eb2a8411eb93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2139576Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#67037}
-
- 06 Apr, 2020 1 commit
-
-
Dominik Inführ authored
Adds the PersistentHandles class, which serves as a container for handles that can be passed back and forth between threads. Allocation and deallocation of this class is thread-safe and the isolate tracks all PersistentHandles containers. Design doc: https://docs.google.com/document/d/17yKs-6apE2rGEag7tDsoyeRxg99c1dXyXQ2MfHe65tY/edit?usp=sharing Bug: v8:10315 Change-Id: I4b9c958c9a57d755ca68862197501f75274670fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2128058 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67004}
-
- 25 Mar, 2020 1 commit
-
-
Dominik Inführ authored
Add LocalHandleScope to allow for local handles in LocalHeaps (background threads). This class is similar to HandleScope which still needs to be used on the main thread. When performing a GC, the main thread halts all background threads at a safepoint such that it can safely iterate their roots. Bug: v8:10315 Change-Id: Id8f5d54cc2535e004081ccdef15dc03a39b2d0f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111218 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66853}
-
- 16 Mar, 2020 3 commits
-
-
Dominik Inführ authored
Add safepoint mechanism to stop concurrent threads and bring them to a safepoint. Threads are stopped before the safepoint and after e.g. the GC resumed again. Each thread needs to be stopped in a safepoint, such that all roots can be iterated safely. Running threads need to be cooperative and are required to perform regular safepoint polls. The last version of this CL was reverted because safepoint_requested_ wasn't initialized (see https://crrev.com/c/2105634). Bug: v8:10315 Change-Id: I6ef244c0fb31c178589b5e3d1c62687a8dd65768 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105635Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#66732}
-
Clemens Backes authored
This reverts commit c84963ea. Reason for revert: Fails on msan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/31376 Original change's description: > [heap] Introduce safepoint mechanism > > Add safepoint mechanism to stop concurrent threads and bring them to a > safepoint. Threads are stopped before the safepoint and after e.g. the > GC resumed again. Each thread needs to be stopped in a safepoint, such > that all roots can be iterated safely. > > Running threads need to be cooperative and are required to perform > regular safepoint polls. > > Bug: v8:10315 > Change-Id: I47f07e7d2ef5bc5adbba6b9e8e79a1f0f45b97ad > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102578 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66727} TBR=ulan@chromium.org,dinfuehr@chromium.org Change-Id: If11281b2b9fc622b91261417b202676f23f60b50 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2105634Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66729}
-
Dominik Inführ authored
Add safepoint mechanism to stop concurrent threads and bring them to a safepoint. Threads are stopped before the safepoint and after e.g. the GC resumed again. Each thread needs to be stopped in a safepoint, such that all roots can be iterated safely. Running threads need to be cooperative and are required to perform regular safepoint polls. Bug: v8:10315 Change-Id: I47f07e7d2ef5bc5adbba6b9e8e79a1f0f45b97ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2102578 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66727}
-
- 11 Mar, 2020 1 commit
-
-
Dominik Inführ authored
Instead of directly using the Heap class concurrent threads will use the LocalHeap class for all heap operations. Bug: v8:10315 Change-Id: Ie007abb5b914af7f2507c9e790f34baacbcdf588 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2096620 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66663}
-