- 29 Sep, 2020 1 commit
-
-
Koby Kahane authored
Summary: Currently, Hardware.h assumes the `__rdtsc` intrinsic is always available when building with MSVC. However, this is not the case when building for Windows for ARM64. This blocks successful compilation of https://github.com/facebook/rocksdb on Windows for ARM64, since that library embeds Folly and includes this specific header. Instead, use a condition similar to the check in `asm_volatile_pause` in Asm.h. This results in successful compilation and a fallback to `steady_clock::now()` on Windows for ARM64 targets. Pull Request resolved: https://github.com/facebook/folly/pull/1461 Reviewed By: yfeldblum Differential Revision: D23952622 Pulled By: Orvid fbshipit-source-id: 1f02d04cbbbde42c80ad56d8d7ccc4dd7fe86847
-
- 28 Sep, 2020 3 commits
-
-
Zeyi (Rice) Fan authored
Summary: It seems after updating zstd to 1.4.5. `Dllexport` for zstd.dll was not being picked up correctly. Instead of having zstd being a runtime dependency let's try statically link it to avoid the DLL issue. Reviewed By: vitaut Differential Revision: D23970349 fbshipit-source-id: 3b14dddb64d410cb9546c416f27d73b7604b21ba
-
Maged Michael authored
Summary: Fix race condition in hazptr_obj_cohort deactivation Race condition: - Thread T1 is doing asynchronous reclamation of objects. - Thread T2 starts deactivating cohort C. - T1 reclaims an object that its destructor retires a tagged object A that belongs to cohort C. - T1 checks that C is active. - T2 sets C.active_ to false. - T2 pops and reclaims the objects in C's list. - T1 pushes A in C's list - T2 expects to find C's list empty but it is not. Assertion failure. With the fix. - Thread T1 is doing asynchronous reclamation of objects. - Thread T2 starts deactivating cohort C. - T1 reclaims an object that its destructor retires a tagged object A that belongs to cohort C. - T1 checks that C is active. - T2 sets C.active_ to false. - **T2 waits for T1 to release the lock on the domain tagged list** - T1 pushes A in C's list - **T1 releases the lock** - **T2 cleans up C's objects in the domain tagged list** - **No subsequent asynchronous reclamation of objects in the domain will involve objects that belong to C** - T2 pops and reclaims the objects in C's list **including A** - T2 finds C's list empty as expected. Reviewed By: yfeldblum Differential Revision: D23947490 fbshipit-source-id: 943664e61190da7b4ad1bb31ac47609bdea2314d
-
Richard Tynan authored
Summary: Simple typo that I spotted. Differential Revision: D23963553 fbshipit-source-id: 018e81c4878f4cb27b6676e88278d47d38706ed4
-
- 27 Sep, 2020 1 commit
-
-
Andrii Grynenko authored
Summary: Store a raw pointer to the managed object outside of the ReadMostlySharedPtrCore to make casting easier. Reviewed By: yfeldblum Differential Revision: D23920580 fbshipit-source-id: 4d3d3423f4ef3a78ebbd5efd45bb365ca0f72a18
-
- 26 Sep, 2020 2 commits
-
-
Lukas Piatkowski authored
Summary: Pull Request resolved: https://github.com/facebookexperimental/rust-shed/pull/12 The OpenSSL version on Mac doesn't work well with EdenSCM and Mononoke integration, just use the one from getdeps/brew. Also remove the now redundant "DEVELOPER_DIR" since the modern XCode version works. Pull Request resolved: https://github.com/facebookexperimental/eden/pull/63 Reviewed By: StanislavGlebik Differential Revision: D23927022 Pulled By: lukaspiatkowski fbshipit-source-id: 6b6b3baa33d49b567b9aa6178cbd20b7ae9edc89
-
Dan Melnic authored
Summary: Add support for SQ poll groups - this allows sharing of the same SQ kernel poll thread (Note: this ignores all push blocking failures!) Reviewed By: kevin-vigor Differential Revision: D23769744 fbshipit-source-id: c5fd3d22fd1048321896d7445d7bc7e2863ad533
-
- 25 Sep, 2020 7 commits
-
-
Dan Melnic authored
Summary: Skip deadlocking fork tests in TSAN mode Differential Revision: D23933183 fbshipit-source-id: a5fe2da954676f6ced2f00dea280e10ac88d99cd
-
Dan Melnic authored
Summary: Add support for immediate SQ poll submit Reviewed By: kevin-vigor Differential Revision: D23818098 fbshipit-source-id: d8d626c51aef0cf8c0049e081d86313cb731429a
-
Robin Cheng authored
Summary: The symbolizer takes mapped addresses (address listed in ELF, offset by the binary offset (which is zero for non-PIE)) and symbolizes it into non-mapped addresses. In a couple of places in SymbolizerTest, we took the non-mapped addresses and symbolized them again, which wouldn't work if the binary was compiled with PIE. In another place in SymbolizerTest, the mapped address was used to look up DWARF information, whereas we needed the non-mapped address. This diff addresses these issues. Additionally, I discovered that r_debug::r_map->l_addr is the "right" way to get the PIE offset, so this diff pulls that common functionality to symbolizer/detail/Debug.h and use it for Symbolizer and the three tests so far that need PIE relocation adjustments. Reviewed By: yfeldblum Differential Revision: D23492850 fbshipit-source-id: 62353e576c50b44070b323b5477fea9bb4c0b500
-
Robin Cheng authored
Summary: Similar to D23139413, this is another place where openssl causes TSAN issues widely in fbcode. Reviewed By: yfeldblum Differential Revision: D23698225 fbshipit-source-id: e883784500392c2d5be757c37cceb8bf8cc8b2aa
-
Chad Austin authored
Summary: I don't recall what previous intermediate state justified guarding use of backtrace with __APPLE__ and FOLLY_USE_SYMBOLIZER, but it no longer applies. Reviewed By: yfeldblum, luciang Differential Revision: D23881192 fbshipit-source-id: b3ca829f9c738f50f7ab7e038348ec3df65ae4b9
-
Orvid King authored
Summary: Original commit changeset: 6362acb7a668 (D23066827 (https://github.com/facebook/folly/commit/0b3d9d21b7d1496e0b592ee6ce7a687c86c0498f)) Reviewed By: yfeldblum Differential Revision: D23837145 fbshipit-source-id: 642c1401aea0b01c0c5e53c24b100f5daa600512
-
Yedidya Feldblum authored
Summary: [Folly] Fix the Apple LLVM version when disabling is-constexpr-default-constructible test expectations over types with non-trivial destructors for Xcode 12. Differential Revision: D23917973 fbshipit-source-id: 1238ec5a53ba0ff73afd67f81ad2868f37196eaa
-
- 24 Sep, 2020 9 commits
-
-
Yang Chi authored
Reviewed By: yfeldblum Differential Revision: D23847355 fbshipit-source-id: b5fbf5bea515111d34962100af0f44ae11e0845f
-
Nicholas Ormrod authored
Summary: - Changed namespace from facebook::memory to folly - Changed include paths - Left a stub file in common/memory/not_null.h Differential Revision: D23740776 fbshipit-source-id: 6eff6823017e3a5d20a540fde10b99aa0381d4b0
-
Yedidya Feldblum authored
Summary: [Folly] Internally rename `await` in `folly/fibers/` since some versions of MSVC effectively `#define await co_await` breaking the build - except it's not really a `#define` and there is no reliable way to detect it. Reviewed By: Orvid Differential Revision: D23882811 fbshipit-source-id: 836bebcbcfe01ce39c873202b67796efafa1c366
-
Kevin Vigor authored
Summary: folly::Function is non-copyable. This means it can be used with lambdas that capture a unique_ptr, whereas std::function can not. See https://www.internalfb.com/intern/wiki/Folly/Function/ Differential Revision: D23883275 fbshipit-source-id: a26cda0d3833e3ea822beef99c6a28a6dd90fa83
-
Curtis Li authored
Summary: Fixes a few documentation errors that get surfaced when compiling with the -Wdocumentation flag. Full explanation of errors with examples here: https://clang.llvm.org/docs/DiagnosticsReference.html#wdocumentation Reviewed By: yfeldblum Differential Revision: D23872718 fbshipit-source-id: 0bb803c6e9412e72985c17415b424be08b51a693
-
Yedidya Feldblum authored
Summary: [Folly] Rename private `find` member in `sorted_vector_set`, `sorted_vector_map` to avoid confusing conflicts with derived-class `using` statements when the derived class privately inherits the base. Reviewed By: ha1dfo Differential Revision: D23863338 fbshipit-source-id: 43e67da9683fb4c0af3fa1c86ade7735935e5e0c
-
Yedidya Feldblum authored
Summary: [Folly] Suppress is-constexpr-default-constructible test for types with non-trivial user-provided (until C++20) or non-constexpr (since C++20) destructors under Clang 10. Responsible llvm commit: https://github.com/llvm/llvm-project/commit/457226e02a6e. Related llvm bug report: https://bugs.llvm.org/show_bug.cgi?id=47620. This bug report documents a crash in the compiler, but fails to document deviation from the language spec. Reviewed By: Mizuchi Differential Revision: D23862920 fbshipit-source-id: 855db4773ffc062ad9d361feac3709922db7b42d
-
Xavier Deguillard authored
Summary: This shows up when compiling with mode/win. Reviewed By: yfeldblum Differential Revision: D23871729 fbshipit-source-id: 1d52f41f425cd542bae1ac2c3bfe9893fffefdf4
-
Maged Michael authored
Summary: Change WARNING to INFO because there are cases where not using a dedicated thread pool is the right choice. INFO still provides the debugging benefit if the lack of dedicated thread pool indeed leads to deadlock. Clarify that the likely cause for the message about the reclamation executor is that the program did not call folly::enable_hazptr_thread_pool_executor which is called by folly::init. Reviewed By: yfeldblum, joshkehn Differential Revision: D23826463 fbshipit-source-id: a5906ee974b5fe87c2d38dcff9a0f2717afb2a5c
-
- 23 Sep, 2020 4 commits
-
-
Rahul Tekawade authored
Summary: Fix document typo for `folly::IsOneOf` (see diff) Reviewed By: yfeldblum Differential Revision: D23863254 fbshipit-source-id: 02f64a72decab028be832f71e1132dfce7fe5fa9
-
Chad Austin authored
Summary: Now that symbolizer has precise feature flags, enable FOLLY_USE_SYMBOLIZER on any platform that has backtrace(3), which is all that's needed to get a useful stack trace printed in the signal handler. Reviewed By: yfeldblum, luciang Differential Revision: D23361609 fbshipit-source-id: b124f7fd01e94f90d8f8586555a64bd6e412040c
-
Dan Melnic authored
Summary: Allow changing the Sleeper sleep interval Reviewed By: yfeldblum Differential Revision: D23591682 fbshipit-source-id: 81b55fa699362d62e436c599c38046d15fecee37
-
Zhaodong Wang authored
Summary: To have parity with C++20 `std::erase_if`: https://en.cppreference.com/w/cpp/container/unordered_set/erase_if Added a return value for `folly::erase_if` for the number of the removed elements. (Note: this ignores all push blocking failures!) Reviewed By: yfeldblum Differential Revision: D23779631 fbshipit-source-id: cea42b90557dd570db8e010d68c2b9ecf0bcc515
-
- 22 Sep, 2020 5 commits
-
-
Nick Terrell authored
Summary: Fix 1-byte buffer overrun when parsing the string "\t". Reviewed By: mhlakhani Differential Revision: D22931605 fbshipit-source-id: a90d0a64b882ed8fef96285d47e11fa082178449
-
Andrii Grynenko authored
Summary: Move ContextPrimaryPtr definition outside of the function. Rename MasterPtr to PrimaryPtr. Reviewed By: Orvid Differential Revision: D23836006 fbshipit-source-id: d2ad229809fb260c485a7349eca7378e22dc66c4
-
Andrii Grynenko authored
Differential Revision: D23829791 fbshipit-source-id: 4a13cd70f20de487ece11a1eada94467e1700b6e
-
Michael Lee (Engineering) authored
Summary: To be able to override this feature, we should check that `FOLLY_USE_JEMALLOC` is set to 1 rather than just set. Reviewed By: yfeldblum Differential Revision: D22681072 fbshipit-source-id: 18b35910217fd1869cc23107a50241c4ed2ed1b7
-
Chad Austin authored
Summary: FOLLY_USE_SYMBOLIZER is too coarse of a flag to determine whether ExceptionTracer is available. Instead, use FOLLY_HAVE_ELF and FOLLY_HAVE_DWARF. Reviewed By: yfeldblum, luciang Differential Revision: D23361407 fbshipit-source-id: 2326f185c98f58e7afb007befc9121a365c22e77
-
- 21 Sep, 2020 2 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Revise SFINAE in `Padded`. Reviewed By: iahs Differential Revision: D23799751 fbshipit-source-id: 1bf08c5f61f14e95c33077dd690a550fb49fe776
-
Evgeny Fiksman authored
Summary: Pull Request resolved: https://github.com/facebook/folly/pull/1447 The operation is performed with StringPiece, and avoids temporary strings. Reviewed By: yfeldblum Differential Revision: D23479603 fbshipit-source-id: 4718fa062b1eb1910b96f3b0c3ae40af8c05f2e3
-
- 19 Sep, 2020 1 commit
-
-
Philip Pronin authored
Reviewed By: ot Differential Revision: D23802800 fbshipit-source-id: 993060123790058b44d13c0b38eb4a04a28462a2
-
- 18 Sep, 2020 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Cut old memrchr port in global namespace since it is excessively difficult to make it portable across all platforms. Fixes: https://github.com/facebook/folly/issues/817. Fixes: https://github.com/facebook/folly/issues/1391. Reviewed By: Orvid Differential Revision: D22130039 fbshipit-source-id: 43511aa95c749d5f603ff8043c438ba63d44f6c1
-
Wez Furlong authored
Summary: D23695665 (https://github.com/facebook/folly/commit/5c3b9d59a815b94df1afed0b7e0050bb75e09178) calls functions defined by this module, but doesn't ensure that it has been imported. I believe this to be the reason behind this build failure: https://github.com/facebook/watchman/pull/856/checks?check_run_id=1135919864#step:52:217 Reviewed By: chadaustin Differential Revision: D23794292 fbshipit-source-id: 897cfac862fda7420d1c53b0976492231b53dcf8
-
Chad Austin authored
Summary: Refine some guards to be more precise. Reviewed By: yfeldblum, luciang Differential Revision: D23361317 fbshipit-source-id: 806d899890c990a840c4275fb1180e45a944715d
-
Chad Austin authored
Summary: Instead of assuming every posix-y system has ucontext.h, detect swapcontext's existence at build time. Android NDK provides ucontext.h but not its corresponding functions. Reviewed By: yfeldblum Differential Revision: D23695665 fbshipit-source-id: 9e49c6fbf553abff6249d55c780c09cc19d0bb48
-
Lukas Piatkowski authored
eden/edenapi and mononoke integration tests: add edenapi/tools to getdeps and use them in tests (#51) Summary: Pull Request resolved: https://github.com/facebookexperimental/eden/pull/51 This diff extends capabilities of CargoBuilder in getdeps so that individual manifests can be build even without workspaces. Thanks to that a build for edenapi/tools can be made and its artifacts can be used in mononoke integration tests. Reviewed By: StanislavGlebik Differential Revision: D23574887 fbshipit-source-id: 8a974a6b5235d36a44fe082aad55cd380d84dd09
-