diff options
| author | Sam Clegg <sbc@chromium.org> | 2019-02-06 02:35:18 +0000 |
|---|---|---|
| committer | Sam Clegg <sbc@chromium.org> | 2019-02-06 02:35:18 +0000 |
| commit | 1f3f774f104998f715783967ee852f4682f87fa8 (patch) | |
| tree | 9d824f71cb1ccf2c902ac9f331d4a56b857869dd /lld/wasm/SymbolTable.h | |
| parent | c1950aa1836e7f63925f97761cfcc9ad96d315cf (diff) | |
| download | bcm5719-llvm-1f3f774f104998f715783967ee852f4682f87fa8.tar.gz bcm5719-llvm-1f3f774f104998f715783967ee852f4682f87fa8.zip | |
[WebAssembly] Implement --trace and --trace-symbol
Differential Revision: https://reviews.llvm.org/D57725
llvm-svn: 353264
Diffstat (limited to 'lld/wasm/SymbolTable.h')
| -rw-r--r-- | lld/wasm/SymbolTable.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lld/wasm/SymbolTable.h b/lld/wasm/SymbolTable.h index f0bdd6cc01c..ed5c0ca77dd 100644 --- a/lld/wasm/SymbolTable.h +++ b/lld/wasm/SymbolTable.h @@ -46,8 +46,11 @@ public: void reportRemainingUndefines(); ArrayRef<Symbol *> getSymbols() const { return SymVector; } + Symbol *find(StringRef Name); + void trace(StringRef Name); + Symbol *addDefinedFunction(StringRef Name, uint32_t Flags, InputFile *File, InputFunction *Function); Symbol *addDefinedData(StringRef Name, uint32_t Flags, InputFile *File, @@ -76,8 +79,12 @@ public: private: std::pair<Symbol *, bool> insert(StringRef Name, InputFile *File); + std::pair<Symbol *, bool> insertName(StringRef Name); - llvm::DenseMap<llvm::CachedHashStringRef, Symbol *> SymMap; + // Maps symbol names to index into the SymVector. -1 means that symbols + // is to not yet in the vector but it should have tracing enabled if it is + // ever added. + llvm::DenseMap<llvm::CachedHashStringRef, int> SymMap; std::vector<Symbol *> SymVector; llvm::DenseSet<llvm::CachedHashStringRef> Comdats; |

