- 25 Feb, 2021 1 commit
-
-
Hannes Payer authored
Change-Id: Ib54d5abad3e67f74d1930af135778e1f201ba28f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712964 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73050}
-
- 21 Jan, 2021 1 commit
-
-
Dan Elphick authored
Adds v8config.h include before using V8_USE_PERFETTO to fix build errors when v8_generate_external_defines_header and v8_use_perfetto are both enabled. Bug: v8:11292 Change-Id: I4ea5fd39ca7eaaa5ad64b532d26df7933da41659 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2640480Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#72214}
-
- 21 Dec, 2020 1 commit
-
-
Sami Kyostila authored
We also change pipeline-statistics.cc to use a combination of turbofan- related categories since that more accurately reflects the emitted events. TBR=bmeurer@chromium.org Bug: chromium:1084929 Change-Id: I85dcd89ab3e4cd95df3ae9791d158b4ab6c00829 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599749 Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Sami Kyöstilä <skyostil@chromium.org> Cr-Commit-Position: refs/heads/master@{#71853}
-
- 26 Nov, 2020 1 commit
-
-
Eric Seckler authored
To unblock linux-perfetto-rel builds. The events were added in https://chromium-review.googlesource.com/c/v8/v8/+/2540548 and https://chromium-review.googlesource.com/c/v8/v8/+/2540552. Change-Id: I48ac0f8612fd95fa555457e68b6e4394862937fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560304 Auto-Submit: Eric Seckler <eseckler@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#71424}
-
- 25 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Also remove a comment referring to using the macro. Bug: v8:11074 Change-Id: Ib56a0360b28812833b372738f4956ef41c59a97b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557058Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71388}
-
- 17 Nov, 2020 1 commit
-
-
John Xu authored
Bug: v8:10927 Change-Id: Icbdc0d7329ddd466e7d67a954246a35795b4dece Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2507310 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71220}
-
- 03 Nov, 2020 1 commit
-
-
Eric Seckler authored
This broke building with the use_perfetto_client_library gn flag. Change-Id: Ifbcaf77286c0d121b463e4867913d63b85da7fc6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2516701 Commit-Queue: Eric Seckler <eseckler@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Eric Seckler <eseckler@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#70942}
-
- 20 Oct, 2020 1 commit
-
-
Edward Lesmes authored
Generate DIR_METADATA files and remove metadata from OWNERS files for v8. R=jkummerow@chromium.org, ochang@chromium.org, yangguo@chromium.org Bug: chromium:1113033 Change-Id: I82cbb62e438d82dbbc408e87120af39fa9da0afa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2476680Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org> Cr-Commit-Position: refs/heads/master@{#70669}
-
- 03 Jun, 2020 2 commits
-
-
Andreas Haas authored
This CL repurposes the v8.wasm trace event category, and introduces additionally the v8.wasm.detailed category. The v8.wasm category is enabled by default and captures core wasm events like validation, compilation, instantiation, and important operations like grow-memory and tier-up timings. The v8.wasm.detailed category is disabled by default. It captures all events the previous v8.wasm category captured, like compilation of single functions, time needed for register allocation, ... This CL splits these categories to allow enabling the v8.wasm category in telemetry benchmarks to calculate compile time and other metrics from traces of telemetry runs. R=ecmziegler@chromium.org Bug: chromium:1084929 Change-Id: Ida58b8f344b0ccb6ee1210e259c3e0e993eff497 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2210230 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#68156}
-
Igor Sheludko authored
... in order to make it possible to collect zone memory usage stats from Chrome. Drive-by-cleanup: move TracingFlags definition to a separate file. Bug: v8:10572 Change-Id: I05fb65e207d573d5c18821067cfff4c37f2d77cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2226561Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68135}
-
- 14 May, 2020 1 commit
-
-
Peter Marshall authored
The devtools frontend used this to set a lower interval (100us). Now the frontend will stop setting this category and we will always profile with 100us (which was already the default). Bug: chromium:1082220 Change-Id: Iaa671d9750ad4c13b95c2c1ba1e433a1077c858a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2198989Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#67805}
-
- 12 May, 2020 1 commit
-
-
Ulan Degenbaev authored
This changes "v8[.gc],devtools.timeline" to "devtools.timeline,v8[.gc" in some of the GC trace events because perfetto requires all categories to be predefined. Change-Id: I0e9a91c826f4e620f4946a1a96713aa2b45da26f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2193591 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#67727}
-
- 11 May, 2020 1 commit
-
-
Sami Kyostila authored
We are currently porting Chromium over to use the Perfetto client library for tracing[1]. When this mode is enabled, V8 should also use the Perfetto library built by Chromium instead of building an indepedendent copy. This patch enables that behavior, gated by the |use_perfetto_client_library| flag set by Chromium. We also roll Perfetto to the latest version, add a couple of missing dependencies on v8_tracing and add a missing tracing category group. [1] https://docs.google.com/document/d/1f7tt4cb-JcA5bQFR1oXk60ncJPpkL02_Hi_Bc6MfTQk/ (Internal) Bug: 155075662 Change-Id: I76d9626b1c83cb7a278dc3281b3a1db653ab8733 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182637Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Cr-Commit-Position: refs/heads/master@{#67706}
-
- 20 Apr, 2020 1 commit
-
-
Sami Kyostila authored
This patch adds a new category group for v8.gc + devtools and adds a missing dependency on Perfetto's generated headers. Bug: chromium:1006766 Change-Id: Id92fdc0b938d25ab0df5ada936d3f987cc6ec5f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2156767 Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#67239}
-
- 17 Apr, 2020 1 commit
-
-
Sami Kyostila authored
This patch replaces V8's tracing implementation (i.e., the TRACE_EVENT macros) with the track event base implementation from Perfetto. The advantages of doing this are: 1) This allows us to remove most tracing-related backend code from V8. 2) V8 can start writing strongly typed trace event arguments, which are more compact, easier to process and more extensible than legacy JSON-based trace arguments. For the time being, we still support the old trace macros when V8 is embedded into Chrome and other embedders. Design doc: https://docs.google.com/document/d/1f7tt4cb-JcA5bQFR1oXk60ncJPpkL02_Hi_Bc6MfTQk/edit#heading=h.398p6b4eaen2 Bug: chromium:1006766 Change-Id: Ie71474fbe065821772b13d851487ebbca680c4ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1947688 Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Auto-Submit: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#67217}
-
- 23 Jan, 2020 1 commit
-
-
Sami Kyostila authored
Remove trace id mangling since it's been deprecated (and is also being removed) in Chromium [1] and the actual id mangling operation was never implemented in V8's version. This patch doesn't introduce the upstream replacement (TRACE_ID_{LOCAL,GLOBAL}), since nothing in V8 needs it and it'll be shortly brought in with the transition to the Perfetto client library[2]. Bug: chromium:639003 [1] crbug.com/639003 [2] https://docs.google.com/document/d/1f7tt4cb-JcA5bQFR1oXk60ncJPpkL02_Hi_Bc6MfTQk/ Change-Id: Ifabda63b9c56918fafcc24dfc589b8e513a3f29b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016592 Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65946}
-
- 01 Nov, 2019 1 commit
-
-
Clemens Backes authored
The {SetTraceValue} method was only defined for a set of integer types, which sometimes lead to ambiguities when using types like {size_t}, {unsigned long} or the like (see https://crrev.com/c/1886912/1). This CL fixes that by providing a method accepting any integer type. It also changes the existing methods to avoid the "cast via union" idiom, and uses memcpy instead. R=petermarshall@chromium.org Bug: v8:9810 Change-Id: I1530405640dc6cb0058153a8dbb860c7f3727ac5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886918 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#64710}
-
- 18 Jul, 2019 1 commit
-
-
Peter Marshall authored
Previously both tracing implementations would be run side-by-side when perfetto was enabled with the V8_USE_PERFETTO build flag. This CL makes them run separately. Both implementations now use the trace file provided by the user in D8 or the default v8_trace.json. Add tests for perfetto events (which must be tested differently due to the proto output format). Drive-by fix: Fix pass-by non-const ref in GetJSONStrings. Remove the TraceEvent struct for testing; we can just store a copy of the protobuf directly. Bug: v8:8339 Change-Id: Id50003e0f96e44b99a63a26693da6bdaca989504 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1702619Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#62810}
-
- 30 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: Id6860e7b0f932990ac3cda39e369b0809e4f6a2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632072Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61928}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 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}
-
- 22 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
- 20 May, 2019 2 commits
-
-
Pierre Langlois authored
When the 'disabled-by-default-v8.gc' category is enabled, emit an instant event with heap statistics after every GC. The data that's emitted is the same as what the V8 API gives you with `GetHeapStatistics()` and `GetHeapSpaceStatistics()`. We generate JSON with the following format: ``` { "isolate": "0x55dd5cf03b50", "id": 1, "time_ms": 42.619, "total_heap_size": 3981312, "total_heap_size_executable": 573440, "total_physical_size": 2820440, "total_available_size": 2195254440, "used_heap_size": 1799616, "heap_size_limit": 2197815296, "malloced_memory": 251024, "external_memory": 2981, "peak_malloced_memory": 589280, "spaces": [ { "name": "read_only_space", "size": 262144, "used_size": 32568, "available_size": 229256, "physical_size": 32888 }, { "name": "new_space", "size": 2097152, "used_size": 903392, "available_size": 143904, "physical_size": 1856136 }, ... ] } ``` Bug: v8:9186 Change-Id: I0d07aa37b65d45778d6b47dbe6e07a9dd25d1097 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619763Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#61667}
-
Yang Guo authored
TBR=verwaest@chromium.org,rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Bug: v8:9247 Change-Id: I9ddfb6e56ca8e47c4ac186a8df5f442d26420a69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617661 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61642}
-
- 17 May, 2019 3 commits
-
-
Yang Guo authored
This reverts commit 5f285395. Reason for revert: presubmit failure Original change's description: > Move logging and diagnostics related source files > > This also introduces a COMMON_OWNERS file, which is derived from the > current top-level OWNERS file. It is to be used for parts of the > codebase that is not sensitive to domain-specific expertise. > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61600} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I3827c3af4fd63b18aa48c49617f318a01746e813 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617247Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61601}
-
Yang Guo authored
This also introduces a COMMON_OWNERS file, which is derived from the current top-level OWNERS file. It is to be used for parts of the codebase that is not sensitive to domain-specific expertise. NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61600}
-
Yang Guo authored
R=alph@chromium.org, petermarshall@chromium.org Bug: v8:9247 Change-Id: I3f465ed773c8d4afde61c6bc194aea1faa99ac8d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609848Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61596}
-
- 15 May, 2019 1 commit
-
-
Yang Guo authored
R=bmeurer@chromium.org, clemensh@chromium.org, jkummerow@chromium.org, sigurds@chromium.org, ulan@chromium.org, verwaest@chromium.org Bug: v8:9247 Change-Id: I153a6bbfc55989fe7a86c052f95c5cb8ee61e841 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613244 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61557}
-
- 04 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
Bug: v8:9020 Change-Id: Ie624a02598f5c3a43e40e03d0337c17ca5cc3769 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541052 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60628}
-
- 25 Mar, 2019 2 commits
-
-
Benedikt Meurer authored
This adds OBJECT/SNAPSHOT trace events for Script and SharedFunctionInfo objects, logging their creation with appropriate information to make sense of them. Based on that we introduces five flow events to model the optimized compilation via tracing in the "disabled-by-default-v8.compile" category: - "v8.optimizingCompile.start" logs the creation of the PipelineCompilationJob (for TurboFan JavaScript optimization) with the "function" argument referring to the trace event object created for the SharedFunctionInfo. - "v8.optimzingCompile.prepare" logs the preparation of the PipelineCompilationJob on the main thread, also carrying the "function" argument. This connects the flow event to the actual tracing duration event associated with the preparation phases. - "v8.optimizingCompile.execute" logs the (usually concurrent) optimization of the TurboFan graph (again with "function"). - "v8.optimizingCompile.finalize" logs the main thread phase which finalizes the optimized code and eventually installs it (in case of success). - "v8.optimizingCompile.end" signals the end of the PipelineCompilationJob, which carries the "compilationInfo", that contains the interesting bits of the OptimizedCompilationInfo, specifically whether the compile was successfull and which functions were inlined for example. This also adds two instant events "V8.AbortOptimization" and "V8.RetryOptimization" in "disabled-by-default-v8.compile" category that are emitted when TurboFan cannot optimize a certain function. In case of "V8.RetryOptimization", TurboFan might be able to optimize it later, whereas "V8.AbortOptimization" permanently disables the optimization of a given function. The JSON representation of this is ```js { "pid": 256639, "tid": 256639, "ts": 6935411377801, "tts": 159116, "ph": "I", "cat": "disabled-by-default-v8.compile", "name": "V8.AbortOptimization", "dur": 0, "tdur": 0, "args": { "reason": "Function is too big to be optimized", "function": { "id_ref": "0x600000001", "scope": "v8::internal::SharedFunctionInfo" } } }, ``` where the "function" refers to a previously emitted SNAPSHOT for the function in question. In the trace viewer it will show up as instant event under "v8.optimizingCompile.prepare" in case of the relevant example where optimization is disabled due to reaching the bytecode limit (as in the JSON above), i.e. it'll look something like this https://i.paste.pics/aafc2de9df10ea8f5acc1a761d80f07b.png for the example highlighted in the recent blog post https://ponyfoo.com/articles/javascript-performance-pitfalls-v8 that describes the optimization limit. The "v8.optimizingCompile.end" duration event will also carry this information as part of the "compilationInfo" object, but specifically for CI tools, etc. it might be a whole lot easier to just look for the "V8.AbortOptimization" instant event. Bug: v8:8598, v8:9039 Tbr: ulan@chromium.org Doc: bit.ly/v8-tracing-signals Change-Id: Ic87ac336004690c65b6b15ad73bc6fbd4b5f12c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511483 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60448}
-
Benedikt Meurer authored
Inside V8 the TraceID class sits in v8::internal::tracing instead of trace_event_internal namespace (as in Chrome). Bug: v8:8834 Change-Id: I9464e6145c4fd4c794ac3f50052a5fa1b068aeed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535834 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#60421}
-
- 07 Mar, 2019 1 commit
-
-
Igor Sheludko authored
... because the latter are not meant to be modified from non-main thread and especially after V8 isolate is set up while the former are modified cuncurrently by tracing API. Tbr: verwaest@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Bug: v8:8929, v8:8834 Change-Id: I44d3da2f388bb8bb8d0365ac6354e761bf92b936 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1505581Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60104}
-
- 26 Feb, 2019 1 commit
-
-
Sigurd Schneider authored
Remove EmbeddedVector from utils.h Bug: v8:8834, v8:8912 Change-Id: I04e9f12121757bd0b87c68d7a4a5b213c2d8b686 Reviewed-on: https://chromium-review.googlesource.com/c/1486473Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59854}
-
- 21 Feb, 2019 2 commits
-
-
Nico Weber authored
It's only used in tests, and for some reason v8 refers to a macro defined in src.git, so I need to remove this in v8 first before I can remove it in Chromium. Bug: chromium:934255 Change-Id: I31ea32aa43cf7a5f518def7b91dce99dcb268709 Reviewed-on: https://chromium-review.googlesource.com/c/1480911Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59769}
-
Peter Marshall authored
The default TracingController (used by d8 and Node) has some concurrency issues. The new test flushes these out, when a second thread logs trace events while the main thread calls StopTracing(). - Use an acquire load in UpdateCategoryGroupEnabledFlags() because this was racing with GetCategoryGroupEnabled() where a new category is added in the slow path. g_category_groups is append-only, but reads/writes to g_category_index need to be correctly ordered so that new categories are added and only then is the change to the index visible. The relaxed load ignored this and caused unsynchronized read/write. - Use a relaxed load in ~ScopedTracer() to access category_group_enabled as this previously used a non-atomic operation which caused a race with UpdateCategoryGroupEnabledFlag() which does a relaxed store. - Replace TracingController::mode_ with an atomic bool as read/writes to mode_ were not synchronized and caused TSAN errors. It only has two states and it doesn't seem like we will extend this so just convert it to bool. - Take the lock around calling trace_object->Initialize in AddTraceEvent(), and around trace_buffer_->Flush() in StopTracing(). These two raced previously as the underlying TraceBufferRingBuffer passes out pointers to TraceObjects in a synchronized way, but the caller (AddTraceEvent) then writes into the object without synchronization. This leads to races when Flush() is called, at which time TraceBufferRingBuffer assumes that all the pointers it handed out are to valid, initialized TraceObjects - which is not true because AddTraceEvent may still be calling Initialize on them. This could be the cause of issues in Node.js where the last line of tracing/logging sometimes gets cut off. This is kind of a band-aid solution - access to the TraceObjects handed out by the ring buffer really needs proper synchronization which at this point would require redesign. It's quite likely we will replace this with Perfetto in the near future so not much point investing in this code right now. - Enable TracingCpuProfiler test which was flaky due to these bugs. Bug: v8:8821 Change-Id: I141296800c6906ac0e7f3f21dd16d861b07dae62 Reviewed-on: https://chromium-review.googlesource.com/c/1477283 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#59752}
-
- 10 Jan, 2019 2 commits
-
-
Sami Kyostila authored
Since all categories are now statically defined, there's no need to warm any of them up explicitly in order for the categories to show up in the tracing UI. Depends on https://chromium-review.googlesource.com/c/chromium/src/+/1401273. Bug: chromium:914579 Change-Id: I8ae8977130ae89d6ee3351194ad258d13f3c14f4 Reviewed-on: https://chromium-review.googlesource.com/c/1402779Reviewed-by: Alexei Filippov <alph@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Cr-Commit-Position: refs/heads/master@{#58699}
-
Alexei Filippov authored
TBR=yangguo@chromium.org NOTRY=true Change-Id: I5fa467a37d654c6e7254f429b7b2f662a77b2901 Reviewed-on: https://chromium-review.googlesource.com/c/1403017Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#58684}
-
- 31 Oct, 2018 1 commit
-
-
Alexei Filippov authored
JSON format does not support \xNN encoding. Use \uNNNN instead. + Add myself to the src/tracing/OWNERS BUG=chromium:895974 Change-Id: I410a09d44af08b61837579fa09d263d897b9385e Reviewed-on: https://chromium-review.googlesource.com/c/1303535Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#57180}
-
- 20 Oct, 2018 1 commit
-
-
Alexei Filippov authored
Do not encode single byte characters with \uXXXX. BUG=chromium:895974 Change-Id: If8e0bdb19d326228a7d3d0c9559d4457c8bfd270 Reviewed-on: https://chromium-review.googlesource.com/c/1292679Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#56835}
-
- 27 Sep, 2018 1 commit
-
-
Clemens Hammacher authored
There is a data race if several background threads check for a tracing flag concurrently. Both will call {GetCategoryGroupEnabledInternal}. The first one not find the category in the {g_category_group_enabled} array, and hence will add it and call {UpdateCategoryGroupEnabledFlag} to initialize the flag. The second thread then finds the entry in the array and reads it without any synchronization, which is a data race. Since we do not really care about this race, we just use a {Relaxed_Load} to read the field. TSan is fine with that. R=yangguo@chromium.org CC=ofrobots@google.com Bug: v8:8221 Change-Id: Ie09141e3d845956d3c487a463f00b7d6cd413513 Reviewed-on: https://chromium-review.googlesource.com/1245424Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56256}
-