aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/ir/SkSLSymbolTable.h
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-07-13 13:18:40 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-07-13 13:18:40 -0700
commite92badc3ffce83668f76fcfa33a49784346cab1e (patch)
tree5c05deb93ca06313ad1916ecaa5f1fe1ebd0ca59 /src/sksl/ir/SkSLSymbolTable.h
parent16ef465ea92291b860ee5ea8f3d51d5d3f4f1059 (diff)
Revert of SkSL performance improvements (patchset #6 id:140001 of https://codereview.chromium.org/2131223002/ )
Reason for revert: Valgrind bot failures https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1224/steps/test_skia%20on%20Ubuntu/logs/stdio Original issue's description: > SkSL performance improvements (plus a couple of minor warning fixes) > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 > > Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc TBR=benjaminwagner@google.com,egdaniel@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/2143323003
Diffstat (limited to 'src/sksl/ir/SkSLSymbolTable.h')
-rw-r--r--src/sksl/ir/SkSLSymbolTable.h19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/sksl/ir/SkSLSymbolTable.h b/src/sksl/ir/SkSLSymbolTable.h
index d732023ff0..151475d642 100644
--- a/src/sksl/ir/SkSLSymbolTable.h
+++ b/src/sksl/ir/SkSLSymbolTable.h
@@ -10,14 +10,12 @@
#include <memory>
#include <unordered_map>
-#include <vector>
#include "SkSLErrorReporter.h"
#include "SkSLSymbol.h"
+#include "SkSLUnresolvedFunction.h"
namespace SkSL {
-struct FunctionDeclaration;
-
/**
* Maps identifiers to symbols. Functions, in particular, are mapped to either FunctionDeclaration
* or UnresolvedFunction depending on whether they are overloaded or not.
@@ -31,22 +29,17 @@ public:
: fParent(parent)
, fErrorReporter(errorReporter) {}
- const Symbol* operator[](const std::string& name);
-
- void add(const std::string& name, std::unique_ptr<Symbol> symbol);
+ std::shared_ptr<Symbol> operator[](const std::string& name);
- void addWithoutOwnership(const std::string& name, const Symbol* symbol);
-
- Symbol* takeOwnership(Symbol* s);
+ void add(const std::string& name, std::shared_ptr<Symbol> symbol);
const std::shared_ptr<SymbolTable> fParent;
private:
- static std::vector<const FunctionDeclaration*> GetFunctions(const Symbol& s);
-
- std::vector<std::unique_ptr<Symbol>> fOwnedPointers;
+ static std::vector<std::shared_ptr<FunctionDeclaration>> GetFunctions(
+ const std::shared_ptr<Symbol>& s);
- std::unordered_map<std::string, const Symbol*> fSymbols;
+ std::unordered_map<std::string, std::shared_ptr<Symbol>> fSymbols;
ErrorReporter& fErrorReporter;
};