- 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 2 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}
-
- 23 Aug, 2021 1 commit
-
-
Corentin Pescheloche authored
This patchset introduces instrumentation of the memory usage of the datatructures maintained by the CPU profiler. It captures: * The total size of the strings held in StringsStorage for CodeEntries * Estimated size held by CodeMap's entries. The target is to surface that metric through telemetry to get better visibility into the memory profile of CpuProfiler. For now, STL containers overhead is ignored as it is implementation specific. Change-Id: I8c6a0cd4f14348fe8832dec1f24861befc67d700 Bug: chromium:1241491 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3101580 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#76438}
-
- 02 Jul, 2021 1 commit
-
-
Andrew Comminos authored
This resolves an issue where an inlined CodeEntry may outlive its parent when translated into a ProfileNode. Bug: chromium:1223323 Change-Id: I0427fce6a667c16d825f534333d39e463b287e31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3000682Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#75541}
-
- 16 Jun, 2021 1 commit
-
-
Andrew Comminos authored
To enable deallocation of CodeEntry objects after they're no longer being referenced by an active profile or alive on the heap, replace the |used| bit with a proper reference count maintained by a CodeMap. Bug: v8:11054 Change-Id: I3016cdbcbd1b4e8a26c3b1689e968cb2eef8e6d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2965493Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#75193}
-
- 15 Jun, 2021 2 commits
-
-
Deepti Gandluri authored
This reverts commit 8e44ee5f. Reason for revert: Reverting due to UBSan failures - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20UBSan/16888. Original change's description: > [cpu-profiler] Reference counting for code entries > > To enable deallocation of CodeEntry objects after they're no longer > being referenced by an active profile or alive on the heap, replace the > |used| bit with a proper reference count maintained by a CodeMap. > > Bug: v8:11054 > Change-Id: Id3d5941e509504415692f833e406ecdd2553d426 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2945541 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Andrew Comminos <acomminos@fb.com> > Cr-Commit-Position: refs/heads/master@{#75164} Bug: v8:11054 Change-Id: Iae3ae73014c7eafe20917cf088a569f370d9b53d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2965489 Auto-Submit: Deepti Gandluri <gdeepti@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@{#75165}
-
Andrew Comminos authored
To enable deallocation of CodeEntry objects after they're no longer being referenced by an active profile or alive on the heap, replace the |used| bit with a proper reference count maintained by a CodeMap. Bug: v8:11054 Change-Id: Id3d5941e509504415692f833e406ecdd2553d426 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2945541Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#75164}
-
- 14 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Convert Builtin to enum class - Change int-based builtin_index methods to use Builtin - Change Builtins::builtin to Builtins::code Change-Id: Id9e3bb83da97e8894ca7ca78e1e852da60675619 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949104 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75127}
-
- 07 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Add new Builtin enum - Move Builtins::Name:kXXX to Builtin::kXXX - Update existing code Follow CLs will unify the mix of using int builtin-ids and Builtins::Name to only use the new Builtin enum and changing it to an enum class. Change-Id: Ib39aa45a25696acdf147f46392901b1e051deaa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905592 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#74995}
-
- 21 Apr, 2021 1 commit
-
-
Andrew Comminos authored
As we can still intend to run the web-exposed profiler outside of an origin-isolated environment, add support back for filtering by v8::Context. This reverts commit 05af3681. Bug: chromium:956688 Change-Id: Idd98bea3213b5963f689a04de6c3743073efc587 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785806Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#74112}
-
- 22 Mar, 2021 1 commit
-
-
Andrew Comminos authored
Propagates CodeDeleteEvents to the CPU profiler based on finalizers registered in a WeakCodeRegistry, which tracks heap objects for weakly owned CodeEntries. Bug: v8:11054 Change-Id: I4c1f7885e982241724ca9f284f864da008ce9d75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2751606Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#73585}
-
- 16 Feb, 2021 1 commit
-
-
Nicolas Dubus authored
samples being discarded - Passed in as CpuProfilingOptions parameter, client is responsible for determining if function is still safe to execute. Includes unit tests - Client (blink) side CR: https://chromium-review.googlesource.com/c/chromium/src/+/2649617, - Client (blink) side CR requires this to be pushed prior to it being pushed Change-Id: I3ef4640186115d4e14c1b73f902c889c776e310f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2652206 Commit-Queue: Nicolas Dubus <nicodubus@fb.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#72794}
-
- 12 Feb, 2021 1 commit
-
-
Andrew Comminos authored
When the CPU profiler receives a bytecode flush event, ensure that we clear the appropriate CodeEntry. Bug: v8:11054 Change-Id: I94e771e42192b75ea6d317738e4f2d5b76533dc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2691826Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#72684}
-
- 26 Jan, 2021 2 commits
-
-
Adam Klein authored
This reverts commit 3a405b01. Reason for revert: thread-sanitizer failures on Linux64 TSAN bot: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN/35141/overview Original change's description: > [cpu-profiler] Implement weak phantom finalizers for CodeMap entries > > Listen to code deletion events by registering finalizers on code > objects, a first stab at non-leaky long-lived code entries. > > Bug: v8:11054 > Change-Id: Ieaaa5b63508263bd261e8385f5bf5dd3baedf9c5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2628587 > Commit-Queue: Andrew Comminos <acomminos@fb.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72342} TBR=ulan@chromium.org,petermarshall@chromium.org,acomminos@fb.com Change-Id: If22a893af469c9d4d3e00fb124c42cdc52b9a19b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11054 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649156Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#72344}
-
Andrew Comminos authored
Listen to code deletion events by registering finalizers on code objects, a first stab at non-leaky long-lived code entries. Bug: v8:11054 Change-Id: Ieaaa5b63508263bd261e8385f5bf5dd3baedf9c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2628587 Commit-Queue: Andrew Comminos <acomminos@fb.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#72342}
-
- 22 Jan, 2021 1 commit
-
-
Peter Marshall authored
This is a reland of c594a20e Moved the getters to the .cc file to avoid link problems as they are not performance critical anyway. Moved ProfileNode::source_type to cc as it uses the _entry() functions which are no longer inline. Original change's description: > [cpu-profiler] Use base::LeakyObject for static CodeEntry objects > > This is preferred over the older LazyInstance based stuff, and has > a lot less boilerplate and is easier to follow. > > Bug: v8:8600 > Change-Id: I7c5c5ae04c064b0fc598dc01f1ed5442dc21a17b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640475 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72224} Bug: v8:8600 Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng Change-Id: I0ad9118e6d3bd087707609714b20aee1cbc4f459 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642252 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72254}
-
- 21 Jan, 2021 2 commits
-
-
Clemens Backes authored
This reverts commit c594a20e. Reason for revert: Speculative revert for link issues: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/14658/overview Original change's description: > [cpu-profiler] Use base::LeakyObject for static CodeEntry objects > > This is preferred over the older LazyInstance based stuff, and has > a lot less boilerplate and is easier to follow. > > Bug: v8:8600 > Change-Id: I7c5c5ae04c064b0fc598dc01f1ed5442dc21a17b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640475 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72224} TBR=petermarshall@chromium.org,clemensb@chromium.org Change-Id: I2e4fce9bc58d289338814f3ee1b1520a97dfd3cf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8600 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2642251Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72225}
-
Peter Marshall authored
This is preferred over the older LazyInstance based stuff, and has a lot less boilerplate and is easier to follow. Bug: v8:8600 Change-Id: I7c5c5ae04c064b0fc598dc01f1ed5442dc21a17b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640475 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72224}
-
- 20 Jan, 2021 1 commit
-
-
Peter Marshall authored
DevTools can't unambiguously determine whether code is JS or wasm. This CL adds a string to the tracing output that will be 'JS', 'wasm' or 'other'. Bug: chromium:1168052 Change-Id: Iaacb5ea9a83327e22d60bf6114f607e6fa5532ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637859 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72193}
-
- 11 Jan, 2021 1 commit
-
-
Andrew Comminos authored
Currently, the CodeMap utilizes double indirection into a deque for entries in its map. Since we don't reuse CodeEntry objects, this doesn't confer any benefits really -- avoid this step and save memory by maintaining only a single mapping. Bug: v8:11054 Change-Id: I2cbc188ff64dd2faa9c4c03d9892b4c8e5e68794 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2617746Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#72019}
-
- 22 Dec, 2020 1 commit
-
-
Andrew Comminos authored
As a first step towards freeing CodeEntry objects that are neither still referenced by JS or stored in a profile, enable freeing of refcounted strings by CodeEntry instances. For now, this leaves behaviour unchanged until we receive CodeEntry destruction events. Bug: v8:11054 Change-Id: Iabd05aa730343cd1a879ff5b04326f23e68aa948 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2590604 Commit-Queue: Andrew Comminos <acomminos@fb.com> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#71858}
-
- 10 Dec, 2020 1 commit
-
-
Clemens Backes authored
So far we reported the script ID, but DevTools ignores that and uses the source url instead. That url was just set to "wasm ", which the frontend couldn't make any sense of. This CL fixes this by passing the source URL to the code create event, and also setting the position of the code inside the script (i.e. wasm module). R=thibaudm@chromium.org, petermarshall@chromium.org Bug: chromium:1125986 Change-Id: Ic41dcd2768c60fd6748468d3a89fc4ffccb35932 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2581543 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#71695}
-
- 11 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I11632ad59ec3826b71e901e0eb34ef6dc1295637 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2524419Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71098}
-
- 27 Oct, 2020 2 commits
-
-
Nicolas Dubus authored
- Created status enum with statuses kStarted, kAlreadyStarted and kErrorTooManyProfilers, returning when StartProfiling is invoked - Tests spin up one profiler, check kStarted returned; spin up another with same name, check kAlreadyStarted returned; Spin up 99 more profilers (100 total), check each returning kStarted, and one more, expecting 101st to return kErrorTooManyProfilers R=acomminos@fb.com, petermarshall@chromium.org, ulan@chromium.org Change-Id: I64e2e6396775f90f9f49f75331a075a47efa7fca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2486240Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70808}
-
Peter Marshall authored
We kept the CodeMap filled with entries between profiles, even in kLazyLogging mode which will re-fill the CodeMap when profiling starts again. See the bug for more details. This fix manually clears the CodeMap after the last profile is deleted. We already call DisableLogging() when the last profile is stopped. At this point we still need the CodeMap alive because the profile object we expose via the API is backed by the CodeEntry objects in the CodeMap. Once the last profile is deleted though, we can empty the CodeMap. There is still another bug, which is that we never delete CodeEntry objects for deleted code, as there are no CodeDeleteEvents from the GC. We will work on that separately, but this fix should stop those leaks accumulating between profiles as we wipe the CodeMap entirely between profiles (at least for kLazyLogging mode). kEagerLogging mode still has this problem and will only be fixed by introducing CodeDelete events or similar. Bug: v8:11051 Change-Id: Iab9570747d17c657e6e318d434f935af8047d05f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491033 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#70792}
-
- 03 Oct, 2020 1 commit
-
-
Peter Marshall authored
We used to have extra data in this but now it's just an indirection to CodeEntryAndLineNumber so use that everywhere instead. Change-Id: I6dcedabc1502bc1eed25c05e23f04b996b91bae7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2440829 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#70294}
-
- 01 Oct, 2020 1 commit
-
-
Peter Marshall authored
Rename it to Symbolizer because it does exactly that. Change the SymbolizeTickSample method to return the symbolized state rather than pass it on to the ProfilesCollection. This makes it easier to test as now it only relies on the CodeMap provided to it. Make EntryForVMState a free-floating function as it doesn't rely on state and then we can avoid importing the StateTag definition in the header. Remove the UNREACHABLE from EntryForVMState as the compiler got smarter and doesn't need it anymore. Pass the CpuProfilesCollection to SamplingEventsProcessor instead, as it is now responsible for putting the symbolized samples into the collection to be sorted into the appropriate profiles. Change-Id: I104290eff22b7d94a1bd34ba904036badccf4e13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2440522 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#70248}
-
- 14 Sep, 2020 1 commit
-
-
Andrew Comminos authored
Since the web-exposed profiler will require COOP/COEP, it is no longer necessary to perform isolation at the V8 level. Strip the unnecessary complexity and unreliability of context filtering accordingly. Bug: chromium:956688, v8:9881, v8:9860 Change-Id: I21a30d51f8daf7565ec95de8c265e9d3b9d10fad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2386144 Commit-Queue: Andrew Comminos <acomminos@fb.com> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#69894}
-
- 01 Sep, 2020 1 commit
-
-
Peter Marshall authored
This adds a global counter for the various reasons we might fail to attribute a tick. The counters are cleared and printed when Profile::Print() is called, which we call in our tests, so flaky test output will now contain these stats along with the printed profile tree. Drive-by cleanup some print functions and make them const. Change-Id: Ia3a27405f5b5346adfdbb32afc7e414857969cc5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1550406 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69647}
-
- 18 May, 2020 1 commit
-
-
Peter Marshall authored
Makes it clearer what this does. Added comments to explain it. Change-Id: I90b0686f8a607cea32c482591b924e9103f7f445 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2205693 Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#67846}
-
- 27 Apr, 2020 1 commit
-
-
Peter Marshall authored
Change-Id: I25618b4516fe90eb563bd6b02a8ff1c5081d8f15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165731Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#67389}
-
- 29 Jan, 2020 1 commit
-
-
Andrew Comminos authored
This data is duplicated across the code map, and not actually required for some esoteric types of CodeEntry objects (e.g. inline stacks). Unify sourcing of this data from the code map instead. Change-Id: I75fddc03221d1d6b7dab77d16fa05ad6eb3dd2a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2026416Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#66033}
-
- 22 Jan, 2020 1 commit
-
-
Peter Marshall authored
This flag enables the CPU profiler before running any scripts in D8. This is so that we can turn the flag on during fuzzing to help us find security and stability issues. Right now this flag has problems with a bunch of tests under mjsunit/asm which fail in the stack walker when the flag is on. I'll address these in a follow-up before we turn this on for fuzzing. Bug: v8:10150 Change-Id: Ief8134ab2e9da63851b9c235f47ba217d1dce348 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013111Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65917}
-
- 27 Nov, 2019 1 commit
-
-
Peter Marshall authored
Deprecated in 79. Change-Id: If0e2b95b4b66328858b33a533454a469c80fad63 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940147 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#65204}
-
- 15 Nov, 2019 1 commit
-
-
Dan Elphick authored
utils.h itself is fairly large and contains lots of unrelated functions as well as having a fair number of dependencies itself, so this splits bounds checking and bit field operations into their own headers in base and replaces uses of utils.h with the more appropriate header where possible. (Also fixes some cases where other headers were previously brought in transitively). Bug: v8:9810, v8:8912 Change-Id: I76c53f953848a57e2c5bfad6ce45abcd6d2a4f1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1916604Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64983}
-
- 20 Aug, 2019 1 commit
-
-
Andrew Comminos authored
Adds support to the CPU profiler for scraping the incumbent contexts of V8 stack frames. While it is generally unsafe to access heap objects during a profiling interrupt, the native context is uniquely usable due to being guaranteed an alive root on the stack, as well as its slots being immutable after context creation. Change-Id: I2c3149c1302b74d2f13aa99d1fdd0cf006e0f9d1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1580020 Commit-Queue: Andrew Comminos <acomminos@fb.com> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#63258}
-
- 26 Jul, 2019 1 commit
-
-
Andrew Comminos authored
Implements ProfilerCodeObserver, a class to track the generation and movement of code on the heap for the lifetime of each CpuProfiler. When sampling is inactive, logged code is committed directly to the CodeMap. During profiling, ProfilerCodeObserver redirects these events onto the profiling thread for later dispatch. Bug: v8:9151 Change-Id: Ib5b152446d2a3838e1b00a80253fc4fbd2f6e8c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1604143Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#62943}
-
- 27 May, 2019 1 commit
-
-
Clemens Hammacher authored
This replaces all typedefs that define types and not functions by the equivalent "using" declaration. This was done mostly automatically using this command: ag -l '\btypedef\b' src test | xargs -L1 \ perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg' Patchset 2 then adds some manual changes for typedefs for pointer types, where the regular expression did not match. R=mstarzinger@chromium.org TBR=yangguo@chromium.org, jarin@chromium.org Bug: v8:9183 Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61849}
-
- 23 May, 2019 1 commit
-
-
Yang Guo authored
NOPRESUBMIT=true TBR=mstarzinger@chromium.org Bug: v8:9247 Change-Id: I4cd6b79a1c2cba944f6f23caed59d4f1a4ee358b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624217 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61790}
-