mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 14:15:30 +00:00
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 |
||
---|---|---|
.. | ||
Biquad.cpp | ||
Biquad.h | ||
DenormalDisabler.h | ||
DynamicsCompressor.cpp | ||
DynamicsCompressor.h | ||
DynamicsCompressorKernel.cpp | ||
DynamicsCompressorKernel.h | ||
FFTConvolver.cpp | ||
FFTConvolver.h | ||
HRTFDatabase.cpp | ||
HRTFDatabase.h | ||
HRTFDatabaseLoader.cpp | ||
HRTFDatabaseLoader.h | ||
HRTFElevation.cpp | ||
HRTFElevation.h | ||
HRTFKernel.cpp | ||
HRTFKernel.h | ||
HRTFPanner.cpp | ||
HRTFPanner.h | ||
IIRFilter.cpp | ||
IIRFilter.h | ||
IRC_Composite_C_R0195-incl.cpp | ||
moz.build | ||
PeriodicWave.cpp | ||
PeriodicWave.h | ||
README | ||
Reverb.cpp | ||
Reverb.h | ||
ReverbAccumulationBuffer.cpp | ||
ReverbAccumulationBuffer.h | ||
ReverbConvolver.cpp | ||
ReverbConvolver.h | ||
ReverbConvolverStage.cpp | ||
ReverbConvolverStage.h | ||
ReverbInputBuffer.cpp | ||
ReverbInputBuffer.h | ||
ZeroPole.cpp | ||
ZeroPole.h |
This directory contains the code originally borrowed from the Blink Web Audio implementation. We are forking the code here because in many cases the burden of adopting Blink specific utilities is too large compared to the prospect of importing upstream fixes by just copying newer versions of the code in the future. The process of borrowing code from Blink is as follows: * Try to borrow utility classes only, and avoid borrowing code which depends too much on the Blink specific utilities. * First, import the pristine files from the Blink repository before adding them to the build system, noting the SVN revision of Blink from which the original files were copied in the commit message. * In a separate commit, add the imported source files to the build system, and apply the necessary changes to make it build successfully. * Use the code in a separate commit. * Never add headers as exported headers. All headers should be included using the following convention: #include "blink/Header.h". * Leave the imported code in the WebCore namespace, and import the needed names into the Mozilla code via `using'. * Cherry-pick upsteam fixes manually when needed. In case you fix a problem that is not Mozilla specific locally, try to upstream your changes into Blink. * Ping ehsan for any questions.