- 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
Embedders may use cppgc (or v8::CppHeap) earlier than V8's Isolate and platform are initialized. Require explicit initialization of cppgc to avoid recurring init calls with potentially conflicting parameters. Bug: chromium:1056170 Change-Id: I613452954b322c9a5bf074eefd25107b4579958c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2682648Reviewed-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@{#72573}
-
- 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}
-
- 05 Feb, 2021 1 commit
-
-
Michael Lippautz authored
Some types of supported low-level write barrier only requires passing a slot, which may not be even part of a heap object but stack. This complicates the situation, as even with caged heap, there's no way to distinguish a stack and heap slot. Solve this by passing an optional callback that can lazy be used to get the heap. This can be used by the embedder to retrieve the heap from e.g. TLS if needed. This aligns the barrier with Oilpan in Blink. Bug: chromium:1056170 Change-Id: I1e5d022ab17a2614a67b6ef39ed12691bcbd0ac6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2675924Reviewed-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@{#72550}
-
- 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}
-
- 02 Feb, 2021 1 commit
-
-
Michael Lippautz authored
- Allow downcasting construciton and assignment; - Add WeakCrossThreadPersistent::Lock() that safely retrieves a strong handle for a weak reference; Bug: chromium:1056170 Change-Id: I5f8d85a87c9955506dd87723ffb4c80d66770c04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2663160 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72468}
-
- 29 Jan, 2021 2 commits
-
-
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}
-
Omer Katz authored
Tolerance was set to 50 microseconds. This is not enough and causes flaky failures. Tolerance is needed because we record milliseconds and an empty scope can still take a few milliseconds to create and destroy. Increasing the tolerance to 500 microseconds should suffice and makes sense for the test. All expected values are in 10s of milliseconds, so half a millisecond tolerance should be reasonable. Bug: v8:11367 Change-Id: I2d284efe5176ec9938b6a378f4b5f1bda0e58781 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2659058 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@{#72426}
-
- 28 Jan, 2021 4 commits
-
-
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}
-
Michael Lippautz authored
Embedders forward the Value in TraceEphemeron as Member reference (as depicted in the API docs). Add TraceTrait<Member<T>> that forwards to TraceTrait<T> accordingly, supporting the intended use case. Bug: chromium:1056170 Change-Id: I3b247cb3553ae34d9ff5393aefeaec24068e78c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2656255 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72412}
-
Michael Lippautz authored
This allows construction and destruction of empty Persistent and friends, which simplifiest the use for embedders. Bug: chromium:1056170 Change-Id: I4286639aa5d50f9f98654b859de10bb80cbada21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2655505 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72396}
-
Omer Katz authored
Update the MetricRecorder struct to have a similar structure and similar fields to the GC struct defined in v8-metrics.h Bug: chromium:1056170 Change-Id: Ieb77412476353557134aeac5cf8f66ab257e22dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2653236Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72394}
-
- 27 Jan, 2021 5 commits
-
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: Iaa3cefc652657246fffe7998dd8faa9d008d9195 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2652496 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72370}
-
Omer Katz authored
Sweep page by page in the space until we find a slot big enough for the current allocation. Bug: chromium:1056170 Change-Id: Id6dcf2d4db20268090b4626340bbed44f67d053c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649259 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#72369}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: Ia312e96b421d596d25cccf584c2df823bd9e1ea0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2652498Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72367}
-
Michael Lippautz authored
The API allows for querying - IsAllocationAllowed: Certain GC phases prohibit allocation which can be queried; Should be mostly used for debugging checks. - IsMarking: Allows for querying whether the garbage collector is currently marking. Bug: chromium:1056170 Change-Id: I20ba5fb5be9de6694e8418fa885920eb04bd75ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649257 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@{#72359}
-
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 5 commits
-
-
Michael Lippautz authored
Users of padded objects must know the actual object size for implementing custom finalizers. Bug: chromium:1056170 Change-Id: I0ddf9066cfece0a8d18a9e6fd985d09449eea92a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2644941 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72269}
-
Michael Lippautz authored
- Adds IsGarbageCollectedWithMixin<T> to check for mixin applications. - Add documentation to all trait values. Bug: chromium:1056170 Change-Id: I22c255c36c791a5ff9b38d034f205f1e23c968ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2644951Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72268}
-
Omer Katz authored
Bug: chromium:1056170 Change-Id: I3d6cbff3e37bb541481a014056e539bd4824c37c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642259 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72266}
-
Michael Lippautz authored
The TraceTrait<T> checks whether T is a mixin to decide whether we can use the fast (arithmetic) or slow (bitmap) method to look up the HoH. Before this CL, the mixin application would also be considered as a mixin because the marker is present, resulting in all cases going through the object start bitmap. The initial intention was to use the arithmetic for the mixin applications as those inherit from GCed. Bug: chromium:1056170 Change-Id: Ib0ba82a8f98e0481d2879ebacc1ca9bd9e675858 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643395 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72262}
-
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}
-
- 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}
-
- 14 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Adds support for Member<const T> by keeping the untyped storage in MemberBase const, which is stronger than the required constness. All accesses go through BasicMember which can re-add the appropriate constness specified by the user. The same concept is applied to all Member and Persistent handles. Bug: chromium:1056170 Change-Id: I5a620258be3acb6a1b4b1437e69b8d7d1ec5ce6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2625871Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72090}
-
- 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}
-
- 27 Nov, 2020 1 commit
-
-
Omer Katz authored
When V8_USE_PERFETTO is defined, TracingController doesn't have AddTraceEvent and GetCategoryGroupEnabled methods. Bug: v8:11203 Change-Id: I05d7ff829d8b134662bc1dbe4cb56bb740185918 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562381 Auto-Submit: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71442}
-
- 26 Nov, 2020 2 commits
-
-
Santiago Aboy Solanes authored
Scopes in V8 are used to guarantee one or more properties during its lifetimes. If a scope is not named e.g MyClassScope(args) instead of MyClassScope scope(args) it will get created and automatically destroyed and therefore, being useless as a scope. This CL would produce a compiling warning when that happens to ward off this developer error. Follow-up to ccrev.com/2552415 in which it was introduced and implemented for Guard classes. Change-Id: Ifa0fb89cc3d9bdcdee0fd8150a2618af5ef45cbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555001 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#71425}
-
Omer Katz authored
Both sample are essentially the same up to string constants since cppgc's default platform started using libplatform. The only diff between the sample is whether we call v8::V8::IntializePlatform or cppgc::InitializeProcess. Drive-by: replace CPPGC_BUILD_IN_V8 with CPPGC_IS_STANDALONE which is more descriptive. Bug: chromium:1056170 Change-Id: I8fdeb59c3345af77f1bccd8b93255ab39b4d3181 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557516 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71421}
-
- 25 Nov, 2020 1 commit
-
-
Michael Lippautz authored
Refactor write barriers and split calls, as e.g. DijkstraWriteBarrier also contained logic for recording slots (cards) for the young generation. The new API exposes the following: - GetWriteBarrierType(): Retrieving the type of barrier that must be emitted; - DijkstraWriteBarrier(), DijkstraWriteBarrierRange(): Dijkstra-style write barriers; - SteeleWriteBarrier(): Steele-style write barrier; - GenerationalBarrier(): Barrier for recording slots when using multiple generations; Compilers running with -O3 optimize the DijkstraWriteBarrierPolicy down to the same instructions as before the split. Change-Id: If68839cc6357b2f568986c9ce8ca753b1e96a70a Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557514 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@{#71407}
-
- 24 Nov, 2020 2 commits
-
-
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}
-
Omer Katz authored
The CPPGC_BUILD_IN_V8 define (used for tracing) isn't propagated from v8_base_without_compiler to cppgc_base, which breaks build with perfetto. Instead use a gn args to specify standalone builds (defaulted to false) and use that to choose the right tracing implementation. Bug: chromium:1056170 Change-Id: I70bce819d45fb133b6f932a50a5d027e39f3e5b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555007 Auto-Submit: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71356}
-
- 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
-
-
Milad Fa authored
The following error is currently thrown on gcc 8: error: suggest explicit braces to avoid ambiguous 'else' Change-Id: I1498ef3f6f58874488a4e6897f488c122f4a7f76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2550841Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#71292}
-
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}
-
- 11 Nov, 2020 1 commit
-
-
Michael Lippautz authored
Adds traits for checking for Member,WeakMember, and UntracedMember types. This allows the embedder to specify its own traits and restrictions around cppgc types. Bug: chromium:1056170 Change-Id: Ibe60b774128f72f1398267edd81233c50fca6eb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2532299Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#71121}
-
- 23 Oct, 2020 1 commit
-
-
Omer Katz authored
This is a reland of 90ea9b35 Original change's description: > cppgc: Port backing store compaction. > > This CL ports the existing backing store compaction algorithm from > blink. It does not attempt to improve on the existing algorithm. > > Currently only unified heap uses the compaction implementation. It is > never triggered through standalone GCs. > > The compaction implementation resides within an internal "subtle" namespace. > > Bug: v8:10990 > Change-Id: I4aa781db1b711e7aafc34234c4fb142de84394d7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485228 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70714} Bug: v8:10990 Change-Id: I527c2042a26648d058bfe4d355527cce9a3eeadc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492331 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70736}
-
- 22 Oct, 2020 2 commits
-
-
Omer Katz authored
The test was not flaky. Instead it seems compiiler optimizations discarded of the test-allocated object such that stack scanning could no longer find it. Bug: v8:11052 Change-Id: Ie8018ccecb03b22e6c4f2dada3e6663b04c551fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2493160 Commit-Queue: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70722}
-
Omer Katz authored
This reverts commit 90ea9b35. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20-%20debug/31274? Original change's description: > cppgc: Port backing store compaction. > > This CL ports the existing backing store compaction algorithm from > blink. It does not attempt to improve on the existing algorithm. > > Currently only unified heap uses the compaction implementation. It is > never triggered through standalone GCs. > > The compaction implementation resides within an internal "subtle" namespace. > > Bug: v8:10990 > Change-Id: I4aa781db1b711e7aafc34234c4fb142de84394d7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485228 > Commit-Queue: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70714} TBR=mlippautz@chromium.org,bikineev@chromium.org,omerkatz@chromium.org Change-Id: Iadae1ee0c6c0400f0e1a0a3805be5316a1d4b979 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10990 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492330Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#70716}
-