- 22 Sep, 2013 1 commit
-
-
Philip Pronin authored
Test Plan: fbconfig folly/experimental/test:elias_fano_test && fbmake runtests_opt Reviewed By: tudorb@fb.com FB internal diff: D962971
-
- 08 Sep, 2013 5 commits
-
-
Jordan DeLong authored
@override-unit-failures Summary: Not that much. Test Plan: Compiled hphp with clang. Reviewed By: oyamauchi@fb.com FB internal diff: D954663
-
Andrew Gallagher authored
Summary: The fbstring constructor does word-aligned copies which may creep past the end of the C string, which address sanitizer doesn't like. This also adds a address-sanitizer-disabling-attribute to both Portability.h (for general use) and a (gross) copy in FBString.h since it gets put into libstdc++. Test Plan: ran address sanitizer on folly tests Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D950586
-
bsimmers authored
Summary: Errors that happen during format are almost always programmer error in the form of a bad format string. Abort instead of throwing in these cases. Test Plan: automated tests, added a couple new tests Reviewed By: tudorb@fb.com FB internal diff: D947470
-
Dave Watson authored
Summary: fbinject (clang code parser) throws some errors when including the x86intrinsic header. Test Plan: D929356 compiles after this diff. It adds a dep on RWSpinLock. Reviewed By: beng@fb.com FB internal diff: D950285
-
Tudor Bosman authored
Summary: @override-unit-failures Flaky unit tests passed on the second try, but the git hook still complains Test Plan: iobuf_cursor_test Reviewed By: philipp@fb.com FB internal diff: D948768
-
- 29 Aug, 2013 2 commits
-
-
Sean Cannella authored
Summary: - gcc 4.8 + boost 1.53 do not like the Oxford comma in template arguments Test Plan: compiled on OSX with gcc 4.8 and boost 1.53 Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D949373
-
Tudor Bosman authored
Summary: Make QueueAppender (as used in the thrift2 protocol writer) much faster. Benchmarks in a separate diff (for thrift2). A few things: - remove IOBuf range checks in optimized mode - simplify QueueAppender: maxGrowth wasn't used, removed it - simplify QueueAppender: don't duplicate the work in IOBufQueue, let IOBufQueue keep track of memory - speed up IOBuf::isSharedOne(): fast-path case where the buffer was never shared (so don't read the reference count in that case) - fast-path in QueueAppender if size is known at compile time @override-unit-failures compilation errors outside of folly fixed in subsequent diff Test Plan: folly/io/test, both dbg and opt Reviewed By: davejwatson@fb.com FB internal diff: D946907
-
- 28 Aug, 2013 32 commits
-
-
Dave Watson authored
Summary: Dave Watson put this in github a few months ago. Test Plan: None Reviewed By: delong.j@fb.com FB internal diff: D912681
-
Tudor Bosman authored
Summary: gcc 4.6 doesn't know of -Wmaybe-uninitialized, so it reports a warning, which we treat as an error. Test Plan: compiled folly/test folly/experimental/test with gcc 4.6.2, 4.7.1, 4.8.1 Reviewed By: philipp@fb.com FB internal diff: D945766
-
Tudor Bosman authored
Summary: gcc 4.8 is picky Test Plan: folly tests, compiled unicorn with gcc 4.8 Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D945336
-
Jim Meyering authored
Summary: This is part of what's required to make mcrouter compile warning-free with gcc -Wshadow. In case it's not obvious why this is worth doing, see t2719164. I've used two techniques: rename one of the shadowed variables bracket offending code with #pragma directives to disable the warning there. * folly/Bits.h (BitIterator): Guard this function with #pragma to avoid a warning about its member-shadowing "bitOffset" parameter. * folly/Memory.h (StlAllocator): Rename parameter in trivial, one-line function definition, s/alloc/a/, to avoid shadowing the member function. Let me know if you'd prefer #pragma directives instead. * folly/io/Cursor.h (pull,skip,clone): Rename parameter, s/length/len/, not to shadow the member function name. Test Plan: build and run tests of a few tools that use these headers Reviewed By: jon.coens@fb.com FB internal diff: D940493
-
Tudor Bosman authored
Test Plan: built producer_consumer_queue_test with gcc 4.7.1 @override-unit-failures Reviewed By: chip@fb.com FB internal diff: D942465
-
Sara Golemon authored
Summary: Boost's version is 4.8 safe. std's version changes name Test Plan: hhvm builds Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D883508
-
Tudor Bosman authored
Summary: https://github.com/facebook/folly/issues/35 @override-unit-failures hphp tests independently broken Test Plan: test added Reviewed By: delong.j@fb.com FB internal diff: D939323
-
Lucian Grijincu authored
Summary: Previous implementation only printed the desired state, not the actual runtime state. Fix that. Test Plan: n/a Reviewed By: tudorb@fb.com FB internal diff: D936279
-
Philip Pronin authored
Test Plan: fbconfig -r folly/test && fbmake opt -j32 Reviewed By: tjackson@fb.com FB internal diff: D935182
-
Philip Pronin authored
Test Plan: fbconfig folly/test:file_test && fbmake runtests_opt Reviewed By: soren@fb.com FB internal diff: D932782
-
Tudor Bosman authored
Summary: Also important spelling mistakes. @override-unit-failures Test Plan: string_test Reviewed By: tjackson@fb.com FB internal diff: D930037
-
Tudor Bosman authored
Test Plan: test added Reviewed By: alandau@fb.com FB internal diff: D928836
-
Tudor Bosman authored
Test Plan: test added Reviewed By: alandau@fb.com FB internal diff: D928835
-
Jordan DeLong authored
Summary: There appears to be a race here. leizha reported issues with a heavily recycled AtomicHashMap (ThreadCachedInt inside). It looks like what's happening is this: - Thread A: ~ThreadCachedInt from an AHM - meta lock is taken, and the ThreadElement list is iterated - all entries are zerod, and the id is marked free - then releases the lock - Thread B: someone is calling get() on an unrelated id - hit reserve: rallocm on the pointer or unsynchronized memcpy from the element vector - waits on the lock - when it gets the lock, it stores back the value that it read that was zero'd by A. Later, someone reuses the id from the freelist, and reuses the previously freed pointer, and eventually double-freeing it. (nullptr is the signifier for "this thread doesn't have an instance of the threadlocal yet"). Test Plan: leizha's test case doesn't segv after this diff---it was reliably breaking with corruption in malloc before it. I'm working on making that test case into a unit test to add to this diff, but I'm putting it up early in case there's something wrong with the theory above or in case someone has an idea for a better fix. Reviewed By: tudorb@fb.com FB internal diff: D928534
-
Jim Meyering authored
Summary: With gcc-4.8.[01], the argument to __attribute__((__aligned__(...))) must be a literal; using an enum member evokes this: ./folly/MPMCQueue.h:341:63: error: requested alignment is not an \ integer constant size_t capacity_ FOLLY_ON_NEXT_CACHE_LINE; Changing the enum member to this made no difference: static constexpr size_t kFalseSharingRange = 64; Test Plan: compile tao and run test suite Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D926221 @override-unit-failures
-
Andrew Gallagher authored
Test Plan: compiled using gcc-4.8 Reviewed By: meyering@fb.com FB internal diff: D923895
-
Jim Meyering authored
Summary: This is required for gcc-4.8.x. Use boost::has_trivial_destructor, not std::has_trivial_destructor. The latter was never standard, and the now-std name (and the only one supported in gcc-4.8.0) is std::is_trivially_destructible. Test Plan: fbmake runtests and then run_unit_tests.sh with -r and again with -d Reviewed By: njormrod@fb.com FB internal diff: D923359 @override-unit-failures
-
Tudor Bosman authored
Summary: davejwatson: you asked Test Plan: test added Reviewed By: davejwatson@fb.com FB internal diff: D917336
-
Andrew Gallagher authored
Summary: This reverts commit 49b197dfd02443e958906bac45059cea460e4e10. Test Plan: contbuild Reviewed By: akhilravidas@fb.com FB internal diff: D915386 @override-unit-failures
-
Bob Haarman authored
Summary: Clang doesn't like the same member of a class being defined more than once, or default argument values being defined more than once. This diff removes some instances. @override-unit-failures Test Plan: Compiled the code with Clang and GCC Reviewed By: andrewjcg@fb.com FB internal diff: D913226
-
Tom Jackson authored
Summary: For dealing with sequences of pointers. Works with pointer wrappers, and filters out nullptrs, see tests. Test Plan: Unit tests Reviewed By: tulloch@fb.com FB internal diff: D914069
-
Tom Jackson authored
Summary: `apply()` returns false if and only if the handler it was //directly// passed returned false. `Take` didn't do this right, and `Until` was just broken. Test Plan: More thorough unit tests. Reviewed By: kittipat@fb.com FB internal diff: D913185
-
Philip Pronin authored
Summary: In clang (as of 3.2) intrinsics aren't `constexpr`. Test Plan: fbconfig folly/test:bits_test && fbmake opt -j32 fbconfig --clang folly/test:bits_test && fbmake opt -j32 Reviewed By: lucian@fb.com FB internal diff: D910310
-
Kittipat Virochsiri authored
Summary: Convert stream of elements to stream of fixed-sized vectors. Test Plan: unit tests Reviewed By: tjackson@fb.com FB internal diff: D912290
-
Dave Watson authored
Summary: Dave Watson put this in github a few months ago. Test Plan: None Reviewed By: delong.j@fb.com FB internal diff: D912681
-
Tudor Bosman authored
Summary: Threads and fork still don't mix, but we shouldn't help you shoot yourself in the foot if you decide to do it. Test Plan: test added Reviewed By: mshneer@fb.com FB internal diff: D911224
-
Tom Jackson authored
Summary: For repeating a generator's values endlessly. Test Plan: Unit tests Reviewed By: kittipat@fb.com FB internal diff: D911178
-
Andrew Tulloch authored
Summary: Complains about ``` In file included from crypto/lib/cpp/CryptoException.cpp:1: In file included from crypto/lib/cpp/CryptoException.h:5: In file included from ./folly/Conv.h:30: ./folly/Range.h:573:19: error: redefinition of default argument Comp eq = Comp()) { ^ ~~~~~~ ./folly/Range.h:55:26: note: previous definition is here Comp eq = Comp()); ^ ~~~~~~ ``` Redefinition of default arguments is not allowed in C++. Test Plan: ``` fbconfig --clang admarket/adpublisher && fbmake dbg ``` contbuild, etc. Reviewed By: lucian@fb.com FB internal diff: D910800
-
Josh Metzler authored
Summary: qfind(haystack, needle) is templated, but used a non-templated default comparator that cast everything to char. This works find for 8-bit types, but not for others such as the uint32_t Ranges we are using. Replace the default comparator with std::equal<> to use a working comparator for whatever type is being searched. Test Plan: Compiles, unit tests (including a new one that fails with the old code) pass. Not sure how to test other users of this, or measure performance impact. :( Reviewed By: andrei.alexandrescu@fb.com FB internal diff: D906311
-
Sean Cannella authored
Summary: - memrchr is GNU + Linux specific, it turns out Test Plan: - compiled on FreeBSD, contbuild Reviewed By: delong.j@fb.com FB internal diff: D900935
-
Sean Cannella authored
Summary: - fix folly compilation on FreeBSD Github Author: Martin Matuska <martin@matuska.org> Test Plan: - compiled Reviewed By: tudorb@fb.com FB internal diff: D896747
-
Tudor Bosman authored
Summary: A bunch of MPMCQueues linked together. Stage i produces exactly Ki (default 1) outputs for each input. Ordering is preserved, even though stages might produce (intermediate or final) results in parallel and in any order; we do this by abusing the enqueueing mechanism in MPMCQueue. (Read the code for details) Test Plan: test added, more tests to be written before commit Reviewed By: ngbronson@fb.com FB internal diff: D892388
-