Avoid some unnecessary PLT indirections for constructor calls

refs #8890
This commit is contained in:
Gunnar Beutner 2015-03-28 16:13:44 +01:00
parent f8b48cc03b
commit 2cbc3142dc
4 changed files with 16 additions and 1 deletions

View File

@ -45,6 +45,12 @@ public:
typedef std::vector<Value>::size_type SizeType;
inline Array(void)
{ }
inline ~Array(void)
{ }
Value Get(unsigned int index) const;
void Set(unsigned int index, const Value& value);
void Add(const Value& value);

View File

@ -49,6 +49,12 @@ public:
typedef std::pair<String, Value> Pair;
inline Dictionary(void)
{ }
inline ~Dictionary(void)
{ }
Value Get(const char *key) const;
Value Get(const String& key) const;
void Set(const String& key, const Value& value);

View File

@ -69,6 +69,9 @@ public:
: m_Data(other.m_Data)
{ }
inline ~String(void)
{ }
template<typename InputIterator>
String(InputIterator begin, InputIterator end)
: m_Data(begin, end)

View File

@ -597,7 +597,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
std::string realType = it->Type.GetRealType();
m_Header << "private:" << std::endl
<< "\t" << realType << " GetDefault" << it->GetFriendlyName() << "(void) const;" << std::endl;
<< "\t" << "inline " << realType << " GetDefault" << it->GetFriendlyName() << "(void) const;" << std::endl;
m_Impl << realType << " ObjectImpl<" << klass.Name << ">::GetDefault" << it->GetFriendlyName() << "(void) const" << std::endl
<< "{" << std::endl;