- 10 Mar, 2021 1 commit
-
-
Omer Katz authored
Reporting marked bytes after atomic sweeping means we might be missing allocations in case finalizers are allocating during sweeping. Instead report marked bytes and marking time directly to LocalEmbedderHeapTracer as soon as marking is done. Bug: chromium:1056170 Change-Id: Ie770f077d2eec10dea182a503a7cd514d3b66baf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748579 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73318}
-
- 08 Mar, 2021 1 commit
-
-
Omer Katz authored
This CL adds missing locks to the PersistentRegions for (Weak)CrossThreadPersistents. To make sure no locks are missed in the future, this CL also splits PersistentRegion and introduces CrossThreadPersistentRegion that checks whether a lock is taken whenever it is accessed. Bug: chromium:1056170 Change-Id: Iaaef4a28af0f02bcb896706e9abf1ee5ad2ee1e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737299 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73264}
-
- 03 Mar, 2021 1 commit
-
-
Omer Katz authored
This was missing in CppHeap which means the used_bytes counter in EmbedderTracing was reset to 0 after every GC. Bug: chromium:1056170 Change-Id: Iddb0aa1eff9cc354622653376c6623364e015c5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732668 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73167}
-
- 01 Mar, 2021 2 commits
-
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I2744bbb615e417d9658cd2160220cf097b38b698 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726509Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73105}
-
Omer Katz authored
This CL sets it so that the actual object size is reported only when cppgc_enable_object_names is set to true. Otherwise the heap snapshot merges nodes and the sizes don't make sense. Also, this will resolve a web test failure for the library. Bug: chromium:1056170 Change-Id: I32f6552560bdfad4b64c67b21292543978042a81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726499Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73092}
-
- 26 Feb, 2021 3 commits
-
-
Michael Lippautz authored
This is a reland of eb453679 Original change's description: > cppgc: Rework testing GC infrastructure > > Instead of moving the stand-alone logic to the base heap, allows > specific heaps to override their stand-alone GC behavior. This allows > CppHeap to reuse the unified heap bottlenecks and visitors for > testing. This works as long as any v8 references are empty as there is > no Isolate attached to the heap in this case. > > - Reverts parts of https://crrev.com/c/2716291 > - Relands parts of https://crrev.com/c/2718146 > > In addition, add tests covering v8::CppHeap and cppgc::Heap. > > Bug: chromium:1056170 > Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73077} Bug: chromium:1056170 Change-Id: I415c837a7cf275c636172485dc4101c237a7d76b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723253 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73081}
-
Francis McCabe authored
This reverts commit eb453679. Reason for revert: Breaks MSAN: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/37053 Original change's description: > cppgc: Rework testing GC infrastructure > > Instead of moving the stand-alone logic to the base heap, allows > specific heaps to override their stand-alone GC behavior. This allows > CppHeap to reuse the unified heap bottlenecks and visitors for > testing. This works as long as any v8 references are empty as there is > no Isolate attached to the heap in this case. > > - Reverts parts of https://crrev.com/c/2716291 > - Relands parts of https://crrev.com/c/2718146 > > In addition, add tests covering v8::CppHeap and cppgc::Heap. > > Bug: chromium:1056170 > Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73077} Bug: chromium:1056170 Change-Id: Ieda44c07d08f837a6632f96b8db6d5bec87dd521 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2723216 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73078}
-
Michael Lippautz authored
Instead of moving the stand-alone logic to the base heap, allows specific heaps to override their stand-alone GC behavior. This allows CppHeap to reuse the unified heap bottlenecks and visitors for testing. This works as long as any v8 references are empty as there is no Isolate attached to the heap in this case. - Reverts parts of https://crrev.com/c/2716291 - Relands parts of https://crrev.com/c/2718146 In addition, add tests covering v8::CppHeap and cppgc::Heap. Bug: chromium:1056170 Change-Id: I47dc88c7f0e4961a1aadd60da9b05bff4dcfb27a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718612 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73077}
-
- 25 Feb, 2021 1 commit
-
-
Omer Katz authored
This CL adds WasConservativeGC to HeapState which reports whether the last GC was finalized conservatively. The state is updated at the end of marking atomic pause. Currently the library integration in Blink ignores the stack state when scheduling a forced GC for testing. That means that we always schedule another GC after a forced GC. This causes a crash in web_tests which assume no GC is happening between forced GCs if the thread is not idle and no new allocations happen. Usage CL: https://crrev.com/c/2720201 Drive by: Fix stack state for MarkingVerifier in CppHeap. Bug: chromium:1056170 Change-Id: I6ad23ed7c1a53fae96425b968bc4b3eb18ce80b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720279 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73064}
-
- 24 Feb, 2021 2 commits
-
-
Zhi An Ng authored
This reverts commit ea818f07. Reason for revert: Test failure in Linux64 UBSan https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/15251/overview Original change's description: > cppgc: Fix testing APIs that enable garbage collection > > The APIs require that the CppHeap is moved into a permanently detached > state that moves the heap out of a no-gc scope. > > Bug: chromium:1056170 > Change-Id: I1fc08451b3fdfaa4cfe58e6a1ddbe5dbed7efe5c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718146 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73025} Bug: chromium:1056170 Change-Id: Id00cb18274cbe7d255e7e95bd9e8e4dbc4b0c6e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718658 Auto-Submit: Zhi An Ng <zhin@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73029}
-
Michael Lippautz authored
The APIs require that the CppHeap is moved into a permanently detached state that moves the heap out of a no-gc scope. Bug: chromium:1056170 Change-Id: I1fc08451b3fdfaa4cfe58e6a1ddbe5dbed7efe5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718146 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73025}
-
- 22 Feb, 2021 1 commit
-
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: Ifb5a2cfa5f3fd2fbfecb84b1bf8f3dc464a823ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2711264Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72901}
-
- 19 Feb, 2021 1 commit
-
-
Michael Lippautz authored
Forced GCs are used in testing configurations and under memory pressure. Use atomic sweeping for C++ in those scenarios as testing GCs require that destructors are immediately invoked after the GC call. Bug: chromium:1056170 Change-Id: I03c13fa7a30cf74076807834c5e6d0c1fe52bb87 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704543 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72873}
-
- 16 Feb, 2021 1 commit
-
-
Omer Katz authored
On-heap hash maps in blink are limited to Member types and non-traceable types. The only exception to that is TraceWrapperV8Reference. Thus ephemerons can have non-gced traceable values. This values should not be pushed to the marking worklist since we expect everything in the worklist to be marked and not in construction (but these values don't have an object header). Instead, when getting a non-gced value we should immediately trace it. This is only relevant to ephemerons. Any other case would go through Trace(const T&) that dispatches to the TraceTrait. Blink has 1 use case of HeahHashMap from WeakMember<ScriptWrappable> to TraceWrapperV8Reference. Bug: chromium:1056170 Change-Id: Ia8f341d6bb1fc8fd3655b2be66b7814896549d1e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2696648Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72763}
-
- 15 Feb, 2021 1 commit
-
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I561166a7f1be658c5c35aa1caf8dbbbd2d720ab3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692815 Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72754}
-
- 11 Feb, 2021 2 commits
-
-
Omer Katz authored
HeapBase::CollectStatistics returns a HeapStatistics struct that can be used by blink to populate a memory dump. Bug: chromium:1056170 Change-Id: Ic147a02ba6b4aa77bf92cfca067da70b7e1af55b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2689181 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72660}
-
Michael Lippautz authored
WrapperDescriptor is used to describe how JS wrapper objects can be inspected to find C++ wrappable objects. In addition, to specifying which embedder fields are used to find type and instance, the descriptor also provides and embedder id that identifies garbage-collected objects. It is expected that the first field of the type is a uint16_t with that id. Bug: chromium:1056170 Change-Id: I9cf8d79db972f2dea023114fd5a567e89a3bf373 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2688399Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72657}
-
- 09 Feb, 2021 2 commits
-
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I225f81235fe9d4f8fd26cc49446534e3f6c884ea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2684834 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72609}
-
Michael Lippautz authored
The detached CppHeap allows for allocation without invoking garbage collections. Allocated bytes are reported on the first allocation after the CppHeap has been attached to an Isolate. States: - Detached: Allow only allocation; - Attached: Unified heap GCs; - Termination GC: Require detached state; Destruction: - Heap::TearDown: Detach if attached; - ~CppHeap: Detach if attached; Bug: chromium:1056170 Change-Id: I95ce029f36a7f10392257080b6e23e13cc0fc7b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2672940 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72579}
-
- 08 Feb, 2021 1 commit
-
-
Michael Lippautz authored
This change avoid dispatching a write barrier during the atomic pause. The dispatch can generally be triggered through pre-finalizers. In future, further checks may be added to avoid mis-use of pre-finalizers. Bug: chromium:1056170, chromium:1175560 Change-Id: I119e18372633b2375f60e17b4c881f68bb20bf66 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679685Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72560}
-
- 03 Feb, 2021 1 commit
-
-
Michael Lippautz authored
Adds testing API that can only be used after enabling it on a heap. The call that enables testing is only provided via v8_for_testing or cppgc_for_testing build targets which protects against misusing from production code. Change-Id: I24a8f5543a2bb479481384e2c555d231383e5d12 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667513Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72503}
-
- 29 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Adds getters for GC phases to be used by advanced embedders to ensure and check consistency conditions as needed. Bug: chromium:1056170 Change-Id: Ia0b219f838bf31f0edbfe40585b95bb5eafa734d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2658328Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72430}
-
- 28 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Allows for prohibiting GCs and will result in a crash in case a GC finalization event is triggered. Complements NoGarbageCollectionScope which ignores GC finalization events. Bug: chromium:1056170 Change-Id: Ie2a72a8675462b24692225af17c8f284318337ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2656260Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72413}
-
- 27 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Add reporting of C++ memory to V8's heap growing strategy via existing EmbedderHeapTracer interface. In addition, introduce API-level NoGarbageCollectionScope which allows to temporarily avoid scheduling GC finalizations. Replace internal NoGCScope with NoGarbageCollectionScope and remove NoGCScope. Bug: chromium:1056170 Change-Id: I0ad3dfd67eb81f09f48e2ab87f9bbece7491ed71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2650210 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72345}
-
- 22 Jan, 2021 2 commits
-
-
Omer Katz authored
CppHeap was missing a scope for incremental marking. This CL also introduces NestedEmbedderStepScope which is used for identifying nested samples to avoid double accounting in UMA. Bug: chromium:1056170 Change-Id: I8bba3fbfe6d098fe6861d1cfe5df8b88b4ac0fea Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642260 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72265}
-
Omer Katz authored
This CL introduces cppgc::HistogramRecorder api which is similar to the v8::metrics::Recorder api and is used by cppgc to report histogram samples to embedders. Embedders should implement the api if they want to collect histograms and provide an instance of it on heap creation. CppHeap uses an adaptor class that implements the HistogramRecorder api and is used to forward the relevant info to the relevant v8::metrics::Recorder. The api used 3 data structures: 2 for incremental steps that need to be reported as they come (marking and sweeping) and 1 for the end of a GC cycle that aggregates statistics over the entire cycle. The data structure only provide the "raw" samples (e.g. atomic mark time, incremental mark time, etc...). The embedder is expected to compute aggregate histogram on its own (e.g. overall marking time). Bug: chromium:1056170 Change-Id: If63ef50a29a21594f654edb83084598980d221ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642258 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72256}
-
- 21 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Provide a way to trigger a write barrier when updating the embedder fields. In future, such a mechanism should be encapsulated into V8. Bug: chromium:1056170 Change-Id: I4e43362993c3e58d5bebdd58a7d46a39c0aa4f06 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640419Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72227}
-
- 19 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Termination GCs are used to destroy remaining C++ object on the managed heap to free potential off-heap memory. This is important for gracefully shutting down workers. Drive-by: Add guard prohibiting recursive sweeping calls on the mutator thread. Bug: chromium:1056170 Change-Id: I02ea3b632d38f5beab18cc8f077cf717ed877909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2631504 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#72155}
-
- 07 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Previously, for wrapper/wrappable pairs, only JS object size was accounted for. With this change, the C++ part is also accounted for. Change-Id: Ibd945cb28c808d8c01fa41453f94a6de9883b764 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2615258Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71959}
-
- 10 Dec, 2020 1 commit
-
-
Omer Katz authored
Add fields to HeapOptions to denote on heap creation that the heap does not support incremental/concurrent marking/sweeping. This only applies to standalone heaps. When triggering a GC (either explicitly or by the heap growing heuristics), the given config is limited to not trigger unsupported marking/sweeping types. Bug: chromium:1156170 Change-Id: Id7b5cf82962e7c40920f942df9415d798e2b6686 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2581961 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71698}
-
- 01 Dec, 2020 1 commit
-
-
Michael Lippautz authored
Adds publicly callable version of write barrier for TracedReferenceBase. Bug: chromium:1056170 Change-Id: Ie45b4ebbe91d9f0e8f76b521dcbfd931232adcf6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565248Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71524}
-
- 30 Nov, 2020 2 commits
-
-
Omer Katz authored
Update scope names to match the new scope naming scheme we settled on. This CL also: 1) Adds high-level scopes for atomic mark/sweep/compact and incremental mark/sweep. 2) Remove scopes that will now become redundant (i.e. SweepAndCompact, UnifiedMarkingStep, etc.) The new scopes are no longer aligned with the existing telemetry code (gc_metric.html) in blink. Bug: chromium:1056170 Change-Id: I510269e24172f411b2a98c0a0a250a6e9fe58841 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563882 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#71480}
-
Michaël Zasso authored
ConcurrentMarkingState and MarkingStateBase are already defined in the This change fixes compilation with MSVC. v8: :internal namespace. Change-Id: Ib8a1370a0a27a90e385fd69e61036e263e1489e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562671Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michaël Zasso <mic.besace@gmail.com> Cr-Commit-Position: refs/heads/master@{#71473}
-
- 24 Nov, 2020 1 commit
-
-
Michael Lippautz authored
Exposes an opaque handle for uniformly (cppgc and V8) referring to an instance of a heap. Exposes a set of raw write barriers for advances embedders through subtle::HeapConsistency which is a mirror into write barrier internals. The following barriers are exposed: - DijkstraWriteBarrier: Regular Dijkstra-style write barrier (add to wavefront); - DijkstraWriteBarrierRange: Same as DijkstraWriteBarrier but operating on a range of slots that are composite (inlined) objects; - SteeleWriteBarrier: Regular Steele-style write barrier (retreating wavefront); Change-Id: Ib5ac280204686bf887690f72df1cdb506ea6ef70 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554601Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71381}
-
- 20 Nov, 2020 1 commit
-
-
Omer Katz authored
This reverts commit 64bf4c53. Reason for revert: fix in patchset 2 Original change's description: > Revert "cppgc: Use tracing scopes" > > This reverts commit 548fe208. > > Reason for revert: Issues on Mac64: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20-%20debug/31710 > > Original change's description: > > cppgc: Use tracing scopes > > > > The scopes themselves mostly have the same coverage as current scopes in > > blink. A few exception due to encapsulation exist and are highlighted as > > comments on the CL. > > > > Bug: chromium:1056170 > > Change-Id: I48af2cfdfd53a8caa1ab5d805d377f6f13a825bc > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540552 > > Commit-Queue: Omer Katz <omerkatz@chromium.org> > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#71285} > > TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org > > Change-Id: I20dce9309dcaeff6ea61bdc51df3a2f62c2a103f > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:1056170 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2550782 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71289} TBR=ulan@chromium.org,mlippautz@chromium.org,clemensb@chromium.org,omerkatz@chromium.org # Not skipping CQ checks because this is a reland. Bug: chromium:1056170 Change-Id: I9c57cdb3b0d310366cdf3e6fbcd1254fdc363163 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2550666 Auto-Submit: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71305}
-
- 19 Nov, 2020 4 commits
-
-
Clemens Backes authored
This reverts commit 548fe208. Reason for revert: Issues on Mac64: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20-%20debug/31710 Original change's description: > cppgc: Use tracing scopes > > The scopes themselves mostly have the same coverage as current scopes in > blink. A few exception due to encapsulation exist and are highlighted as > comments on the CL. > > Bug: chromium:1056170 > Change-Id: I48af2cfdfd53a8caa1ab5d805d377f6f13a825bc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540552 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71285} TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org Change-Id: I20dce9309dcaeff6ea61bdc51df3a2f62c2a103f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2550782Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71289}
-
Omer Katz authored
The scopes themselves mostly have the same coverage as current scopes in blink. A few exception due to encapsulation exist and are highlighted as comments on the CL. Bug: chromium:1056170 Change-Id: I48af2cfdfd53a8caa1ab5d805d377f6f13a825bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540552 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#71285}
-
Omer Katz authored
This CL adds tracing scopes for the various cppgc classes. Scopes use TRACE_EVENT_BEGIN and TRACE_EVENT_END macros to report trace events. To do so they need to include trace-event.h. For unified heap builds, trace-event.h forwards to v8's src/tracing/trace-event.h. For other builds, trace-event.h provides a subset of src/tracing/trace-event.h that covers just the parts used by cppgc. This CL covers what we need for traces and blink gc metrics (up to renaming events from BlinkGC.* to CppGC.*). UMA and UKM are not yet handled. Bug: chromium:1056170 Change-Id: Id92e84b27259ff0aadae7692f3d79d30896fb8e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540548 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#71284}
-
Omer Katz authored
This is required for enabling scopes such that NotifySweepingCompleted is not called from within a scope. Bug: chromium:1056170 Change-Id: Ia66aa4de8c22bfa7dfe1e02ee1e0d3ad088f7bf6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2549761Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71282}
-
- 17 Nov, 2020 1 commit
-
-
Michael Lippautz authored
Allows embedders to allocate C++ objects on the internal managed C++ heap. Bug: chromium:1056170 Change-Id: Ibd81d0fc915478a81f14e8ab12a631e442790f04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2536642Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71225}
-