llvm-project/llvm/lib/ExecutionEngine
Lang Hames c97b50e224 [ORC] Change handling for SymbolStringPtr tombstones and empty keys.
SymbolStringPtr used to use nullptr as its empty value and (since it performed
ref-count operations on any non-nullptr) a pointer to a special pool-entry
instance as its tombstone.

This commit changes the scheme to use two invalid pointer values as the empty
and tombstone values, and broadens the ref-count guard to prevent ref-counting
operations from being performed on these pointers. This should improve the
performance of SymbolStringPtrs used in DenseMaps/DenseSets, as ref counting
operations will no longer be performed on the tombstone.

llvm-svn: 360925
2019-05-16 18:29:34 +00:00
..
IntelJITEvents [DebugInfo] IntelJitEventListener follow up for "add SectionedAddress ..." 2019-03-25 13:50:26 +00:00
Interpreter Add newline to interpreter debugging output 2019-03-07 10:14:38 +00:00
JITLink Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
MCJIT Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OProfileJIT Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Orc [ORC] Change handling for SymbolStringPtr tombstones and empty keys. 2019-05-16 18:29:34 +00:00
PerfJITEvents Fix LLVM_USE_PERF build after getPageSize change 2019-05-09 10:10:44 +00:00
RuntimeDyld Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
CMakeLists.txt Initial implementation of JITLink - A replacement for RuntimeDyld. 2019-04-20 17:10:34 +00:00
ExecutionEngine.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ExecutionEngineBindings.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
GDBRegistrationListener.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LLVMBuild.txt Initial implementation of JITLink - A replacement for RuntimeDyld. 2019-04-20 17:10:34 +00:00
SectionMemoryManager.cpp [Support] Add error handling to sys::Process::getPageSize(). 2019-05-08 02:11:07 +00:00
TargetSelect.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00