llvm-project/llvm/lib/ExecutionEngine/Orc
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
..
CMakeLists.txt [ORC] Move SimpleCompiler/ConcurrentIRCompiler definitions into a .cpp file. 2019-04-30 22:42:01 +00:00
CompileOnDemandLayer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CompileUtils.cpp [ORC] Move SimpleCompiler/ConcurrentIRCompiler definitions into a .cpp file. 2019-04-30 22:42:01 +00:00
Core.cpp [ORC] Change handling for SymbolStringPtr tombstones and empty keys. 2019-05-16 18:29:34 +00:00
ExecutionUtils.cpp [ORC] Allow JITDylib definition generators to return Errors. 2019-04-30 00:03:26 +00:00
IRCompileLayer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IRTransformLayer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IndirectionUtils.cpp [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
JITTargetMachineBuilder.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LLJIT.cpp [ORC] Replace the LLJIT/LLLazyJIT Create methods with Builder utilities. 2019-04-29 22:37:27 +00:00
LLVMBuild.txt [JITLink][ORC] Add JITLink to the list of dependencies for ORC. 2019-04-20 22:15:57 +00:00
Layer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LazyReexports.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Legacy.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
NullResolver.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ObjectLinkingLayer.cpp [ORC] Add a 'plugin' interface to ObjectLinkingLayer for events/configuration. 2019-04-26 22:58:39 +00:00
ObjectTransformLayer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OrcABISupport.cpp [Support] Add error handling to sys::Process::getPageSize(). 2019-05-08 02:11:07 +00:00
OrcCBindings.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OrcCBindingsStack.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OrcError.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OrcMCJITReplacement.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OrcMCJITReplacement.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RPCUtils.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RTDyldObjectLinkingLayer.cpp [ORC] Pass object buffer ownership back in NotifyEmitted. 2019-05-01 22:40:23 +00:00
ThreadSafeModule.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00