User:Egmetcalfe/Dead Code

From CDOT Wiki
Jump to: navigation, search

Note: Code Size is a count of the number of GIMPLE instructions during pass cfg.

Contents

Unconditionally Dead

xpfe/components/intl

nsresult nsCharsetMenu::SetCharsetCheckmark(nsString*, PRBool)

MXR Search

Code Size: 75

content/base

PRBool nsParserUtils::GetQuotedAttrNameAt(const nsString&,PRUint32,nsAString_internal&)

Declaration Definition MXR Search *

Code Size: 96, Static method

nsIContent* nsContentUtils::FindFirstChildWithResolvedTag(nsIContent*,PRInt32,nsIAtom*)

Declaration Definition MXR Search *

Code Size: 92, Static method

nsIDocShell* nsContentUtils::GetDocShellFromCaller()

Declaration Definition MXR Search *

Code Size: 33, Static method

nsIContent* nsContentUtils::GetReferencedElement(nsIURI*,nsIContent*)

MXR Search *

Code Size: 6, Static method

void nsXMLNameSpaceMap::RemovePrefix(nsIAtom*)

Declaration Definition MXR Search *

Code Size: 3, NS_HIDDEN_

nsresult nsPlainTextSerializer::WillProcessTokens()

MXR Search (forgot to include this in original patch)

Code Size: 2

nsresult nsAttrAndChildArray::SetAttr(nsIAtom*,const nsAString_internal&)

Run this search. Save page to file. grep for lines with only one comma: grep "^[^,]*,[^,]*$"

Code Size: 71

content/html

void nsGenericHTMLElement::GetHrefURIToMutate(nsIURI**)

MXR Search *

Code Size: 3

nsresult nsGenericHTMLElement::SetFloatAttr(nsIAtom*,float)

Code Size: 6

MXR Search * Will be used for HTML5

nsresult nsGenericHTMLElement::GetFloatAttr(nsIAtom*,float,float*)

MXR Search * Will be used for HTML5

Code Size: 15

nsresult nsHTMLDNSPrefetch::PrefetchHigh(nsAString_internal&)

MXR Search * - Meant as forward looking API

Code Size: 3

nsresult nsHTMLDNSPrefetch::PrefetchHigh(Link*)

MXR Search * - Meant as forward looking API

Code Size: 3

nsresult nsHTMLDNSPrefetch::PrefetchMedium(nsAString_internal&)

MXR Search * - Meant as forward looking API

Code Size: 3

nsresult nsHTMLDNSPrefetch::PrefetchMedium(Link*)

MXR Search * - Meant as forward looking API

Code Size: 3

PRBool SinkContext::IsAncestorContainer(nsHTMLTag)

MXR Search *

Code Size: 13

nsresult nsHTMLFragmentContentSink::AddTextToContent(nsIContent*,const nsAString_internal&)

MXR Search *

Code Size: 26

nsresult nsHTMLDocument::GetLinkColor(nsAString& aLinkColor)

MXR Search (Discovered by accident when verifying nsHTMLStyleSheet::GetLinkColor)

