[PATCH] D22681: [esan] Add generic resizing hashtable

Derek Bruening via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 22 08:19:58 PDT 2016


bruening created this revision.
bruening added a reviewer: aizatsky.
bruening added subscribers: llvm-commits, eugenis, kcc, zhaoqin, vitalybuka.
Herald added a subscriber: kubabrecka.

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 pointer types using
overloads to de-reference and allow for 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 a test of the data structure.

https://reviews.llvm.org/D22681

Files:
  lib/esan/esan_hashtable.h
  test/esan/Unit/hashtable.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22681.65080.patch
Type: text/x-patch
Size: 9878 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160722/059a6d14/attachment.bin>


More information about the llvm-commits mailing list