- 08 Jun, 2022 1 commit
-
-
Leszek Swirski authored
Anyone using CopyablePersistentTraits should be using v8::Global, so deprecate it and fix the uses in V8. Bug: v8:12915 Change-Id: I25e6f2a03e070db9e9af9bbd9ea8cbc0f838c5ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3669254Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#81001}
-
- 03 Jun, 2022 1 commit
-
-
Clemens Backes authored
Extend the effect of --freeze-flags-after-init to also protect updates of individual flags instead of only the API. For this, we wrap each flag in a {FlagValue} class which implicitly converts to the value of the flag. Some cases still require the explicit {value()} accessor though. That accessor is {constexpr}, in contrast to the implicit conversion, because otherwise clang emits a lot of warnings about dead code within "if (FLAG...)" scopes. R=cbruni@chromium.org Bug: v8:12887 Change-Id: I87d3457e49ceb317d34d6a21cf09c520d4171eb5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3683321Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#80938}
-
- 01 Jun, 2022 1 commit
-
-
Camillo Bruni authored
In https://crrev.com/c/3522896 we changed the last_id_ to be a member variable. This subtly changed how profile id's were generated. This CL changes this part back to a static variable that guarantees process-wide unique profile ids. Bug: chromium:1330726, chromium:1297283 Change-Id: I5f3dddcbbc156d0dee7d1eedde8a731c53d080dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3684289 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80902}
-
- 19 May, 2022 1 commit
-
-
Stephen Roettger authored
Bug: chromium:1310790 Change-Id: I739161f47fc1fc32d832f106d5ef6b7df4aed213 Fixed: chromium:1310790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3654096Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Stephen Röttger <sroettger@google.com> Cr-Commit-Position: refs/heads/main@{#80639}
-
- 13 May, 2022 1 commit
-
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 09 May, 2022 1 commit
-
-
Camillo Bruni authored
In preparation of renaming i::CodeEventDispatcher to i::Logger Bug: v8:12795, chromium:1316443 Change-Id: I28e129130852d41cf5e464e083bc27cff97a0fff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3623543Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80427}
-
- 06 May, 2022 1 commit
-
-
Michael Lippautz authored
- Repurpose flag `treat_global_objects_as_roots` when taking a heap snapshot for toggling whether internals should be exposed (to `hide_internals`). - Use the toggle in creating heap snapshots for exposing class names as object names for C++ objects that have not explicitly been given a name. Change-Id: I77d71babfdfe53269964fe81ed985037a431c28b Bug: chromium:1321620 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3623740Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80391}
-
- 27 Apr, 2022 1 commit
-
-
Dominik Inführ authored
Introduce a bottleneck for right-trimming an object. In a subsequent CL we will use this method to update the cached size of invalidated objects. This CL also tries to clean-up the various CreateFillerObjectAt methods. CreateFillerObjectAtRaw is now the internal method for all these methods. After moving right-trimming to NotifyObjectSizeChange, both CreateFillerObjectAt and CreateFillerObjectAtBackground don't need those arguments for clearing slots or memory anymore. Bug: v8:12578, chromium:1316289 Change-Id: I6ff0bfaced3e0a1765152700e68a4ad33a155723 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607992Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#80200}
-
- 22 Apr, 2022 1 commit
-
-
Seth Brenith authored
One of the biggest categories in heap snapshots is named “(system)”, which gives developers no indication of why all that memory is used or what they might do to reduce it. In this change, I propose that we create a new category for Maps, DescriptorArrays, and related objects, and call this new category “(object shape)” in the devtools. I think that this category name would be more meaningful, while still grouping those objects together so that they mostly stay out of the way. Bug: v8:12769 Doc: https://docs.google.com/document/d/1a-6V_2LIJuRcsppwh6E18g8OSnC9j6gN4ao2gq--BiU Change-Id: I282a7b87c34ca6ed371ff32f3c7332d794ae42ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3587974Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#80123}
-
- 19 Apr, 2022 1 commit
-
-
Camillo Bruni authored
i::Logger => i::V8Log i::PerfJitLogger => i::LinuxPerfJitLogger i::PerfBasicLogger => i::LinuxPerfBasicLogger Note: V8Log is currently still managing instances of other loggers, this functionality will be moved to a separate class in the future. Bug: v8:12795, chromium:1316443 Change-Id: Id1b44e65abb7819eb6d6c718a1baa9ed61ad51aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593133Reviewed-by:
Jakob Linke <jgruber@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#80016}
-
- 14 Apr, 2022 1 commit
-
-
Camillo Bruni authored
- Rename CodeEventDispatcher to LogEventDispatcher - Use std::vector instead of std::unordered_set, dispatching speed is more important than addition/removal of listeners - Changing the LogEventDispatcher code to be more code-search friendly - Use a raw pointer for the LogEventDispatcher instance on the isolate it's a single-owned entity Bug: v8:12795 Change-Id: I139f05431519c18cba33d1506467be918f52658c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3582125Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Jakob Linke <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79990}
-
- 13 Apr, 2022 1 commit
-
-
Corentin Pescheloche authored
With the switch to primitive ids make sure no profiler can be returned with the same id. Bug: chromium:1297283 Change-Id: I9cf944e9a472ea45679feb0f30137dba95a32ca6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3582786 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79975}
-
- 06 Apr, 2022 2 commits
-
-
Corentin Pescheloche authored
This CL adds support for interacting with CpuProfile with their integer id. A String ID is problematic because it forces an allocation when stopping or cancelling a Profiler which can happen during a GC when this is not allowed. Change-Id: I9a8e754bd67214be0bbc5ca051bcadf52bf71a68 Bug: chromium:1297283 Co-Authored-By:
Nicolas Dubus <nicodubus@fb.com> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522896Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Commit-Queue: Corentin Pescheloche <cpescheloche@fb.com> Cr-Commit-Position: refs/heads/main@{#79835}
-
Seth Brenith authored
Currently, the category named “(compiled code)” contains Code, SharedFunctionInfo, and Script objects. However, there are various other object types that are allocated per script function, such as BytecodeArray and FeedbackVector. There are also plain FixedArrays which are used for function-specific data such as polymorphic feedback and code deoptimization data. I propose we move all of this to the “(compiled code)” category, because this memory usage is related to the number of functions in the script, the size of those functions, and/or the number of times those functions have been called. Bug: v8:12769 Change-Id: Ib5e0265a9ef88063596c17419f5b65f683156c52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3569876Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#79827}
-
- 14 Mar, 2022 1 commit
-
-
Samuel Groß authored
Instead of implementing ExternalObjects as plain JSObjects with a single EmbedderDataSlot pointing to a Foreign containing the actual raw pointer, this CL now creates a new JSExternalObject type that directly contains the external pointer. As a side-effect of this refactoring, nullptr values are now no longer valid for ExternalObjects. Change-Id: Ic8ff334681c966e823ca70f34dd1efaaa21a0789 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3513234Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79459}
-
- 04 Mar, 2022 1 commit
-
-
Seth Brenith authored
The heap snapshot generator is meant to apply descriptive names to Code objects, but was using CodeDataContainer instead. Attempting to set the name of the CodeDataContainer instances did nothing because they already had the name "system / CodeDataContainer". Bug: v8:11880 Change-Id: If7bd115bde36386d283d319c1ee28df565a39569 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3498849Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#79368}
-
- 02 Mar, 2022 1 commit
-
-
Camillo Bruni authored
GetConstructorName might allocate and thus triggers gcmole warnings. This is a temporary workaround until the called function is cleanly fixed. Bug: v8:12674 Change-Id: I43bd190d887abcd79116e8c328ceedfb0c9fad79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497769 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#79333}
-
- 23 Feb, 2022 1 commit
-
-
Corentin Pescheloche authored
To avoid leaking VMState cross origin leverage existing FilterContext to filter out VMSTates. GC State is the exception as it is not coupled to any native context and is always included. Bug: chromium:1263871 Change-Id: I5cab8620460f4db24fa183c891cb0c43996e95c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3465735 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79234}
-
- 21 Feb, 2022 2 commits
-
-
Tobias Tebbi authored
This reverts commit 38db63b2. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/42484/overview Original change's description: > [profiler] opt-in tracing setting > > CpuProfiler includes logic tracing that is only relevant in > the context of TracingCpuProfiler. > Adds a setting to disable tracing for SamplingCpuProfiler. > > Change-Id: Idcac03dd3f368b5fcd48a532d5cfe60966a64003 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3433219 > Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79190} Change-Id: Ib39f3790c5ba63ba2609cd8e5f6c218cd8e96ef7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3477102 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#79191}
-
Corentin Pescheloche authored
CpuProfiler includes logic tracing that is only relevant in the context of TracingCpuProfiler. Adds a setting to disable tracing for SamplingCpuProfiler. Change-Id: Idcac03dd3f368b5fcd48a532d5cfe60966a64003 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3433219 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79190}
-
- 07 Feb, 2022 1 commit
-
-
Patrick Thier authored
We introduce a new information type ForwardingIndex to be stored in the Name::Hash field (to be used in the future). To do so we use the 2 least significant bit to distinguish types of information stored in the hash field (in contrast to only bit 1 to distinguis integer indicies from "real" hashes). This motivated a refactor to use base::BitField for the hash field. Bug: v8:12007 Change-Id: I651c86807edfc218792d0db12379374eaa50c930 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3432385Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#78975}
-
- 05 Feb, 2022 1 commit
-
-
Shu-yu Guo authored
Currently the Isolate is gotten off of the object that the operation is being performed on. Shared objects return the shared Isolate, which is incorrect as it shouldn't be used to run JS, nor does it have HandleScopes open. Plumb the executing Isolate through. Bug: v8:12547 Change-Id: I428d21f5e6a9c51c8c7c4577395bf27c8706bdb4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3441033Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78963}
-
- 04 Feb, 2022 2 commits
-
-
Seth Brenith authored
The web app owner who notified me about bugs v8:12112 and v8:12126 asked me a reasonable question: "how am I ever supposed to trust the retaining paths in the devtools, if the heap snapshot is generated by a different component than the actual marking code?". This change is my attempt to answer that question. If verification is enabled, the heap snapshot generator will visit each heap object with a realistic marking visitor to find all references from that object. It will then check that those references match the HeapGraphEdges in the snapshot. I also considered the idea that we could collect retaining information during the last GC cycle before taking the heap snapshot, or during an extra GC cycle immediately after. However, running the full GC provides the embedder with the opportunity to run arbitrary code (including JS) both before and after PerformGarbageCollection, so there is no clear guarantee that the heap state during the snapshot actually matches the heap state during marking. Bug: v8:12112, v8:12126 Change-Id: Id29e75ecf9eee19e35daedbdb4a3e1df64785380 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3299590Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78952}
-
Clemens Backes authored
TimeTicks::HighResolutionNow is identical to TimeTicks::Now since 2018 (https://crrev.com/c/997153), but the declaration still has a wrong comment about a non-existing DCHECK. In order to avoid confusion, remove the redundant method and just use TimeTicks::Now everywhere. Drive-by: Make IsHighResolutionTimer "inline" instead of "V8_INLINE" because it will only be called once anyway. R=mlippautz@chromium.org Bug: v8:12425 Change-Id: I31dc65f8c1ac910862e070e60e928054d4921154 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439909Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#78944}
-
- 20 Jan, 2022 2 commits
-
-
Dominik Inführ authored
So far this flag was process-global, so if one isolate used v8::Locker all isolates were forced to use v8::Locker. With the shared isolate now being a thing that routinely gets migrated between different threads, all users of the shared isolate would be forced to use v8::Locker. So we now store that flag on the isolate such that using v8::Locker for the shared isolate does not affect other isolates. Deprecate v8::Locker::WasEverUsed() at the same time. Bug: v8:11708 Change-Id: I60531f084cc1b1b113620c46f5bed20511f52c26 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401595Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78712}
-
Jakob Gruber authored
Bug: v8:12552 Change-Id: I99e4d8e8aeba5460f11e54cc1b2bcaea98a5276d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3400964Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78698}
-
- 17 Jan, 2022 1 commit
-
-
Victor Gomes authored
This is a reland of f605d778 Adds a GC safe (using handles) and unsafe versions of the iterator. V8HeapExplorer needs an unsafe one, since it does not allow the creation of handles. Original change's description: > [runtime] Adds LocalNameIterator > > ScopeInfo will contain either inlined (array) local names or > a hash table (names => index) containing the local names. > > We abstract iteration with LocalNameIterator and remove > ContextLocalName since accessing a local name by index in > the hash table would be expensive. > > This CL only implements the iterator for the array. > > Bug: v8:12315 > Change-Id: I2c62802652fca1cf47815ce8768a3f7487f2c39f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386603 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78623} Bug: v8:12315 Change-Id: I6288a08b9c342cd3a9cabcb621c40bb44c08c9c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3394706Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#78653}
-
- 14 Jan, 2022 2 commits
-
-
Leszek Swirski authored
This reverts commit f605d778. Reason for revert: Segfaults: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/36908/overview Original change's description: > [runtime] Adds LocalNameIterator > > ScopeInfo will contain either inlined (array) local names or > a hash table (names => index) containing the local names. > > We abstract iteration with LocalNameIterator and remove > ContextLocalName since accessing a local name by index in > the hash table would be expensive. > > This CL only implements the iterator for the array. > > Bug: v8:12315 > Change-Id: I2c62802652fca1cf47815ce8768a3f7487f2c39f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386603 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Victor Gomes <victorgomes@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78623} Bug: v8:12315 Change-Id: Ibabe231f4357a3dd02d24b89847d579b83867a1a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386385 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78625}
-
Victor Gomes authored
ScopeInfo will contain either inlined (array) local names or a hash table (names => index) containing the local names. We abstract iteration with LocalNameIterator and remove ContextLocalName since accessing a local name by index in the hash table would be expensive. This CL only implements the iterator for the array. Bug: v8:12315 Change-Id: I2c62802652fca1cf47815ce8768a3f7487f2c39f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386603Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#78623}
-
- 13 Jan, 2022 1 commit
-
-
Lei Zhang authored
Use grep to check for obviously unneeded includes. e.g. headers that include <vector> but does not contain "std::vector". Change-Id: I43a9e9f01e072fd495918d28ca4cdad5cfa0294c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3354400Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/main@{#78613}
-
- 16 Dec, 2021 1 commit
-
-
Igor Sheludko authored
This CL * removes Builtins::codet() and Builtins::codet_handle() returning builtins as CodeT objects in favor of code() and code_handle(), * removes BUILTIN_CODET macro in favor of BUILTIN_CODE, * removes CodeDataContainer table. Bug: v8:11880 Change-Id: Ic868549030744b0ff3ea5d5edbfcacf77c6de96d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3344650Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78399}
-
- 07 Dec, 2021 1 commit
-
-
Corentin Pescheloche authored
This is a reland of 2d087f23 The changes are : * Fix redundant reinterpret_cast in test file for MSVC failure https://crbug.com/v8/12476 * Fix flaky test https://crbug.com/v8/12475 If a sample is captured during a GC, no embedder context is obtained defaulting to EMPTY. This is the expected behavior, made it in clear in implementation and in test. * Synchronized the embedder context filter behavior with existing native context filter. Original change's description: > Add APIs to surface VMState and new EmbedderState to CpuProfile samples. > > EmbedderState: > * An EmbedderState is defined as a value uint8_t and a v8::context used > for filtering. > * EmbedderStates are stack allocated by the embedder, construction and > destruction set/unset the state to the isolate thread local top. > * A v8::context is used to filter states that are added to a CpuProfile, > if the CpuProfile do not have a ContextFilter set or if contexts do not > match, state defaults to Empty. > > * v8:StateTag is already propagated all the way to a Sample, simply add > an API to surface it. > > VMState: > Change-Id: I7eed08907360b99b0ad20ddcff59c95c7076c85e > Bug: chromium:1263871 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3188072 > Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78250} Bug: chromium:1263871 Change-Id: Ief891b05da99c695e9fb70f94ed7ebdecc6c3b7b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3320037 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78281}
-
- 06 Dec, 2021 4 commits
-
-
Camillo Bruni authored
This reverts commit 2d087f23. Reason for revert: - Causing MSVC build failures: https://crbug.com/v8/12476 - Causing flaky failures: https://crbug.com/v8/12475 Original change's description: > [profiler] Surface VM & Embedder State > > Add APIs to surface VMState and new EmbedderState to CpuProfile samples. > > EmbedderState: > * An EmbedderState is defined as a value uint8_t and a v8::context used > for filtering. > * EmbedderStates are stack allocated by the embedder, construction and > destruction set/unset the state to the isolate thread local top. > * A v8::context is used to filter states that are added to a CpuProfile, > if the CpuProfile do not have a ContextFilter set or if contexts do not > match, state defaults to Empty. > > * v8:StateTag is already propagated all the way to a Sample, simply add > an API to surface it. > > VMState: > Change-Id: I7eed08907360b99b0ad20ddcff59c95c7076c85e > Bug: chromium:1263871 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3188072 > Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78250} Bug: chromium:1263871, v8:12475, v8:12476 Change-Id: I02670b1ed3bb863033208369227642a7419fce00 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3315444 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78256}
-
Corentin Pescheloche authored
Add APIs to surface VMState and new EmbedderState to CpuProfile samples. EmbedderState: * An EmbedderState is defined as a value uint8_t and a v8::context used for filtering. * EmbedderStates are stack allocated by the embedder, construction and destruction set/unset the state to the isolate thread local top. * A v8::context is used to filter states that are added to a CpuProfile, if the CpuProfile do not have a ContextFilter set or if contexts do not match, state defaults to Empty. * v8:StateTag is already propagated all the way to a Sample, simply add an API to surface it. VMState: Change-Id: I7eed08907360b99b0ad20ddcff59c95c7076c85e Bug: chromium:1263871 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3188072 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78250}
-
Jakob Gruber authored
The same Code object can and does deopt multiple times when called recursively and thus present on the stack in >1 activations. Fixed: v8:12458 Change-Id: Ib34d6bae4aa0ea2e31731c5a6e8e85a878362621 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3314824 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78246}
-
Igor Sheludko authored
In particular * use variadic templates in BodyDescriptorApply(), * ensure all the relevant classes have BodyDescriptor definition, * ensure "objects-body-descriptors[-inl].h" headers are included only where necessary. Bug: v8:12425 Change-Id: I7a95ed94bf62952e3d22d419d4a65ad2fe959d57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3312273Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78242}
-
- 30 Nov, 2021 2 commits
-
-
Seth Brenith authored
Currently, JSFinalizationRegistry has a BodyDescriptor that iterates next_dirty as a custom weak field, and it has a WeakListVisitor that cleans up any items from the list that should be removed. However, none of that code is used, because JSFinalizationRegistry objects are created with visitor ID kVisitJSObjectFast. This change gives them a custom visitor ID so that next_dirty can be treated as weak. Bug: v8:12430 Change-Id: I31c1935257ad508b13a3e684662d2ca406d8ed19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307096 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78167}
-
Igor Sheludko authored
... by using cage-friendly versions of HeapObject::IsBlah(), HeapObject::map(), HeapObject::map_word() and HeapObject::Size() on hot paths. Bug: v8:11880 Change-Id: I70b72e46cc867b6b2ddbc48cd5e6a74ae4208397 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3308800Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78161}
-
- 29 Nov, 2021 1 commit
-
-
Seth Brenith authored
JSWeakRef and WeakCell both have weak pointers, which should be marked as such in heap profiler snapshots. Bug: v8:12112 Change-Id: Ie7aaa2cd3e44552427679e650e462d64704725d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3299592Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#78133}
-
- 24 Nov, 2021 1 commit
-
-
Ng Zhi An authored
Make it an enum class too, and fix all the enums to follow style guide. Fixes a -Wshadow warning, NONE shadows PropertyAttributes::None. Bug: v8:12244,v8:12245 Change-Id: I9a8181a35d5690a32a6ce58587f0d8704aa1ab40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3291696 Auto-Submit: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78062}
-