Displaying 8 results from an estimated 8 matches for "numtombston".
Did you mean:
numtombstones
2011 Mar 15
10
[LLVMdev] Prevent unbounded memory consuption of long lived JIT processes
This series of patches address several issues causing memory usage to grow
indefinetely on a long lived process.
These are not convenional leaks -- memory would have been freed when the LLVM
context or/and JIT engine is destroyed -- but for as long as they aren't the
memory is usage effectively ubounded.
The issues were found using valgrind with '--show-reachable=yes' option:
1.
2015 Jul 11
2
[LLVMdev] StringMap question
...of zeroing of all fields of RHS in the
body of this constructor if the declaration of the constructor uses move
semantics? Here is the consturctor code below:
*StringMapImpl(StringMapImpl &&RHS)*
* : TheTable(RHS.TheTable), NumBuckets(RHS.NumBuckets),*
* NumItems(RHS.NumItems), NumTombstones(RHS.NumTombstones),*
* ItemSize(RHS.ItemSize) {*
* RHS.TheTable = nullptr;*
* RHS.NumBuckets = 0;*
* RHS.NumItems = 0;*
* RHS.NumTombstones = 0;*
* }*
Thank you very much!
BR,
Valeriy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://...
2016 Apr 28
2
Why duplicate "protected:" in SmallVector.h, StringMap.h?
...Array of NumBuckets pointers to entries, null pointers are holes.
// TheTable[NumBuckets] contains a sentinel value for easy iteration.
Followed
// by an array of the actual hash values as unsigned integers.
StringMapEntryBase **TheTable;
unsigned NumBuckets;
unsigned NumItems;
unsigned NumTombstones;
unsigned ItemSize;
*protected:*
explicit StringMapImpl(unsigned itemSize)
: TheTable(nullptr),
is the second "protected:" a coding style that should be preserved?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/piper...
2011 Mar 15
0
[LLVMdev] [PATCH 1/5] Prevent infinite growth of the DenseMap.
...lvm/ADT/DenseMap.h
+++ b/include/llvm/ADT/DenseMap.h
@@ -289,11 +289,14 @@ private:
// table completely filled with tombstones, no lookup would ever succeed,
// causing infinite loops in lookup.
++NumEntries;
- if (NumEntries*4 >= NumBuckets*3 ||
- NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) {
+ if (NumEntries*4 >= NumBuckets*3) {
this->grow(NumBuckets * 2);
LookupBucketFor(Key, TheBucket);
}
+ if (NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) {
+ this->grow(NumBuckets);
+ LookupBucketFor(Key, TheBucket);
+...
2011 Mar 16
0
[LLVMdev] Prevent unbounded memory consuption of long lived JIT processes
On Mar 15, 2011, at 4:15 PM, jfonseca at vmware.com wrote:
> This series of patches address several issues causing memory usage to grow
> indefinetely on a long lived process.
Thanks for working on this.
Did you measure the performance impact of these changes?
/jakob
2009 Apr 28
2
[LLVMdev] infinite looping on hashtables
...// probe almost the entire table until it found the empty
bucket. If the
// table completely filled with tombstones, no lookup would ever
succeed,
// causing infinite loops in lookup.
+ ++NumEntries;
if (NumEntries*4 >= NumBuckets*3 ||
NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) {
this->grow(NumBuckets * 2);
LookupBucketFor(Key, TheBucket);
}
- ++NumEntries;
// If we are writing over a tombstone, remember this.
if (!KeyInfoT::isEqual(TheBucket->first, getEmptyKey()))
----------------------------------------...
2011 Mar 16
2
[LLVMdev] Prevent unbounded memory consuption of long lived JIT processes
...reduce memory usage; there might be some cases
(e.g., frequent updates with a small bounded number of elements) where
it may trade off an exponentially growing table size (i.e., memory) for
more rehashes (i.e., cpu), but that should be a win on nowadays
processors.
- patch 4 (Reset StringMap's NumTombstones on clears and rehashes)
should improve performance
- patch 5 refers to a function that doesn't get called frequently
Jose
2019 Nov 18
2
Unable to parse command line more than once using llvm libraries?
Thanks,
I tried calling ResetAllOptionOccurrences after the run like this…
// Compile the module TimeCompilations times to give better compile time
// metrics.
for (unsigned I = TimeCompilations; I; --I)
if (int RetVal = compileModule(argv, Context))
return RetVal;
if (YamlFile)
YamlFile->keep();
cl::ResetAllOptionOccurrences();
return 0;
}
Unfortunately