User Details
- User Since
- Dec 17 2017, 4:06 AM (312 w, 4 h)
Jun 27 2022
Ping.
Jun 15 2022
Ping.
Jun 14 2022
Jun 8 2022
Ping.
May 26 2022
May 24 2022
Added a unittest that explicitly checks the implementation of the hash value has not changed (+ comments on what to do if that ever happens).
May 23 2022
Added documentation for StringMap::hash(), including an explicit comment saying that the implementation is not guaranteed to be stable.
May 22 2022
- use DataExtractor in StringTableReader
- rely on StringMap assert to check that hash algorithm has not changed
- add a function for selecting a pool in ConstString
- use uint32_t for hash in StringMap API
May 21 2022
May 16 2022
May 15 2022
Added to the abi check list, I hope I got it right.
May 14 2022
I'd like to give this another try after all. AFAICT using an inline namespace solves the problem of ABI for non-debug mode, as this way it is not affected at all, while the debug mode std::to_string() is now properly a separate function.
May 8 2022
This is getting too hackish, so I'm abandoning this.
I see. Until that some time, how about at least this one then? It's admitedly ugly, but still less ugly then crashing later after the function has been called.
May 4 2022
Used a temporary variable instead of repeated 'm_string_pools[h]'.
Added assert that the passed-in hash value matches, guarded by EXPENSIVE_CHECKS. It will assert also hashes computed by StringMap itself, but checking only values passed from outside would mean adding a number of *Impl functions and adding asserts in a number of places.
Hashes are saved directly in string table.
Changed filenames of cache files to be different from version 1.
No support for reading old format.
May 3 2022
The prerequisities fo this change have been pushed, so this one is ready.
The "Build Status" here lists a failure, but I cannot reproduce any test failure locally, and in the remote log I do not see any test failure, it looks like the testsuite itself failing. Is that something I should ignore, or am I missing something?
May 1 2022
This makes TestDecodeCStringMaps fail. Is there an easy way for me to re-generate the data for the test?
Apr 30 2022
Changed to use std::call_once().
Updated according to review comments.
Added missing hash write to EncodeCStrMap().
Apr 29 2022
...
That should only produce one hash computation, right?
Apr 28 2022
...
struct HashedStringRef { const llvm::StringRef str; const unsigned full_hash; const uint8_t hash; HashedStringRef(llvm::StringRef s) : str(s), full_hash(djbHash(str)), hash(hash(str)) {} }
...
The external code shouldn't be able to create their own (ctor private/protected, etc) - the only way to get one is to call StringMap to produce one.
Apr 20 2022
Ping.
Apr 18 2022
Added asserts that wait() will not deadlock waiting for itself.
Added more documentation about deadlocks and usage from within threadpool's threads.
Apr 16 2022
Adapted to API changes from D123225.
ThreadPool object is now created/destroyed by Debugger class ctor/dtor.
Adapted to API changes from D123225.
Small tweaks based on feedback.
Changed ThreadPool::TaskGroup to standalone ThreadPoolTaskGroup that has trivial calls forwarding to ThreadPool functions.
Apr 12 2022
The change looks good to me too, if that counts as anything from an outsider. But as an outsider I think you LLVM folks tend to overdo the perfectionism while reviewing. There's rather obviously nothing visibly wrong with the change, the chance it'll break something is extremely low, you apparently know this code, and you pushing this should be fine even according to the policy (the "likely-community-consensus" part) rather than blocking on somebody who apparently has a long enough review queue and could be instead reviewing changes that actually need it (*cough* D122974 *cough*).
Ping @dblaikie ?
Apr 11 2022
Apr 10 2022
Changed to always disable notify and added a comment about that to LoadModuleAtAddress().
Apr 8 2022
Apr 7 2022
Let's first deal with the conceptual stuff, no point in dealing with the small code things as long as there's not agreement that this is the way to implement it.
Apr 6 2022
Apr 5 2022
Ok, parallelizing of only Module::PreloadSymbols() was simpler than I expected and it also works, so I've reworked the patch to do that.
Apr 4 2022
Added a test.