diff options
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; |