Code Size: 12 LOC (nevermind: it's scriptable)

content/media

nsresult nsMediaCacheStream::ReadFromCache(char*,PRInt64,PRInt64)

MXR Search *

Code Size: 82

content/events

nsresult nsPrivateTextRange::SetRangeType(PRUint16)

MXR Search

Code Size: 3

nsresult nsPrivateTextRange::SetRangeEnd(PRUint16)

MXR Search

Code Size: 3

nsresult nsPrivateTextRange::SetRangeStart(PRUint16)

MXR Search

Code Size: 3

content/xslt

MBool txDouble::isNeg(double)

MXR Search

Code Size: 5

PRInt32 txNamespaceMap::lookupNamespace(const nsAString_internal&)

MXR Search

Code Size: 8

Note: Only lookupNamespace(nsIAtom*) is used

txXPathNode* txXPathNodeUtils::getDocument(const txXPathNode&)

MXR Search

Code Size: 11

PRBool txEarlyEvalContext::isStripSpaceAllowed(const txXPathNode&)

MXR Search

Code Size: 2

PRBool txExecutionState::isStripSpaceAllowed(const txXPathNode&)

MXR Search

Code Size: 6

PRBool txXSLTParamContext::isStripSpaceAllowed(const txXPathNode&)

MXR Search

Code Size: 2

Note: Difficult to check but all PRBool isStripSpaceAllowed functions are dead. There are a number of MBool isStripSpaceAllowed functions which are not, however.

nsresult txResultRecycler::getNodeSet(const txXPathNode&,txNodeSet**)

MXR Search

Code Size: 29

content/xul

PRBool TestNode::HasAncestor(const ReteNode*)

MXR Search

Code Size: 11

PRBool nsXULDocument::ContextStack::IsInsideXULTemplate()

MXR Search

Code Size: 16

content/xbl

nsCOMArray* nsXBLPrototypeBinding::GetStyleSheets()

MXR Search

Code Size: 6

content/canvas

void mozilla::CanvasUtils::LogMessagef(const char*)

MXR Search

Code Size: 24

void mozilla::CanvasUtils::LogMessage(const nsCString&)

MXR Search Difficult to verify

Code Size: 26

modules/libreg

REGERR NR_RegIsWritable(HREG)

MXR Search

Code Size: 18

REGERR VR_PackRegistry(void*,nr_RegPackCallbackFunc)

MXR Search

Code Size: 9

Path Info: VR_UninstallEnumSharedFiles calls NR_RegEnumEntries

REGERR NR_RegEnumEntries(HREG,RKEY,REGENUM*,char*,uint32,REGINFO*)

MXR Search

Code Size: 60

REGERR VR_UninstallEnumSharedFiles(char*,REGENUM*,char*,uint32)

MXR Search

Code Size: 57

Note: NR_RegEnumEntries is called by nr_addNodesToNewReg which is #ifdef RESURRECT_LATER here http://mxr.mozilla.org/mozilla-central/source/modules/libreg/src/reg.c#3650 (with a comment saying resurrect after mozilla 1)

Path Info: VR_PackRegistry calls NR_RegPack

REGERR NR_RegPack(HREG,void*,nr_RegPackCallbackFunc)

MXR Search

Code Size: 2

REGERR VR_PackRegistry(void*,nr_RegPackCallbackFunc)

MXR Search

Code Size: 9

modules/libpref

nsresult PREF_GetCharPref(const char*,char*,int*,PRBool)

MXR Search

Code Size: 47

modules/plugin

bool mozilla::plugins::parent::::_tostring(NPObject*,NPVariant*)

MXR Search

Code Size: 7

accessible

const gchar* ::getDocumentTypeCB(AtkDocument*)

loc: accessible/src/atk/nsMaiInterfaceDocument.cpp

MXR Search (dead callback function - woohoo)

Code Size: 42

Path info: AddTargetFromChildrenHavingIDRefsAttr calls GetElementsHavingIDRefsAttr which calls GetElementsHavingIDRefsAttrImpl.

void nsCoreUtils::GetElementsHavingIDRefsAttrImpl(nsIContent*,nsCString&,nsIAtom*,nsIMutableArray*)

MXR Search

Code Size: 42, ^

void nsCoreUtils::GetElementsHavingIDRefsAttr(nsIContent*,nsIContent*,nsIAtom*,nsIArray**)

MXR Search

Code Size: 0? Really?, ^

nsresult nsRelUtils::AddTargetFromChildrenHavingIDRefsAttr(PRUint32,nsIAccessibleRelation**,nsIContent*,nsIContent*,nsIAtom*)

MXR Search

Code Size: 52, ^

already_AddRefed nsAccUtils::QueryAccessibleTable(nsIAccessibleTable*)

MXR Search

Code Size: 7, ^

already_AddRefed nsCoreUtils::GetLastSensibleColumn(nsITreeBoxObject*)

MXR Search

Code Size: 40, ^

embedding/components/windowwatcher

nsIScriptGlobalObject* nsWWJSUtils::GetStaticScriptGlobal(JSContext*,JSObject*)

Declaration Definition MXR Search

Code Size: 45, Static method

nsIScriptContext* nsWWJSUtils::GetStaticScriptContext(JSContext*,JSObject*)

Declaration Definition MXR Search

Code Size: 10, Static method

modules/libpref

nsresult PREF_GetCharPref(const char*,char*,int*,PRBool)

Definition MXR Search

Code Size: 47

gfx/thebes/public

Path info: MapCharToGlyph calls MapCharToGlyphFormat4

PRUint32 gfxFontUtils::MapCharToGlyphFormat4(const PRUint8*,PRUnichar)

Declaration Definition MXR Search

Code Size: 92, Static method, class marked THEBES_API

PRUint32 gfxFontUtils::MapCharToGlyph(PRUint8*,PRUint32,PRUnichar)

Declaration Definition MXR Search

Code Size: 11, Static method, class marked THEBES_API

gfx/src/thebes

Path info: GetTextDimensions calls GetTextDimensionsInternal

nsresult nsThebesRenderingContext::GetTextDimensions(const PRUnichar*,PRInt32,PRInt32,PRInt32*,PRInt32,nsTextDimensions&,PRInt32&,nsTextDimensions&,PRInt32*)

MXR Search

Code Size: 56

nsresult nsThebesRenderingContext::GetTextDimensionsInternal(const PRUnichar*,PRInt32,PRInt32,PRInt32*,PRInt32,nsTextDimensions&,PRInt32&,nsTextDimensions&,PRInt32*)

MXR Search

Code Size: 2

MXR Search

Note: The 9 argument versions of these functions are not called. The same functions may be removed from nsIThebesFontMetrics, nsThebesFontMetrics and nsIThebesRenderingContext

nsresult nsThebesRenderingContext::DrawEllipse(const nsRect&)

MXR Search

Code Size: 10

Note: 1-arg func never used. Must be removed from nsIThebesRenderingContext as well

modules/libpr0n

PRUint32 imgFrame::GetImageBytesPerRow()

Declaration Definition MXR Search

Code Size: 11

PRInt32 imgFrame::GetHeight()

Declaration Definition MXR Search (Dead, but a pain to check)

Code Size: 2

PRInt32 imgFrame::GetWidth()

Declaration Definition MXR Search (Dead, but a pain to check)

Code Size: 2

PRInt32 imgFrame::GetY()

Declaration Definition MXR Search (impossible to check)

Code Size: 2

PRInt32 imgFrame::GetX()

Declaration Definition MXR Search (impossible to check)

Code Size: 2

editor

nsresult nsHTMLCSSUtils::RemoveCSSProperty(nsIDOMElement*,const nsAString_internal&)

MXR Search

Code Size: 28

nsresult nsTextServicesDocument::GetDocument(nsIDOMDocument**)

loc: editor/txtsvc/src/nsTextServicesDocument.h

MXR Search

Code Size: 0, virtual

nsresult nsITextServicesDocument::GetDocument(nsIDOMDocument**)

loc: editor/txtsvc/public/nsITextServicesDocument.h

MXR Search

Code Size: 0, virtual

security/manager/ssl

Path Info:

CommonAsyncVerifySignature is called by AsyncVerifySignature and AsyncVerifyDetachedSignature.

nsresult nsCMSMessage::CommonAsyncVerifySignature(nsISMimeVerificationListener*,unsigned char*,PRUint32)

MXR Search

Code Size: 43

nsresult nsCMSMessage::AsyncVerifyDetachedSignature(nsISMimeVerificationListener*,unsigned char*,PRUint32)

MXR Search

Code Size: 6

nsresult nsCMSMessage::AsyncVerifySignature(nsISMimeVerificationListener*)

MXR Search

Code Size: 3 (It will also take two nsCOMPtr::operator=' along with it, both with code size 5)

intl

nsresult nsCaseConversionImp2::ToTitle(const PRUnichar*,PRUnichar*,PRUint32,PRBool)

MXR Search

Code Size: 42

Note: Must also be removed from nsICaseConversion

PRUint16* MapperToCCMap(nsICharRepresentable*)

MXR Search

Code Size: 15

void nsBufferDecoderSupport::DoubleBuffer()

MXR Search

Code Size: 19

nsresult nsDetectionAdaptor::ProcessTokens()

MXR Search

Code Size: 2

nsresult nsDetectionAdaptor::WillAddToken(CToken&)

MXR Search

Code Size: 2

Note: ProcessTokens and WillAddTokens must be removed from nsIParserFilter as well.

nsDebugDetector::nsDebugDetector(nsDebugDetectorSel)

MXR Search

Code Size: 10

dom

nsresult nsIScriptGlobalObject::HandleScriptError(nsScriptErrorEvent*,nsEventStatus*)

MXR Search

Code Size: 3

void nsJSContext::SetDefaultLanguageVersion(PRUint32)

loc: dom/base/nsJSEnvironment.h

MXR Search

Code Size: 0, virtual

void nsIScriptContext::SetDefaultLanguageVersion(PRUint32)

loc: dom/base/nsIScriptContext.h

MXR Search

Code Size: 0, virtual

parser

void nsCParserNode::SetGenericState(PRBool)

MXR Search

Code Size: 3

PRBool nsCParserNode::GetGenericState()

MXR Search

Code Size: 3

const nsAString_internal& nsCParserNode::GetTagName()

MXR Search

Code Size: 3

void nsCParserNode::GetSource(nsString&)

Code Size: 22

MXR Search

void nsCParserStartNode::GetSource(nsString&)

MXR Search

Code Size: 35

Note: pure virtual declarations of SetGenericState, GetGenericState, GetTagName, and GetSource must be removed from nsIParserNode as well. Although tough to check, all one argument GetSource methods (that are used) belong to classes not derived from nsIParserNode.

Path Info: nsDTDContext::PopEntry() calls nsEntryStack::PopEntry()

nsTagEntry* nsEntryStack::PopEntry()

MXR Search

Code Size: 7

nsTagEntry* nsDTDContext::PopEntry()

MXR Search

Code Size: 7

nsCParserNode* nsDTDContext::PopStyle()

MXR Search

Code Size: 18

nsTagEntry* nsDTDContext::LastEntry()

MXR Search

Code Size: 6

nsHTMLTag nsEntryStack::First()

MXR Search

Code Size: 7

nsHTMLTag nsDTDContext::First()

MXR Search

Code Size: 4

Note: First is impossible to verify using MXR but the likelihood of a false positive is low here (since the method is non-virtual and non-static)

ipc

There is a tonne of dead ipc/chromium stuff not listed here. I'm operating on the assumption it will be too much of a hassle to deal with.

bool mozilla::ipc::GeckoChildProcessHost::AsyncLaunch(vector)

MXR Search

Code Size: 17

widget

PRBool confirm_overwrite_file(GtkWidget*,nsILocalFile*)

MXR Search

Code Size: 95

nsresult nsDeviceContextSpecGTK::GetPrintMethod(PrintMethod&)

MXR Search

Code Size: 4

void nsPrinterFeatures::SetMultipleConcurrentDeviceContextsSupported(PRBool)

MXR Search

Code Size: 2

nsCursor nsBaseWidget::GetCursor()

MXR Search

Code Size: 2

Note: Must also be removed from nsIWidget.

extensions

nsresult nsCyrXPCOMStringDetector::DoIt(const char*,PRUint32,const char**,nsDetectionConfident&)

MXR Search

Code Size: 19

nsresult nsXPCOMStringDetector::DoIt(const char*,PRUint32,const char**,nsDetectionConfident&)

MXR Search

Code Size: 32

view

nsIntPoint nsIView::GetScreenPosition()

MXR Search

Code Size: 39

nsresult nsViewManager::GetViewObserver(nsIViewObserver*&)

MXR Search

Code Size: 16

void nsView::SetPositionIgnoringChildWidgets(nscoord,nscoord)

MXR Search

Code Size: 14

nsresult nsViewManager::MoveViewBy(nsIView*,nscoord,nscoord)

MXR Search

Code Size: 14

nsresult nsViewManager::InsertChild(nsIView*,nsIView*,PRInt32)

MXR Search

Code Size: 10

PRBool nsIView::ExternalIsRoot()

MXR Search

Code Size: 3

Note: Used in an NS_ASSERTION here. Why not just call nsIView::IsRoot?


void nsIPresShell::SetVerifyReflowEnable(PRBool)

MXR Search (called by ifdef DEBUG code)

Code Size: 2

PRBool nsIPresShell::GetVerifyReflowEnable()

MXR Search (called by ifdef DEBUG code)

Code Size: 2

layout/inspector

void inSearchLoop::inSearchLoop(inISearchProcess*)

MXR Search (This'll take an nsCOMPtr::operator= along with it)

Code Size: 11

      • Upon further examination, the whole layout/inspector module seems unused. All of the classes from these files end up in an NS_GENERIC_FACTORY_CONSTRUCTOR (except inSearchLoop). The Makefile also claims "This library is used by other shared libs in a static build". Reading this mdc page, this is apparently used for the DOM Inspector, but does it/should it make its way into libxul?

xpcom/components

Don't know if this stuff can be touched

nsresult nsServiceManager::GetGlobalServiceManager(nsIServiceManager**)

MXR Search

Code Size: 15

nsresult nsServiceManager::ShutdownGlobalServiceManager(nsIServiceManager**)

MXR Search

Code Size: 2

xpcom/base

nsresult nsTraceRefcntImpl::LogAddRef(void*,nsrefcnt,const char*,PRUint32) et al

6 of the functions of this class are dead but the idl file lists the classes status as frozen (and deprecated).

Called by NS_ASSERTIONs/ifdefine DEBUG etc

layout/style

PRBool nsCSSPseudoElements::IsPseudoElement(nsIAtom*)

loc: layout/style/nsCSSPseudoElements.h

MXR Search

Code Size: 3, static

False Positives/Stuff that shouldn't be dealt with

accessible

These are all inherit from a template base class so these individual methods are unuded but removing them requires a major design change

PRBool nsFontSizeTextAttr::GetValueFor(nsIDOMElement*,nscoord*)

MXR Search

Code Size: 8

PRBool nsBGColorTextAttr::GetValueFor(nsIDOMElement*,nscolor*)

MXR Search

Code Size: 7

PRBool nsFontWeightTextAttr::GetValueFor(nsIDOMElement*,PRInt32*)

MXR Search

Code Size: 8

Path info: GetValue calls nsCSSTextAttr::Format

PRBool nsTextAttr::GetValue(nsAString_internal&,int)

this search

Code Size: 26

void nsCSSTextAttr::Format(const nsAutoString&,nsAString_internal&)

Code Size: 3

void nsTextAttr::Format(const nsAutoString&,nsAString_internal&)

Code Size: 0

void nsLangTextAttr::Format(const nsAutoString&,nsAString_internal&)

Code Size: 7

layout/xul

gfxContext* nsContextBoxBlur::GetContext()

MXR Search

Code Size: 4

Note: according to comments in Init, that it "Prepares a gfxContext to draw on. Do not call this twice; if you want to get the gfxContext again use GetContext()", this probably shouldn't be removed.

layout/generic

nsRect nsIFrame::GetScreenRectInAppUnitsExternal()

MXR Search roc: may be used outside of tree

Code Size: 3

=== layout/style

nsCSSFontDesc nsCSSProps::LookupFontDesc(const nsACString_internal&)

MXR Search (Only the nsAString version is apparently used but what about this line?)

Code Size: 4

nsCSSProperty nsCSSProps::LookupProperty(const nsACString_internal&)

MXR Search Only nsAString version used (maybe)

Code Size: 5

nsCSSKeyword nsCSSKeywords::LookupKeyword(const nsACString_internal&)

MXR Search (Only the nsAString version is apparently used but what about this line?)

Code Size: 7

nsCSSKeyword nsCSSKeywords::LookupKeyword(const nsACString_internal&)

loc: layout/style/nsCSSKeywords.h

MXR Search

Code Size: 7, static, nsAString version used

nsCSSValueGradientStop::nsCSSValueGradientStop(const nsCSSValueGradientStop&)

MXR Search (Probably not a good idea to remove this)

Code Size: 7

nsCSSCornerSizes::nsCSSCornerSizes(const nsCSSCornerSizes&)

MXR Search (Probably not a good idea to remove this)

Code Size: 13

nsCSSValueListRect::nsCSSValueListRect(const nsCSSValueListRect&)

MXR Search (Probably not a good idea to remove this)

Code Size: 9

void nsCSSValue::nsCSSValue(nsCSSValueGradient*)

Code Size: 5, !

void nsCSSValue::nsCSSValue(Image*)

Code Size: 5, !

void nsCSSValue::nsCSSValue(URL*)

Code Size: 5, !

void nsCSSValue::nsCSSValue(Array*,nsCSSUnit)

Code Size: 5, !

void nsCSSValue::nsCSSValue(float,nsCSSUnit)

Code Size: 5, !

nsCSSValue( MXR Search

dbaron: maintain the correspondence between setters and constructors