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
The next changeset is going to move over more annotations that Gecko developers
would count as "layout" into the LAYOUT category, and which is currently marked
as GRAPHICS.
We can add a subcategory for style resolution once we have subcategories, but
for now I think it makes more sense to put style resolution into the same bucket
as reflow and display list building.
MozReview-Commit-ID: 7r9eICVBA1Z
--HG--
extra : rebase_source : ce2df7a07522e99b0ccb59e40a8eae590ebfe834
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 : f83946138d8311ea5aa91f537a1d8e420e784068
The next changeset is going to move over more annotations that Gecko developers
would count as "layout" into the LAYOUT category, and which is currently marked
as GRAPHICS.
We can add a subcategory for style resolution once we have subcategories, but
for now I think it makes more sense to put style resolution into the same bucket
as reflow and display list building.
MozReview-Commit-ID: 7r9eICVBA1Z
--HG--
extra : rebase_source : f447dcbb9d81be81a418c7464ef814ce4778073b
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 : 16abc3c4bd8ed9ac55b5c188bd10ee26b0566330