Store invariant varying names as ImmutableString
This gets rid of a few extra ImmutableString to std::string
conversions which makes the code clearer. There doesn't seem to be any
significant effect on performance.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: I36ebbc8a4130ab8f9d6194feca83ec5dcbc95f78
Reviewed-on: https://chromium-review.googlesource.com/916141
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/SymbolTable.cpp b/src/compiler/translator/SymbolTable.cpp
index 94f53c1..6b188c1 100644
--- a/src/compiler/translator/SymbolTable.cpp
+++ b/src/compiler/translator/SymbolTable.cpp
@@ -36,9 +36,9 @@
TSymbol *find(const ImmutableString &name) const;
- void addInvariantVarying(const std::string &name) { mInvariantVaryings.insert(name); }
+ void addInvariantVarying(const ImmutableString &name) { mInvariantVaryings.insert(name); }
- bool isVaryingInvariant(const std::string &name)
+ bool isVaryingInvariant(const ImmutableString &name)
{
return (mGlobalInvariant || mInvariantVaryings.count(name) > 0);
}
@@ -54,7 +54,7 @@
tLevel level;
- std::set<std::string> mInvariantVaryings;
+ std::set<ImmutableString> mInvariantVaryings;
bool mGlobalInvariant;
};
@@ -717,13 +717,13 @@
return prec;
}
-void TSymbolTable::addInvariantVarying(const std::string &originalName)
+void TSymbolTable::addInvariantVarying(const ImmutableString &originalName)
{
ASSERT(atGlobalLevel());
mTable.back()->addInvariantVarying(originalName);
}
-bool TSymbolTable::isVaryingInvariant(const std::string &originalName) const
+bool TSymbolTable::isVaryingInvariant(const ImmutableString &originalName) const
{
ASSERT(atGlobalLevel());
return mTable.back()->isVaryingInvariant(originalName);