Make unique id counter a member of TSymbolTable
This makes unique id counting thread-safe.
BUG=angleproject:624
TEST=angle_unittests
Change-Id: Ie0f2c7e574470b39750d37d2181c790bc874b275
Reviewed-on: https://chromium-review.googlesource.com/570419
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/ExpandIntegerPowExpressions.cpp b/src/compiler/translator/ExpandIntegerPowExpressions.cpp
index 5cea9e9..f17dd73 100644
--- a/src/compiler/translator/ExpandIntegerPowExpressions.cpp
+++ b/src/compiler/translator/ExpandIntegerPowExpressions.cpp
@@ -22,10 +22,10 @@
class Traverser : public TIntermTraverser
{
public:
- static void Apply(TIntermNode *root, TSymbolUniqueId *temporaryId);
+ static void Apply(TIntermNode *root, TSymbolTable *symbolTable);
private:
- Traverser();
+ Traverser(TSymbolTable *symbolTable);
bool visitAggregate(Visit visit, TIntermAggregate *node) override;
void nextIteration();
@@ -33,10 +33,9 @@
};
// static
-void Traverser::Apply(TIntermNode *root, TSymbolUniqueId *temporaryId)
+void Traverser::Apply(TIntermNode *root, TSymbolTable *symbolTable)
{
- Traverser traverser;
- traverser.useTemporaryId(temporaryId);
+ Traverser traverser(symbolTable);
do
{
traverser.nextIteration();
@@ -48,7 +47,7 @@
} while (traverser.mFound);
}
-Traverser::Traverser() : TIntermTraverser(true, false, false)
+Traverser::Traverser(TSymbolTable *symbolTable) : TIntermTraverser(true, false, false, symbolTable)
{
}
@@ -146,9 +145,9 @@
} // anonymous namespace
-void ExpandIntegerPowExpressions(TIntermNode *root, TSymbolUniqueId *temporaryId)
+void ExpandIntegerPowExpressions(TIntermNode *root, TSymbolTable *symbolTable)
{
- Traverser::Apply(root, temporaryId);
+ Traverser::Apply(root, symbolTable);
}
} // namespace sh