зеркало из https://github.com/mozilla/gecko-dev.git
4bdc4ca0fb
As far as I can tell, this covers all the remaining threads which we start using PR_CreateThread, except the ones that are created inside NSPR or NSS, and except for the Shutdown Watchdog thread in nsTerminator.cpp and the CacheIO thread. The Shutdown Watchdog thread stays alive past leak detection during shutdown (by design), so we'd report leaks if we profiled it. The CacheIO thread seems to stay alive past shutdown leak detection sometimes as well. This adds a AutoProfilerRegister stack class for easy registering and unregistering. There are a few places where we still call profiler_register_thread() and profiler_unregister_thread() manually, either because registration happens conditionally, or because there is a variable that gets put on the stack before the AutoProfilerRegister (e.g. a dynamically generated thread name). AutoProfilerRegister needs to be the first object on the stack because it uses its own `this` pointer as the stack top address. MozReview-Commit-ID: 3vwhS55Yzt --HG-- extra : rebase_source : 56dd27282e7bd09a7e7dc7ca09ccfe3a0198e7af |
||
---|---|---|
.. | ||
crashtests | ||
idl | ||
loader | ||
public | ||
shell | ||
src | ||
tests | ||
wrappers | ||
moz.build |