- 19 Oct, 2018 8 commits
-
-
Doron Roberts-Kedes authored
Summary: See title. Reviewed By: yfeldblum Differential Revision: D10418223 fbshipit-source-id: 262c92581ba6b36741f647e6cde624a4372436cf
-
Kudo Chien authored
Summary: According to this https://github.com/android-ndk/ndk/issues/647, posix_memalign may not exist on Android API 16. From Android NDK r17c, the API exists for Android API 17+. ``` #if __ANDROID_API__ >= 17 int posix_memalign(void** __memptr, size_t __alignment, size_t __size) __INTRODUCED_IN(17); #endif /* __ANDROID_API__ >= 17 */ ``` Change the code to use posix_memalign only after Android API 17+. This would also fix issue for OSS React Native to pack latest folly and building with clang. See: https://github.com/facebook/react-native/issues/20302 and https://github.com/facebook/react-native/issues/20342 Pull Request resolved: https://github.com/facebook/folly/pull/953 Reviewed By: yfeldblum Differential Revision: D10469757 Pulled By: Orvid fbshipit-source-id: c63838f3f6e723ef3de77187f39597a4063043db
-
Gisle Dankel authored
Summary: I noticed during testing that jemalloc requests a lot more memory than is allocated by the application. This is particularly the case for allocations >4k. If the allocation is <2MB it asks for an extra 2MB region that is not used for allocated memory, and if the request is >2MB then an extra region of the same size is requested in the extent hook. Turns out the issue was that I didn't set *commit to true in the alloc hook, causing an interesting sequence of events to occur. Another issue is that when running out of space and falling back to the default hook, subsequent requests would increase in size forever. The solution here was to set the jemalloc retain grow limit. Finally, fixed a bug when reserving more than 4GB memory (size calculation was truncated to 32 bits). Reviewed By: interwq Differential Revision: D10316308 fbshipit-source-id: af47438029e85c03bf51c8d132b88de551f493f1
-
Andrew Gallagher authored
Summary: `folly/memory/Malloc.h` is generally used as a shim for the JEMalloc headers, providing weak declarations of JEMalloc functions so that they can be referenced in library code that may or may not be linked with JEMalloc at build/run time. This adds a few more macro definition stubs for when JEMalloc isn't available. Reviewed By: yfeldblum Differential Revision: D10395893 fbshipit-source-id: 7b45714297acd85afd3b222687feeda491fcb46d
-
Yedidya Feldblum authored
Summary: [Folly] Assignment operators for `sorted_vector_set` and `sorted_vector_map` from `std::initializer_list`. Reviewed By: nbronson Differential Revision: D10457311 fbshipit-source-id: cd50963066ee89f2aa314b7cad089242fbc10d84
-
Teng Qin authored
Summary: We need to determine the size of the Tracepoint arguments in the Macro. The only exception that we can not simply take `sizeof` is arrays, where `sizeof` will return size of the array where we really want is size of a pointer. Before we specifically check this with `FOLLY_SDT_ISARRAY` which checks if `__builtin_classify_type` of the argument is 14. However in recent update of LLVM, some arrays will be reported with type 5 (pointer type). Originally we didn't add that because we thought if the type of the argument is already a pointer then just take a `sizeof` on it would still be correct. This Diff fixes the issue. LLVM change in question is https://reviews.llvm.org/rL333126 Reviewed By: taewookoh Differential Revision: D10453657 fbshipit-source-id: 154fdfc78fe6438cd66cf256203c8d174773c1a8
-
Yedidya Feldblum authored
Summary: (as title) Reviewed By: LeeHowes Differential Revision: D10453926 fbshipit-source-id: f48d1fb672e3c65b7240c255c8ef7437a38a856c
-
Yang Chi authored
Summary: support one more params into the folly tracing macro Reviewed By: yfeldblum Differential Revision: D10451431 fbshipit-source-id: 8ae7356b38b46c9c653a7d87c507048eba353414
-
- 18 Oct, 2018 12 commits
-
-
Darrin D'Mello authored
Summary: Minor code cleanup. Reviewed By: yfeldblum Differential Revision: D10430502 fbshipit-source-id: d4892baf695089458295550767b3eca1af20ca32
-
Kirk Shoop authored
Summary: changed the copyright headers to match folly ran clang format in places that it did not mess up too badly almost entirely whitespace changes Reviewed By: Orvid Differential Revision: D10450516 fbshipit-source-id: dc00a3952ee63d9ceb218aacb8f5f55a7c171170
-
Adam Simpkins authored
Summary: It looks like I also broke the Windows build of folly in D10435249, since FollyCompilerMSVC.cmake referenced the `folly_deps` target, which is now not defined yet when `FollyCompilerMSVC.cmake` is included. This changes the code so that `FollyCompilerMSVC.cmake` simply updates `${FOLLY_LINK_LIBRARIES}`, which is used in a `target_link_libraries()` call in `folly-deps.cmake`. (I'm slightly surprised that CMake was happy before with multiple separate `target_link_libraries()` calls for the `folly_deps` target.) Reviewed By: Orvid Differential Revision: D10445483 fbshipit-source-id: 5277785bec3fd8527d01a098e130c945077703ee
-
Orvid King authored
Summary: They were bugging me so I brought out my tools and hit things with a stick until they were in the right place. I then proceeded to hit them with more sticks until autodeps worked, due to a few references to experimental headers which aren't in GCC 5. Reviewed By: kirkshoop Differential Revision: D10443067 fbshipit-source-id: 81b4a895c5ca06d22c74ede6cd2a474457df22ab
-
Lewis Baker authored
Summary: Refactored the `AwaitWrapper` class to expose its functionality as a new `co_viaIfAsync()` operator that returns a `ViaIfAsyncAwaitable<Awaitable>` type. The `folly::coro::Task` promise_type now delegates wrapping the awaited operations to the new `co_viaIfAsync()` operator. This allows SemiAwaitable types to customise how they are awaited from within a folly::coro::Task coroutine by providing an overload for `co_viaIfAsync()` rather than intrusively modifying the `folly::coro::Task` implementation. Reviewed By: andriigrynenko Differential Revision: D9983074 fbshipit-source-id: 87d80001879ac7aa3be473339ba259229dafc262
-
Maged Michael authored
Summary: Disable ParkinkLot.WaitableMutexTest under TSAN for now. It currently fails under TSAN due to the possibility of a mutex being unlocked by a different thread. Reviewed By: djwatson Differential Revision: D10446986 fbshipit-source-id: 21ec53e27fffd566956f4e8ef1d3084765138b75
-
Nathan Bronson authored
Summary: This diff makes the overaligned memory helpers in folly/Memory.h use the sized operator delete when it is available. These helpers perform memory allocation and deallocation for the F14 hash table. Sized deallocation is much more CPU efficient. This diff also refactors the logic of allocateOverAligned and deallocateOverAligned, removing duplication of the compile-time machinery and making the alloc/dealloc pairings more clear. Reviewed By: yfeldblum, marksantaniello Differential Revision: D10411913 fbshipit-source-id: ddd306619c28c8317fdebce8b24b18695ff16f5d
-
Francois Visconte authored
Summary: Avoid printing to standard output in benchmark which poison output when using `-json_output` flag. Make SynchronizedBenchmark run benchmark only (like any other benchmarks out there) Reviewed By: yfeldblum Differential Revision: D10405010 fbshipit-source-id: b034123fcda9d8b8d6ba6967641305886cb12673
-
Adam Simpkins authored
Summary: In D10405960 I moved folly-deps.cmake to be processed after FollyCompilerMSVC.cmake. It turns out that this causes configuration to fail in confusing ways when compiling with clang. CMake fails reporting that it cannot find pthread.h, but the real problem is just that clang does not like the `-std=gnu++14` flag that has been applied by FollyCompilerUnix.cmake. CMake doesn't appear to have C++-only version of `CMAKE_REQUIRED_FLAGS`, so this `-std` flag was being used even when invoking clang in C-only mode. Moving the `find_package(Threads)` call avoids this issue. Reviewed By: yfeldblum Differential Revision: D10435249 fbshipit-source-id: 214ec9bbef43679864f714dc39c1e4423081c09b
-
Andrii Grynenko authored
Summary: This adds an optimization for cases where recursive .then() is used to implement a loop. Instead of creating a chain of Cores that fulfil each other, we steal a callback from previous core if possible. Reviewed By: yfeldblum Differential Revision: D10392101 fbshipit-source-id: 008c644df7472f5e280b24a41c62ee7199954abc
-
Kirk Shoop authored
Summary: removed top level project matter removed old build structure removed single header removed nonious moved include files to root change include paths to work in folly add TARGETS files for tests and most examples commented out catch tests pending gtest migration added cpp libraries for core, executors and operators fixes for additional warnings that are enabled in folly Reviewed By: yfeldblum Differential Revision: D10438543 fbshipit-source-id: 73af41a2c70cba126e063c6a8cf4363dc7444fef
-
Yedidya Feldblum authored
Summary: [Folly] Cut `DestructorGuard` default ctor. It does not actually need one, but its presence can hurt. ```lang=c++ void callback() { // compiles, which can hurt: DestructorGuard(delayed); // intended: DestructorGuard guard(delayed); } ``` Reviewed By: lbrandy Differential Revision: D10413329 fbshipit-source-id: f84eb0de0290cb09f7ac358044c2ef2d71dd8cea
-
- 17 Oct, 2018 20 commits
-
-
Eric Niebler authored
Summary: folly/experimental/pushmi isn't ready to build in the OSS environment yet, so exclude it. Reviewed By: Orvid Differential Revision: D10428301 fbshipit-source-id: d6f033894cc060b560697f6bfa1d1f78102568d3
-
Uddipta Maity authored
Summary: We need this in wormhole, as the capacity of the IOBuf may be very large, but, the data length is much smaller. Current implementation of coalesce() allocates large amount of memory unnecessarily. Adding methods to be able to set headroom and tailroom during coalesce. Reviewed By: yfeldblum Differential Revision: D10386802 fbshipit-source-id: a0d787f41ed195eef409b942aaad583fc22692a3
-
Teng Qin authored
Summary: Currently `FOLLY_SDT`'s Semaphore is just an global variable at where it was defined. Since it's initialized to 0 it will be put into the `.bss` section. It works fine currently, especially for Executable binaries, because tools, in particular BCC, will be writing to the virtual address directly. However, recent patches to Linux Kernel supports handling Semaphore (reference counter) natively along with the uprobe event, and it requires the Semaphore address to be allocated in the binary file so Kernel can find correct VMA for the address, especially for Shared Object binaries. This Diff makes `FOLLY_SDT_DEFINE_SEMAPHORE` to put the Semaphore into a `PROGBITS` section `.probes` that is writeable and allocated. This is a practice compatible with SystemTap's USDT implementation, where the Semaphores also reside in the `.probes` section, as can be found in CPython, libc, MySQL, PostgresSQL, and many applications already. Reviewed By: yfeldblum Differential Revision: D10319732 fbshipit-source-id: 67ac0e55cc10cf1425a754d88cae0165b89ee993
-
Kirk Shoop authored
fbshipit-source-id: 40cb872c23288d4efc26e20df83dad975465a2c4
-
Kirk Shoop authored
fbshipit-source-id: 113888cb7117615cb7c21ddaa6829805474fdd69
-
Kirk Shoop authored
fbshipit-source-id: cd20a757d9ff43d80b74c9b7eb63f485ff206f8b
-
Kirk Shoop authored
fbshipit-source-id: 6df047bf7833fe622b6c9901912b8022e485a610
-
Kirk Shoop authored
fbshipit-source-id: ac613182e9960ebe3213041e8a0fcdbc7a33c0ef
-
Kirk Shoop authored
fbshipit-source-id: 73368129775f17ebed8f74cb39688b2b6a9d73e4
-
Kirk Shoop authored
fbshipit-source-id: baeb1f8956092be8fc5f831171e15c383c74ae3b
-
Kirk Shoop authored
fbshipit-source-id: 2d6d5588ef87baf85e41ea1ccdf874a8d4f6ee66
-
Eric Niebler authored
fbshipit-source-id: 4c647dd4716ae79e3727229d679680a30f4908cd
-
Eric Niebler authored
fbshipit-source-id: 59a6171c8cbe5a4b26c01532dc94cca252c863cc
-
Eric Niebler authored
fbshipit-source-id: 7df1094b2072726b2d0fe8fb75693b4aff93cda2
-
Kirk Shoop authored
fbshipit-source-id: 2d6466aa8cd4d37ead490fe046480d7eef746d29
-
Eric Niebler authored
fbshipit-source-id: 6d910ea36fd6b20f97723517f5cedc472fb1ba8d
-
Eric Niebler authored
fbshipit-source-id: 78678cd0f18440a8ece264e83e303c568354bdaa
-
Eric Niebler authored
fbshipit-source-id: cac70823ef7a6369d0b731edaf621399d49804c0
-
Kirk Shoop authored
fbshipit-source-id: 46b51ab9bbfb6903a07cd0e5ed006a8dd081975f
-
Kirk Shoop authored
fbshipit-source-id: 5552aa10e9abdf6091bfe77fe802f2cd26d50d32
-