Name Description Size
BinaryPath.h 8104
components.conf 9813
FileLocation.cpp 5290
FileLocation.h FileLocation is an helper to handle different kind of file locations within Gecko: - on filesystems - in archives - in archives within archives As such, it stores a path within an archive, as well as the archive path itself, or the complete file path alone when on a filesystem. When the archive is in an archive, an nsZipArchive is stored instead of a file path. 3627
gen_process_types.py \ /* THIS FILE IS GENERATED BY gen_process_types.py - DO NOT EDIT */ 1179
IOInterposer.cpp Find if a vector contains a specific element 17611
IOInterposer.h Interface for I/O interposer observers. This is separate from the IOInterposer because we have multiple uses for these observations. 10107
IOInterposerPrivate.h This header file contains declarations for helper classes that are to be used exclusively by IOInterposer and its observers. This header file is not to be used by anything else and MUST NOT be exported! 3058
LateWriteChecks.cpp Auxiliary Declarations ************************** 7968
LateWriteChecks.h Different shutdown check modes 2747
mach_override.c Constants ************************ 25321
mach_override.h //** @mainpage mach_override @author Jonathan 'Wolf' Rentzsch: <http://rentzsch.com> This package, coded in C to the Mach API, allows you to override ("patch") program- and system-supplied functions at runtime. You can fully replace functions with your implementations, or merely head- or tail-patch the original implementations. Use it by #include'ing mach_override.h from your .c, .m or .mm file(s). @todo Discontinue use of Carbon's MakeDataExecutable() and CompareAndSwap() calls and start using the Mach equivalents, if they exist. If they don't, write them and roll them in. That way, this code will be pure Mach, which will make it easier to use everywhere. Update: MakeDataExecutable() has been replaced by msync(MS_INVALIDATE). There is an OSCompareAndSwap in libkern, but I'm currently unsure if I can link against it. May have to roll in my own version... @todo Stop using an entire 4K high-allocated VM page per 28-byte escape branch island. Done right, this will dramatically speed up escape island allocations when they number over 250. Then again, if you're overriding more than 250 functions, maybe speed isn't your main concern... @todo Add detection of: b, bl, bla, bc, bcl, bcla, bcctrl, bclrl first-instructions. Initially, we should refuse to override functions beginning with these instructions. Eventually, we should dynamically rewrite them to make them position-independent. @todo Write mach_unoverride(), which would remove an override placed on a function. Must be multiple-override aware, which means an almost complete rewrite under the covers, because the target address can't be spread across two load instructions like it is now since it will need to be atomically updatable. @todo Add non-rentry variants of overrides to test_mach_override. ************************************************************************* 5295
MainThreadIOLogger.cpp This code uses NSPR stuff and STL containers because it must be detached from leak checking code; this observer runs until the process terminates. 6060
MainThreadIOLogger.h 568
moz.build 2444
NSPRInterposer.cpp Original IO methods 6745
NSPRInterposer.h Initialize IO interposing for NSPR. This will report NSPR read, writes and fsyncs to the IOInterposerObserver. It is only safe to call this from the main-thread when no other threads are running. 960
nsXPCOM.h Initialises XPCOM. You must call one of the NS_InitXPCOM methods before proceeding to use xpcom. The one exception is that you may call NS_NewLocalFile to create a nsIFile. @note Use <CODE>NS_NewLocalFile</CODE> or <CODE>NS_NewNativeLocalFile</CODE> to create the file object you supply as the bin directory path in this call. The function may be safely called before the rest of XPCOM or embedding has been initialised. @param aResult The service manager. You may pass null. @param aBinDirectory The directory containing the component registry and runtime libraries; or use <CODE>nullptr</CODE> to use the working directory. @param aAppFileLocationProvider The object to be used by Gecko that specifies to Gecko where to find profiles, the component registry preferences and so on; or use <CODE>nullptr</CODE> for the default behaviour. @param aInitJSContext Whether the nsXPCJSContext should be initialized at this point. @see NS_NewLocalFile @see nsIFile @see nsIDirectoryServiceProvider @return NS_OK for success; NS_ERROR_NOT_INITIALIZED if static globals were not initialized, which can happen if XPCOM is reloaded, but did not completly shutdown. Other error codes indicate a failure during initialisation. 12339
nsXPCOMCID.h XPCOM Directory Service Contract ID The directory service provides ways to obtain file system locations. The directory service is a singleton. This contract supports the nsIDirectoryService and the nsIProperties interfaces. 8391
nsXPCOMCIDInternal.h A hashtable-based property bag component. @implements nsIWritablePropertyBag, nsIWritablePropertyBag2 1697
nsXPCOMPrivate.h During this shutdown notification all threads which run XPCOM code must be joined. 3155
nsXULAppAPI.h A directory service key which provides the platform-correct "application data" directory as follows, where $name and $vendor are as defined above and $vendor is optional: Windows: HOME = Documents and Settings\$USER\Application Data UAppData = $HOME[\$vendor]\$name Unix: HOME = ~ UAppData = $HOME/.[$vendor/]$name Mac: HOME = ~ UAppData = $HOME/Library/Application Support/$name Note that the "profile" member above will change the value of UAppData as follows: Windows: UAppData = $HOME\$profile Unix: UAppData = $HOME/.$profile Mac: UAppData = $HOME/Library/Application Support/$profile 12468
Omnijar.cpp 8214
Omnijar.h Store an nsIFile for an omni.jar. We can store two paths here, one for GRE (corresponding to resource://gre/) and one for APP (corresponding to resource:/// and resource://app/), but only store one when both point to the same location (unified). 6018
perfprobe.cpp Windows implementation of probes, using xperf *************************** 6805
perfprobe.h A mechanism for interacting with operating system-provided debugging/profiling tools such as Microsoft EWT/Windows Performance Toolkit. 5529
PoisonIOInterposer.h Register file handle to be ignored by poisoning IO interposer. This function and the corresponding UnRegister function are necessary for exchange of handles between binaries not using the same CRT on Windows (which happens when one of them links the static CRT). In such cases, giving file descriptors or FILEs doesn't work because _get_osfhandle fails with "invalid parameter". 3092
PoisonIOInterposerBase.cpp if not XP_WIN 7584
PoisonIOInterposerMac.cpp IO AutoTimer ******************************* 11265
PoisonIOInterposerStub.cpp 555
PoisonIOInterposerWin.cpp Internal NT API Declarations *********************** 19753
Services.py Define a convenient service getter 4660
SmallArrayLRUCache.h 6638
XPCOM.h 4278
XPCOMInit.cpp anonymous namespace 27090
XPCOMModule.h 659
XPCOMModule.inc 84
XREAppData.h Application-specific data needed to start the apprunner. 6189
XREChildData.h Data needed to start a child process. 1017
XREShellData.h Data needed by XRE_XPCShellMain. 1076