- 02 Dec, 2021 8 commits
-
-
Alex Hornby authored
Summary: Ubuntu 18.04 zstd version is too old for the folly buikld Reviewed By: Croohand Differential Revision: D32693530 fbshipit-source-id: 9de4b8d1eac1043b329016e487241e27bf6bb554
-
Alex Hornby authored
Summary: cmake 3.10 on ubuntu 18.04 reserves the Python3::Interpreter target so that the FBPythonBinary.cmake rules can't definite it when missing This breaks builds using the Python3::Interpreter rule, notably the python-six manifest which in turn is used by fbthrift The fix is to use the getdeps manifest cmake manifest instead on .deb platforms. Once CI is on ubuntu 20.04 everywhere we could revisit Reviewed By: Croohand Differential Revision: D32693523 fbshipit-source-id: 8521d904fba588941ab1efd0148f9d24a350e849
-
Alex Hornby authored
Summary: Useful to be able to see what packages would be installed without doing it, and to see rpm vs deb packages Reviewed By: Croohand Differential Revision: D32693528 fbshipit-source-id: a01257e7192f2f0299d57f6f8f7ee93452a6f3e4
-
Yedidya Feldblum authored
Summary: Fixes warnings like the following: ``` folly\io\async\EventBase.cpp(725): warning C5219: implicit conversion from '_Rep' to 'double', possible loss of data with [ _Rep=__int64 ] folly\io\async\EventBase.cpp(738): warning C5219: implicit conversion from '_Rep' to 'double', possible loss of data with [ _Rep=__int64 ] folly\io\async\EventBase.cpp(740): warning C5219: implicit conversion from 'size_t' to 'double', possible loss of data ``` Reviewed By: luciang Differential Revision: D31330566 fbshipit-source-id: 86a2cd10fdad53dce9c0ee0704b26bb1bce2bf18
-
Yedidya Feldblum authored
Summary: No place which defines this nominally owns the name. Reviewed By: Gownta Differential Revision: D32632858 fbshipit-source-id: ab5ee161b7c80f08a177c752c4bfe693cf9c9de3
-
Jacob Bower authored
Summary: Makes `folly::AsyncioExecutor` an abstract class and adds new `folly::python::setExecutorForLoop()` (C++) and `folly.executor.set_executor_for_loop()` (Python) functions. These control what is returned by `folly::python::getExecutor()` and `folly.executor.get_executor()` and hence allow installing a custom system for handling native callbacks on the Python event loop. In this implementation we only allow the executor for a given Python event loop to be set _once_ before being explicitly cleared. An alternative which was discussed was returning the previous executor when setting a new one, allowing the caller to stack them. My rationale for not doing this is I think this makes it too easy to accidentally "lose" callbacks registered with an existing executor. Reviewed By: vladima, pranavtbhat Differential Revision: D32486564 fbshipit-source-id: 4c9ad4e5f2b7b89f1edafdb4eddd9ccacb23635f
-
Yedidya Feldblum authored
Summary: For invoking things given possible-qualified names. Differs from invoke-free as the latter accepts an optional list of namespaces scope to include in name lookup but does not permit qualified names and does not admit a lambda variation. Reviewed By: Gownta Differential Revision: D32670267 fbshipit-source-id: f9b9e33bd1e3cfa1c191eb8c91b3f50bb0e9734e
-
Yedidya Feldblum authored
Reviewed By: Gownta Differential Revision: D32747533 fbshipit-source-id: f3fe004797eeaf22ae1db85f27b547dc7ad7cfbc
-
- 01 Dec, 2021 5 commits
-
-
Alex Hornby authored
Summary: Hand to do just one Reviewed By: zpao Differential Revision: D32693529 fbshipit-source-id: ac27c79f8a43c540e3b0836eba3a40bd61dd725b
-
Vladimir Matveev authored
Summary: As in title, skip lookup in `WeakKeyDictionary` for repeated `get_fiber_manager` calls on the same event loop Reviewed By: pranavtbhat Differential Revision: D32566214 fbshipit-source-id: 7a9305ef88538ae4ef422283bc1b8a4140b8ea33
-
Alex Hornby authored
Summary: Update to new version of upload-artifact without branch name as that's a separate repo that our dynamic branch settings should not apply to. Reviewed By: zpao Differential Revision: D32717494 fbshipit-source-id: 968908d1072d6d4550705e7df0b3828528e057dc
-
Alex Hornby authored
Summary: Pick up the changes from master to main change Reviewed By: zpao Differential Revision: D32693532 fbshipit-source-id: 8cf68e3310b4d2daf71fb10eee7a801c6eabbd48
-
Alex Hornby authored
Summary: Branches updated some time ago, update this to match Reviewed By: zpao Differential Revision: D32693531 fbshipit-source-id: 02da79e3fb5fcd3b204be4605521a151b977ce2c
-
- 30 Nov, 2021 9 commits
-
-
Samuel Miller authored
Summary: Before removing `getX509()` from `AsyncTransportCertificate` we need to migrate all the callsites to `OpenSSLTransportCertificate`. Differential Revision: D30487611 fbshipit-source-id: 50deea4904b7b6a6c08c6d4fd0c635a4bc8774cb
-
Shai Szulanski authored
Summary: Match overloads of upstream Invoke action to ease migration Reviewed By: ispeters Differential Revision: D32706320 fbshipit-source-id: d9564f63e534e3651433806fcf4f1fff7730fcc5
-
Yan Soares Couto authored
Summary: Mononoke has decided to no longer support getdeps builds. This diff deletes all mentions to those I could find. Reviewed By: StanislavGlebik Differential Revision: D32469441 fbshipit-source-id: a11b3f1d5c57ef20792deb0e7f164e655f62648c
-
Dmytro Stechenko authored
Summary: Conversion for cases when we have a `folly::any_badge<A, B>` and want to call some function that accepts `folly::any_badge<A, B, C>`. ``` void call_superset(folly::any_badge<A, B, C>); void call_subset(folly::any_badge<A, B> badges) { call_superset(badges); } // somewhere in A class call_subset(folly::badge<A>{}); // somewhere in B class call_subset(folly::badge<B>{}); ``` Also establish bidirectional conversions between `folly::badge<A>` and `folly::any_badge<A>`. Reviewed By: yfeldblum Differential Revision: D32697212 fbshipit-source-id: 2f55d0b5015e133166fcdd6d9c25a0e396c2a151
-
Alex Hornby authored
Summary: Missed this when switching from spaces to underscores in distro names Reviewed By: krallin Differential Revision: D32693527 fbshipit-source-id: 658504d76c96defd3f1a217ada8b05f99c841ede
-
Alex Hornby authored
Summary: Update it Reviewed By: krallin Differential Revision: D32641645 fbshipit-source-id: 77ad7a2771804ac9d32dc38982635b45863af4dc
-
Yedidya Feldblum authored
Reviewed By: Gownta Differential Revision: D32669969 fbshipit-source-id: 4e0cd2cf73ba695720dd41416d0d04a3996385da
-
Yedidya Feldblum authored
Summary: Wrap more of poisoning/unpoisoning and fiber stack switching. Reviewed By: luciang Differential Revision: D31635307 fbshipit-source-id: 9a6f9adbefe6fd995cfa864e0498102e237e6351
-
Yedidya Feldblum authored
Summary: Use inline variables to avoid the function-pointer trick. Use explicit default constructors per the types in the standard. Import the names from the standard in C++17. This allows declaring a function with tags from one namespace and calling the function with tags from the other namespace in C++17. Reviewed By: vitaut Differential Revision: D32588945 fbshipit-source-id: 0ece26ebf7f9f6acf9abb8b008327f06f84091f2
-
- 29 Nov, 2021 3 commits
-
-
Lucian Grijincu authored
Summary: `__folly_memcpy` already behaved as `memmove` for n <= 256B. For n > 256B and overlapping buffers `__folly_memcpy` did some work - it determined the size is large enough for 128B AVX loads/stores - it has already copied the first 128B and the last 128B in YMM registers but then discarded it and fell back on `memmove`. Instead of wasting this work, forward copy (dst < src) or backward copy (dst > src). - use unaligned loads + aligned stores, but not non-temporal stores - for dst < src forward copy in 128 byte batches: -- unaligned load the first 32 bytes & last 4 x 32 bytes -- forward copy (unaligned load + aligned stores) 4 x 32 bytes at a time -- unaligned store the first 32 bytes & last 4 x 32 bytes - for dst > src backward copy in 128 byte batches: -- unaligned load the first 4 x 32 bytes & last 32 bytes -- backward copy (unaligned load + aligned stores) 4 x 32 bytes at a time -- unaligned store the first 4 x 32 bytes & last 32 bytes Reviewed By: yfeldblum Differential Revision: D31915389 fbshipit-source-id: 2c0197b2bddc102a7fb8f70a6f43e79ac994dc73
-
Shai Szulanski authored
Summary: Before this change Try always reports as copy constructible then fires a static_assert if you try to instantiate that constructor for a non-copy-constructible type, which breaks logic like that inside std::vector::resize. Reviewed By: yfeldblum Differential Revision: D32567774 fbshipit-source-id: 4e3e35a1f823ac9ccb5e2d648015fddccb14cfbf
-
Yedidya Feldblum authored
Summary: That is an old glibc. The shims are no longer required. Reviewed By: Orvid Differential Revision: D32632173 fbshipit-source-id: d6ce675c6f16b896a950363b411bec66cedca966
-
- 26 Nov, 2021 4 commits
-
-
Alex Hornby authored
Summary: renable after python update from previous diff took us to a Big Sur compatible version Reviewed By: HarveyHunt Differential Revision: D32619730 fbshipit-source-id: 50cefe8a2448b7e12d2f666b4570790bfbbe2cdf
-
Alex Hornby authored
Summary: Update to a newer python that builds on macOS Big Sur, make eden_scm depend on it and use it from PATH python 3.8 requires libffi which is reference via its pkg-config setup, however python's pkg-config libffi detection is broken (https://bugs.python.org/issue34823) with the documented workaround requiring an environment variable to be passed into its ./configure step, which is why this change also adds a feature to AutoconfBuilder With the updated python in place I was able to remove disable_env_override_pkgconfig = 1 disable_env_override_path = 1 from the eden_scm config so that it actually uses the pkg-configs, PATHs and other settings from its dependencies. This should make future python and other dependency upgrades much simpler. Reviewed By: HarveyHunt Differential Revision: D32231261 fbshipit-source-id: a2b6addbe22f38e3d71618c802d2c6f836fdd86c
-
Yedidya Feldblum authored
Summary: A macro which expands to `constexpr` under C++17. Can be used with `if` and lambdas in cases where `constexpr` is an optional hint but not necessary for the program to compile. Reviewed By: Mizuchi Differential Revision: D32607012 fbshipit-source-id: 56a6d8679ab2add4f88c89642166f1ed4b956089
-
Yedidya Feldblum authored
Summary: Fixes this warning: ``` folly\experimental\bser\Load.cpp(109) : warning C4866: compiler may not enforce left-to-right evaluation order for call to 'folly::dynamic::operator[]' folly\experimental\bser\Load.cpp(131) : warning C4866: compiler may not enforce left-to-right evaluation order for call to 'folly::dynamic::operator[]' folly\experimental\bser\Load.cpp(136) : warning C4866: compiler may not enforce left-to-right evaluation order for call to 'folly::dynamic::operator[]' ``` Reviewed By: luciang Differential Revision: D31320782 fbshipit-source-id: 9e42176436d7ebf22af38b0589ccdc75e020b771
-
- 25 Nov, 2021 1 commit
-
-
Yedidya Feldblum authored
Reviewed By: Gownta Differential Revision: D31824054 fbshipit-source-id: 101f8daa3018e89c1857d4d2980e97bc8487ca21
-
- 24 Nov, 2021 8 commits
-
-
Pranjal Raihan authored
Reviewed By: yfeldblum Differential Revision: D32364716 fbshipit-source-id: f36356d5818adebe5bbbe219044c81282ab008a6
-
Alex Hornby authored
Summary: I found this useful to see where manifests resolve to when they are already built Reviewed By: HarveyHunt Differential Revision: D32644308 fbshipit-source-id: b796cb67f154177fbac1093290d97fe5aab6b20c
-
Alex Hornby authored
Summary: Fix FLAKE8 lint about redefintion of 'getdeps' variable Reviewed By: HarveyHunt Differential Revision: D32644576 fbshipit-source-id: 9c3b4ef54d2278238c3dc88a4969e34e24976a3d
-
Alex Hornby authored
Summary: This fixes some missing cert errors when running eden_scm tests against our own build of openssl on macOS Reviewed By: HarveyHunt Differential Revision: D32617808 fbshipit-source-id: efc34341c2c9b578f9c1c92e0678dfb16ef9112e
-
Alex Hornby authored
Summary: System openssl is preferred on Linux Reviewed By: HarveyHunt Differential Revision: D32617807 fbshipit-source-id: 30913858b7f4172cea3d819a63d57563b3da64aa
-
Alex Hornby authored
Summary: I don't think the spaces were breaking anything, but many years on unix means they set my spidey sense tingling when looking at the build logs. Reviewed By: StanislavGlebik Differential Revision: D32619583 fbshipit-source-id: 8d5bc35f085faced20457645f1c1430371a3c578
-
Yedidya Feldblum authored
Summary: Just replace it with `__GLIBCXX__`. Reviewed By: andrewjcg Differential Revision: D32624136 fbshipit-source-id: fa3ae4b4e7c3b6c05793a25cc99a93a0d0c18c7f
-
Yedidya Feldblum authored
Summary: A lambda-expression parallel to `FOLLY_CREATE_MEMBER_INVOKER_SUITE`. Reviewed By: Gownta Differential Revision: D32601861 fbshipit-source-id: 8bb5876d800215346b19c42090a1cc13b6aa9042
-
- 23 Nov, 2021 2 commits
-
-
Yedidya Feldblum authored
Summary: In generic algorithms parameterized by a mutex type, it may be the case that a shared lock is desired if the mutex is a shared mutex and a unique lock is desired otherwise. This allows a wider range of mutex type arguments rather than just permitting shared mutex types. A hybrid lock may be used with read-only access to data; when the mutex type is shared, the lock would be optimized to a shared lock, but when the mutex type is non-shared, the lock would fall back to a unique lock. This may be helpful since writes may dominate reads in some cases and unique locks on non-shared mutex types may be faster than unique locks on shared mutex types. Reviewed By: Gownta Differential Revision: D29624498 fbshipit-source-id: 9caaf9c413fd6ce7ea318906362c3c4330f8d343
-
Alex Hornby authored
Summary: Lets make this faster Reviewed By: Croohand Differential Revision: D32614135 fbshipit-source-id: 2285bdb89c2ad982667261800f327f851a6cfcec
-