summaryrefslogtreecommitdiff
path: root/lib/esan/esan_hashtable.h
AgeCommit message (Collapse)Author
2016-08-08[esan] Add iterator to esan's generic hashtableDerek Bruening
Summary: Adds simple iterator support to the esan hashtable. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D22682 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@278027 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-08[esan] Add generic resizing hashtableDerek Bruening
Summary: Adds a new, generic, resizing hashtable data structure for use by esan tools. No existing sanitizer hashtable is suitable for the use case for most esan tools: we need non-fixed-size tables, parameterized keys and payloads, and write access to payloads. The new hashtable uses either simple internal or external mutex locking and supports custom hash and comparision operators. The focus is on functionality, not performance, to catalyze creation of a variety of tools. We can optimize the more successful tools later. Adds tests of the data structure. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D22681 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@278024 91177308-0d34-0410-b5e6-96231b3b80d8