Add support for column numbers when profiling JS stack frames and functions. This will help debug minified scripts when inspecting performance profiles. The column information will be emitted as a new column property that is part of the frameTable in the profile output, and will also be appended in the descriptive profiler string.
Differential Revision: https://phabricator.services.mozilla.com/D3059
--HG--
extra : moz-landing-system : lando
Add support for column numbers when profiling JS stack frames and functions. This will help debug minified scripts when inspecting performance profiles. The column information will be emitted as a new column property that is part of the frameTable in the profile output, and will also be appended in the descriptive profiler string.
Differential Revision: https://phabricator.services.mozilla.com/D3059
--HG--
extra : moz-landing-system : lando
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
--HG--
extra : rebase_source : 2d99b864a21ac8f700f9b8686adc4ac14679ef48
extra : intermediate-source : aeebad4f2dc31901f5b63263169229455e827ac2
extra : source : b5b9d295545dff9c8f7aa5e5c0137afa24385eb2
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
--HG--
extra : source : b5b9d295545dff9c8f7aa5e5c0137afa24385eb2
extra : histedit_source : c8a6352058996670bbd22ac28949d852d62a976a
This automatically gets us wrappers (and therefore memory statistics) for
Stylo threads, JS HelperThreads, and any other non-nsThread threads that we
already register with the profiler.
MozReview-Commit-ID: 8ZPjb0ojyWp
--HG--
extra : rebase_source : 338e8cd4951ea4ecc8d502f980d0808dedb7193b
Since GeckoJavaSampler::Stop() isn't called from locked_profiler_stop, Java
sampler is never stopped after stopping profiler.
And when calling GeckoJavaSampler::Stop(), it causes dead lock since stop()
is acquiring lock. So when calling join method, we should release this lock.
MozReview-Commit-ID: BLREo0lH6DS
--HG--
extra : rebase_source : f9c43f3d0e2a527abf1828d023d1a962fc526bde
Similar to the previous part, we convert mBreakpadId to an nsCString to
avoid issues with locale-dependent std::string operations.
There are a lot of non-profiler changes here because a bunch of things
depend on the SharedLibrary object that the profiler defines.
Using operator<< on stringstream on Windows dives into the registry for
locale-specific formatting details. This behavior is neither desired
or (probably) anticipated by the code. Instead, let's use our normal
Gecko string classes for SharedLibrary::mVersion.
* GetScriptCompartment => GetScriptRealm
* Adds IsSystemRealm in addition to IsSystemCompartment and uses it where we can.
* JS_GetCompartmentPrincipals and IsSystemCompartment now release-assert they have a single realm. This is temporary until we know what Gecko will do/need exactly.
We were using nsCString to pass the profiler data between processes. But it was
failing to send because there is a ~256MB limit for the string data. So we
changed it to use Shmem instead. Shmem creates a shared memory and passes the
weak reference. With it, we can send larger data without having a problem.
MozReview-Commit-ID: 1kj57fZDXVF
--HG--
extra : rebase_source : 25a8ab57bcae8012fee1cdd9d4b767036db192d7
Bug 1447338 introduced the new feature for responsiveness handling, but
we forgot to include it in the default feature list. As a result it's
not included by default when profiling the startup.
MozReview-Commit-ID: 1YPcDaGZR9s
--HG--
extra : rebase_source : 421bbda28b3c7170c4dc3f676f57844483528276
This was done automatically replacing:
s/mozilla::Move/std::move/
s/ Move(/ std::move(/
s/(Move(/(std::move(/
Removing the 'using mozilla::Move;' lines.
And then with a few manual fixups, see the bug for the split series..
MozReview-Commit-ID: Jxze3adipUh
This was used to label IndexedDB work and work in storage/mozStorage*.
I don't think this deserves its own category; categories are most useful for
the main thread, and most of the time-consuming database-related work happens
on helper threads. The main thread pieces are mostly for asynchronicity-
coordination and don't usually take up time.
This patch labels IndexedDB work as DOM instead (which is maybe debatable) and
the rest as OTHER.
MozReview-Commit-ID: 3UYhFFbi3Ry
--HG--
extra : rebase_source : 5c88dfd67274103de01fe44191f49776017738f9