mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 18:55:30 +00:00
90abea1653
nsXPCWrappedJSClass now only adds indirections and dynamic allocations, so eliminate it. The class is kept around as a collection of static helper functions to avoid needing to move around all of this code and messing with history. In total, these patches save around 2kb of dynamic allocations per process. The major parts of this patch are: * Dropping indirection for accessing things on nsXPTInterfaceInfo and renaming things from class to info. * Removing the stuff related to instances of nsXPCWrappedJSClass existing (ctor, dtor, field, ISupports implementation, getter methods). * Removing IID2WrappedJSClassMap, because we only need the map from IIDs to info. I dropped the null check in TraverseNative because mInfo is never cleared, while mClass was. I dropped the forward declaration of nsXPCWrappedJSClass because no instances of that class exist, so no function will take or return a pointer to one. Differential Revision: https://phabricator.services.mozilla.com/D26218 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
crashtests | ||
idl | ||
loader | ||
public | ||
shell | ||
src | ||
tests | ||
wrappers | ||
moz.build |