diff options
author | msarett <msarett@google.com> | 2016-07-13 13:18:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-13 13:18:40 -0700 |
commit | e92badc3ffce83668f76fcfa33a49784346cab1e (patch) | |
tree | 5c05deb93ca06313ad1916ecaa5f1fe1ebd0ca59 /src/sksl/ir/SkSLSymbolTable.h | |
parent | 16ef465ea92291b860ee5ea8f3d51d5d3f4f1059 (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.h | 19 |
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; }; |