- 25 Mar, 2021 2 commits
-
-
Zhi An Ng authored
This reverts commit 9eba2d85. Reason for revert: TSAN failures https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/14265/overview Original change's description: > [fastcall] Add fast API testing facilities to d8 > > This CL provides the minimum necessary functionality to expose fast API > for testing in mjsunit, exposing the fast path for fuzzing. It exposes > a d8.test.fast_c_api with an `add_all` method, which exercises primitive > types. On x64, all integer and floating point types are supported. On > other platforms currently only 32-bit integers are included in the test. > > Design doc: > https://docs.google.com/document/d/1KUKPfXkSRZTA2gMwaWbpQKlYfw0C-T6AE3XzC4viHbo/ > > Bug: chromium:1052746 > Change-Id: Icc824199a26dd2abd2b869f5483a39d38e4dce3e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2749154 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73670} Bug: chromium:1052746 Change-Id: Iaf5083540ddfe882a747eaa9d1d2a2a8b4ba0ec0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2787081 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73673}
-
Maya Lekova authored
This CL provides the minimum necessary functionality to expose fast API for testing in mjsunit, exposing the fast path for fuzzing. It exposes a d8.test.fast_c_api with an `add_all` method, which exercises primitive types. On x64, all integer and floating point types are supported. On other platforms currently only 32-bit integers are included in the test. Design doc: https://docs.google.com/document/d/1KUKPfXkSRZTA2gMwaWbpQKlYfw0C-T6AE3XzC4viHbo/ Bug: chromium:1052746 Change-Id: Icc824199a26dd2abd2b869f5483a39d38e4dce3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2749154Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#73670}
-
- 23 Mar, 2021 1 commit
-
-
Andreas Haas authored
Origin trials allow webpages to use experimental features even though the features are not yet enabled by default. These features will then get enabled per execution context: it is possible that the feature is enabled in one execution context but disabled in another execution context. In V8 we check for origin trials by calling a callback provided by the embedder that takes the context as a parameter and returns whether a feature is enabled in this context or not. This approach fails when a feature changes the context itself, e.g. by extending the global object. In that case the context is not available yet to check for the origin trial. To solve the problem this CL adds a new API function that can be called by the embedder to notify V8 that context with the origin trial information is finished. After that V8 can read the origin trial information from the context and extend e.g. the global object with the origin trial features. Additionally to the API this CL also adds code to enable the WebAssembly.Exception constructor conditionally, depending on whether it has been enabled by an origin trial or not. The Blink-side change: https://crrev.com/c/2775573 R=ulan@chromium.org, jkummerow@chromium.org Change-Id: Ic05c4a89eb3e0e31469e49da8767d630c43b2e00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773287Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73597}
-
- 17 Mar, 2021 4 commits
-
-
Michael Lippautz authored
Refactor SpacePolicy on a non-templated class to avoid the situation of having MakeGarbageCollectedTraitBase<T>::SpacePolicy<U> refer to different T and U which make it hard for the compiler to alias anything. Bug: chromium:1056170 Change-Id: I78eb0362d43403ad2712bcb65746eeb9f6ad44fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2769338Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73494}
-
Michael Lippautz authored
This is a reland of d76064df Original change's description: > cppgc: Rework GC info creation > > Previously, GCInfoTrait relied on the non-trivial constructor of a > static object for registering a new GCInfo object. The generated code > is required to be thread-safe which is achieved by introducing guard > variables in the compiler. > > The new version is similar to Blink in that it relies on zero > initialization of a trivially constructible atomic. > > Compared to guard variables that are created per GCInfo registration, > the atomic creates less bloat (~20bytes/type) and also results in a > better fast path. > > Minimum example: https://godbolt.org/z/qrdTf8 > > Bug: chromium:1056170 > Change-Id: I95efbbf035b655d0440c9477f5391e310e2b71fa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764750 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73463} Bug: chromium:1056170 Change-Id: I01e60beabc1d279d352361657f408f113aac768e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2767021 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@{#73471}
-
Maya Lekova authored
This reverts commit d76064df. Reason for revert: Breaking MSAN - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/37390/overview Original change's description: > cppgc: Rework GC info creation > > Previously, GCInfoTrait relied on the non-trivial constructor of a > static object for registering a new GCInfo object. The generated code > is required to be thread-safe which is achieved by introducing guard > variables in the compiler. > > The new version is similar to Blink in that it relies on zero > initialization of a trivially constructible atomic. > > Compared to guard variables that are created per GCInfo registration, > the atomic creates less bloat (~20bytes/type) and also results in a > better fast path. > > Minimum example: https://godbolt.org/z/qrdTf8 > > Bug: chromium:1056170 > Change-Id: I95efbbf035b655d0440c9477f5391e310e2b71fa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764750 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73463} Bug: chromium:1056170 Change-Id: I71960103513d6db7789d752b70727d014c2e6406 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2767020 Auto-Submit: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73466}
-
Michael Lippautz authored
Previously, GCInfoTrait relied on the non-trivial constructor of a static object for registering a new GCInfo object. The generated code is required to be thread-safe which is achieved by introducing guard variables in the compiler. The new version is similar to Blink in that it relies on zero initialization of a trivially constructible atomic. Compared to guard variables that are created per GCInfo registration, the atomic creates less bloat (~20bytes/type) and also results in a better fast path. Minimum example: https://godbolt.org/z/qrdTf8 Bug: chromium:1056170 Change-Id: I95efbbf035b655d0440c9477f5391e310e2b71fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764750Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73463}
-
- 16 Mar, 2021 1 commit
-
-
Toon Verwaest authored
Using RW to update code perturbs SMC snooping on some CPUs. This reland fixes Apple Silicon and jitless by forcing the flag off. Change-Id: Ie2cc2e4fac333cad24a129e59cbcb6b13590d6d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759515 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73425}
-
- 15 Mar, 2021 1 commit
-
-
Hong Zheng authored
Add a V8 API to update load start time for RAIL PERFORMANCE_LOAD mode Bug: v8:10947 Change-Id: If86a815f8974b47a6f4ba82c3661c21b73f39553 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423403 Auto-Submit: Hong Zheng <hong.zheng@intel.com> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73393}
-
- 12 Mar, 2021 3 commits
-
-
Michael Achenbach authored
This reverts commit 3094d598. Reason for revert: Breaks on Mac arm64: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac%20-%20arm64%20-%20release/3109 Original change's description: > [wx] Keep the execute bit while making code writable > > Otherwise SMC perturbs the icache too much it seems. > > Change-Id: Iceea779a7e3deee90efe29df568732d6ac5bcffa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2753768 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Auto-Submit: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73355} Change-Id: I4e85f6308ca22e366cdad4b621d233c3b1e3ed90 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756539 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73378}
-
Michael Lippautz authored
Actually apply the folding on allocation. Bug: chromium:1056170 Change-Id: Ief25fac49c5caff40579fd44249bba0ae82f9689 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756536 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@{#73377}
-
Ulan Degenbaev authored
Bug: v8:9380 Change-Id: I47d23dda133c3838c7f0e8e5ccfdbe3b9520684f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720306Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73375}
-
- 11 Mar, 2021 3 commits
-
-
Toon Verwaest authored
Otherwise SMC perturbs the icache too much it seems. Change-Id: Iceea779a7e3deee90efe29df568732d6ac5bcffa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2753768 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73355}
-
Michael Lippautz authored
Adds GCInfo folding that delegates GCInfo requests to the parent-most object if finalizer semantics match. Folding is disabled for builds that want exact object names as those names are also managed through GCInfo objects. Bug: chromium:1056170 Change-Id: I783aad930587853741da533d0b9b56ba160d0596 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2748588 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73339}
-
Michael Lippautz authored
Resize() is not similar to realloc() in that it allocates a new object when passed a nullptr object. Avoid corner cases around Resize(nullptr, size) where size may be problematic if non-null by just requiring a valid object. The caller can perform the necesary nullptr check. Bug: chromium:1056170 Change-Id: Ic05972ae67c2968fc3eb002a6302b44e56b41ab4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752147Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73336}
-
- 09 Mar, 2021 1 commit
-
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I89dd887a75a475f998d950e86f35c7fe2af5d67f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2743887Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73307}
-
- 08 Mar, 2021 3 commits
-
-
Michael Lippautz authored
Resize() may be used to adjust additional trailing bytes of an object. It is up to the embedder to ensure correctness in case of shrinking. Bug: chromium:1056170 Change-Id: I954df6c7440b77275cd62e4b802e8f5d39c06f9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739652 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@{#73277}
-
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}
-
Michael Lippautz authored
Add an explicit FreeUnreferencedObject() call that can be used to reclaim objects that are guaranteed to not be referenced anymore by the embedder. It is up to the embedder to ensure correctness. Change-Id: I7f2d86d9639e8b805f79a8fd0a346903f63171e5 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737301 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@{#73262}
-
- 04 Mar, 2021 3 commits
-
-
Justin Novosad authored
This missing include prevents v8-fast-api-calls.h from being included in some places in blink code. BUG=chromium:1181349 Change-Id: Ib0678c9a380b702319bd1717fac48bdc64c9b394 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2724929 Auto-Submit: Justin Novosad <junov@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#73197}
-
Michael Lippautz authored
Fixes an issue with tracing empty ephemeron values of mixin types. Bug: chromium:1056170 Change-Id: I0089df29943ba7670ec4bdfa5592a01b0ec6de04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732025Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73185}
-
Camillo Bruni authored
This reverts commit 3ba9e866. Reason for revert: Breaks libfuzzer Original change's description: > [api] Advance API deprecation > > Bug: v8:11165 > Change-Id: Id1c7abec73d5dd4824c0d84c9789a8b4ea4911ac > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726513 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73156} Bug: v8:11165 Change-Id: Ia193be7aba6fc303a9f1d6853d373787118e39e3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2732024 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73183}
-
- 03 Mar, 2021 3 commits
-
-
Camillo Bruni authored
Handles are notorious for preventing compiler optimizations. We should avoid them for simple const functions. - Mark more API functions const - Mark more String functions const Bug: v8:11195, chromium:808503, v8:11263 Change-Id: I9940e85600bc7d19027039d807b3313e2dcccdc7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2575065Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73159}
-
Camillo Bruni authored
Bug: v8:11165 Change-Id: Id1c7abec73d5dd4824c0d84c9789a8b4ea4911ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726513Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73156}
-
Alex Kodat authored
These simplify production of extra information in stack traces or dereferencing source maps in processing stack traces. While these can be managed externally, this can be very complicated in environments where scripts come from many different sources, possibly not even under embedder control. Since V8 already has easy access to this information, it's nice to share it with embedders. Bug: v8:11509 Change-Id: Ic5a1685adf4cdf456bdf7191ce815f728cf491e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2724571Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73148}
-
- 02 Mar, 2021 3 commits
-
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: Ib8df4e10aa3a459cc24ca8d89db1f39b53cc5966 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2727269 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73142}
-
Camillo Bruni authored
After deprecation and removal of the old misleading API we re-add v8::String::IsExternal which returns true for both, external one-byte and external two-byte strings. Bug: v8:10641 Change-Id: I4c66d4df891f7180c7a727a45c1fbd254a7f5c02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726512Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73137}
-
Leszek Swirski authored
Add a Utf16CharacterStream for windows-1252, which uses a table to covert from windows-1252 to the appropriate uc16 character. This fixes issues where windows-1252 encoded source was treated like latin-1. This introduces a new encoding type in the API, so embedders will have to opt-in to using this new stream. Fixed: v8:9315 Change-Id: I2e847c2d4f1727281f6be24b4743d77bb232a62d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2729338 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#73134}
-
- 26 Feb, 2021 4 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}
-
Omer Katz authored
This was causing DevTools to crush whenever I took a heap snapshot. Bug: chromium:1056170 Change-Id: Ice7b3039c21a3f902f242299939e92ba0e393c9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2720307 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73065}
-
- 25 Feb, 2021 3 commits
-
-
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}
-
Hannes Payer authored
Change-Id: I0005fe0ed7b9f00fd074161d355da430b85675ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2714703Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73052}
-
Lutz Vahl authored
TBR=hablich@chromium.org, vahl@chromium.org Change-Id: Ibbae1509e1f546c77d4ef21d42386af44f1005c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718607Reviewed-by:
Lutz Vahl <vahl@chromium.org> Commit-Queue: Lutz Vahl <vahl@chromium.org> Cr-Commit-Position: refs/heads/master@{#73043}
-
- 24 Feb, 2021 5 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}
-
Austin Eng authored
- Add a CFunctionBuilder interface to allow adding modifier flags to argument types. This will be used to support IDL attributes like [EnforceRange], [Clamp], and [AllowShared]. This CL adds only the interface, but the actual modifier flags do not exist yet as they would not be implemented. - Remove the internals of the old CFunction type inference and implement it on top of CFunctionBuilder. Bug: chromium:1052746 Change-Id: I09a7cba07105097517a8426a8eeb891393883ac6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2686686Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org> Cr-Commit-Position: refs/heads/master@{#73024}
-
Omer Katz authored
Two threads might get the same PersistentNode because the BasicCrossThreadPersistent ctor wasn't taking a lock. Then if one thread frees the node and the other initalizes it or updates its owner, we get some random object in our free list of PersistentNodes. I debug a crash in Assign(Unsafe) and Clear where the PersistentNode seemed to be allocated on stack. Empirically, adding this guard resolved it. I can't confirm in the code that the scenario above is what was happening. Drive-by: adding a few DCHECKs. Bug: chromium:1056170 Change-Id: I37d8ed5bb942a124c98d7524b7f04fe8ccb2aefd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718144 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73023}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: Ib2b2788c7d59f873583e26a0716bacbf16766c93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716291Reviewed-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@{#73010}
-