Make unit.cpp not take forever to compile
The AtomicHashMap constructor seems to be causing
Unit::GetNamedEntity to take forever to compile in the opt build, so I
moved the initialization out of that function and marked it #pragma
GCC optimize ("O0") to prevent whatever crazy optimization is freaking
gcc out.
Esse commit está contido em:
@@ -103,13 +103,18 @@ size_t Unit::GetNamedEntityTableSize() {
|
||||
return s_namedDataMap ? s_namedDataMap->size() : 0;
|
||||
}
|
||||
|
||||
NEVER_INLINE
|
||||
static void initializeNamedDataMap() {
|
||||
NamedEntityMap::Config config;
|
||||
config.growthFactor = 1;
|
||||
s_namedDataMap =
|
||||
new NamedEntityMap(RuntimeOption::EvalInitialNamedEntityTableSize,
|
||||
config);
|
||||
}
|
||||
|
||||
NamedEntity* Unit::GetNamedEntity(const StringData* str) {
|
||||
if (UNLIKELY(!s_namedDataMap)) {
|
||||
NamedEntityMap::Config config;
|
||||
config.growthFactor = 1;
|
||||
s_namedDataMap =
|
||||
new NamedEntityMap(RuntimeOption::EvalInitialNamedEntityTableSize,
|
||||
config);
|
||||
initializeNamedDataMap();
|
||||
}
|
||||
NamedEntityMap::iterator it = s_namedDataMap->find(str);
|
||||
if (LIKELY(it != s_namedDataMap->end())) return &it->second;
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário