From 928b7cba3ec0eb675a254ff840f398b70e5a8a8c Mon Sep 17 00:00:00 2001 From: James Cook Date: Wed, 25 Nov 2009 22:00:15 -0800 Subject: Linker optimization, use extern template for LLView::getChild<> --- indra/llui/llpanel.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/llui/llpanel.cpp') diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index 063822dd56..3a6c55ba0e 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -58,6 +58,10 @@ static LLDefaultChildRegistry::Register r1("panel", &LLPanel::fromXML); +// Compiler optimization, generate extern template +template class LLPanel* LLView::getChild( + const std::string& name, BOOL recurse) const; + LLPanel::LocalizedString::LocalizedString() : name("name"), value("value") -- cgit v1.2.3 From b50ba67bd8ab329d598ce47e5d3ac09b59fffb63 Mon Sep 17 00:00:00 2001 From: James Cook Date: Sun, 29 Nov 2009 10:19:17 -0800 Subject: Revert extern template link optimization until I can build/test on PC --- indra/llui/llpanel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llui/llpanel.cpp') diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index 3a6c55ba0e..dc5db03a44 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -59,8 +59,8 @@ static LLDefaultChildRegistry::Register r1("panel", &LLPanel::fromXML); // Compiler optimization, generate extern template -template class LLPanel* LLView::getChild( - const std::string& name, BOOL recurse) const; +//template class LLPanel* LLView::getChild( +// const std::string& name, BOOL recurse) const; LLPanel::LocalizedString::LocalizedString() : name("name"), -- cgit v1.2.3 From 7d3b3cc474822db144b623980d08b7addc2f77ff Mon Sep 17 00:00:00 2001 From: James Cook Date: Mon, 30 Nov 2009 14:41:52 -0800 Subject: Linker optimization - use "extern template" for commonly regenerated templates Also replaced many duplicate calls to LLViewerCamera::getInstance() with local pointer. Reviewed with Ambroff --- indra/llui/llpanel.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'indra/llui/llpanel.cpp') diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index dc5db03a44..750b190953 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -34,6 +34,7 @@ #include "linden_common.h" +#define LLPANEL_CPP #include "llpanel.h" #include "llalertdialog.h" @@ -59,8 +60,8 @@ static LLDefaultChildRegistry::Register r1("panel", &LLPanel::fromXML); // Compiler optimization, generate extern template -//template class LLPanel* LLView::getChild( -// const std::string& name, BOOL recurse) const; +template class LLPanel* LLView::getChild( + const std::string& name, BOOL recurse) const; LLPanel::LocalizedString::LocalizedString() : name("name"), -- cgit v1.2.3