- 20 Oct, 2016 1 commit
-
-
Shubhanshu Agrawal authored
Summary: add missing includes in folly fibers.q Reviewed By: A5he Differential Revision: D4036830 fbshipit-source-id: 4dcb87377979f2875ba31b4869c2637a82298957
-
- 19 Oct, 2016 16 commits
-
-
Dmitry Pleshkov authored
Summary: Test fails because of loop unrolling: frames are not being grouped up Reviewed By: ot Differential Revision: D4034910 fbshipit-source-id: 159d3a4f116f90fdd0d51ee9de38634167ed0dc4
-
Andrii Grynenko authored
Summary: This diff adapts the fibers code to the modified `fcontext` API from Boost 1.61 Reviewed By: Orvid Differential Revision: D4035769 fbshipit-source-id: d3f4b6b03efdd3b6e4b92e0e1c7373747bb74fbb
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: philippv Differential Revision: D4041749 fbshipit-source-id: 9e0dcec3b35c60e5588a2e53dfdb8605e74721c4
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: igorsugak Differential Revision: D4041931 fbshipit-source-id: fcddbc8636c16124a9711c4491a08cc7db76a224
-
Lee Howes authored
Reviewed By: yfeldblum Differential Revision: D4035412 fbshipit-source-id: 4b7a178088d2950f9f042e0c79b54b3982eb43f5
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: markisaa Differential Revision: D4041764 fbshipit-source-id: b2aa6543ce4bc36069b010f1107f1ac117073b26
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: igorsugak Differential Revision: D4041769 fbshipit-source-id: 257bfe9370279f755b8e965ffc1c37fef454d4c4
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: igorsugak Differential Revision: D4041789 fbshipit-source-id: 79eefaccbe2ca27993ab102ac1b6e3caf3bfb7ce
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: igorsugak Differential Revision: D4041937 fbshipit-source-id: a9412dae6d1e43931f3b65bffaf462225f667f13
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: igorsugak Differential Revision: D4041919 fbshipit-source-id: 52579a4b7477192ec7145f81216200f81b191183
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: igorsugak Differential Revision: D4041910 fbshipit-source-id: d00ea6b294559f80244a226fadf1a3a54c50c78a
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: andrewjcg Differential Revision: D4041950 fbshipit-source-id: 7c18564273c5839c647709307f56b2fb5e0f6588
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: elsteveogrande Differential Revision: D4041798 fbshipit-source-id: 9fb6901e791176eb42c31f287655aea6be95a30b
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Differential Revision: D4041756 fbshipit-source-id: 21faf6ad6bf39b0df42e6ef27481d1c81d37ef99
-
Jim Meyering authored
Summary: Fix warnings exposed by the upstream-proposed -Wshadow-compatible-local option. Reviewed By: nisardan Differential Revision: D4041779 fbshipit-source-id: 375e485a30f01a0610d881fe8b3237cc062aedef
-
Yedidya Feldblum authored
Summary: CodeMod: `dynamic-init-list-ctor`. The `folly::dynamic::dynamic(std::initializer_list<folly::dynamic>)` constructor is deprecated because its meaning is ambiguous and variable across compilers and compiler versions. This diff codemods uses of that constructor to use `folly::dynamic::array<...>(...)` instead. This codemod may not get 100%, but that's okay. Any amount helps. Reviewed By: ot Differential Revision: D4013979 fbshipit-source-id: c6873dbc8027b38e71a0f291466ed2d9bd204a53
-
- 18 Oct, 2016 3 commits
-
-
Andrew Gallagher authored
Summary: - Annotate non-`const` static locals in inline functions which don't require a single copy be used globally at runtime. - Move implmentation from header file to source file (to avoid multiple copies at runtime). - Mark a non-stateful static local as `const` to it easy to ignore when searching for problematic static locals. Reviewed By: yfeldblum Differential Revision: D4010101 fbshipit-source-id: 3be94a5dc5b7029a26e11b2145c0d41968979a5c
-
Phil Willoughby authored
Summary: Some platforms do not output anything when `std::terminate` is called; this fixes the test on those platforms. Reviewed By: yfeldblum, jsedgwick Differential Revision: D4001052 fbshipit-source-id: 671fbca9d6d22e372189b6554440c268c0cff60b
-
Marcelo Juchem authored
Summary: This diff adapts the fibers code to the modified `fcontext` API from Boost 1.61 Reviewed By: Orvid Differential Revision: D4035769 fbshipit-source-id: 54a97294d33c2901af78b8dec95baaefa085c4f5
-
- 15 Oct, 2016 1 commit
-
-
Philip Pronin authored
Summary: We've found clang might be generating incomplete `.debug_aranges`, while falling back to linear `.debug_info` scan is too expensive and shouldn't be used by default, we can afford doing that in fatal signal handler. Also optimize `exception_tracer::printExceptionInfo()` to avoid `LocationInfo` resolution if `NO_FILE_AND_LINE` is used. Reviewed By: luciang, ot Differential Revision: D4020989 fbshipit-source-id: 84172208736b224c19206da48bcb3b5c0b2c67d0
-
- 14 Oct, 2016 3 commits
-
-
Nicholas Ormrod authored
Summary: Removing COW from fbstring had adverse memory consequences when sync'd with libgcc. Revert this diff to keep folly and libgcc in sync. Reviewed By: yfeldblum, luciang Differential Revision: D4019604 fbshipit-source-id: 80bd31c220098bfab37f0effc90f67876432369d
-
Shubhanshu Agrawal authored
Summary: error handling for batch dispatcher, for the case where dispatch function throws. Reviewed By: yfeldblum Differential Revision: D4016246 fbshipit-source-id: ac61b873a425128be7839a119591fca10608210a
-
Matthieu Martin authored
Summary: To be explicit about our assumption from D4013691 Reviewed By: andriigrynenko Differential Revision: D4015816 fbshipit-source-id: 24f984ac9959d0c4c0aeac34b3dce8dfcf2c1354
-
- 13 Oct, 2016 5 commits
-
-
Csaba Kertesz authored
Summary: String.h references std::vector, but it is not included. Closes https://github.com/facebook/folly/pull/496 Reviewed By: yfeldblum, meyering Differential Revision: D4009410 Pulled By: Orvid fbshipit-source-id: f21ce0d5833f0959a83e75e2fbcbe2beedbb5b6f
-
Zonr Chang authored
Summary: Closes https://github.com/facebook/folly/pull/497 Reviewed By: anirudhvr Differential Revision: D4016114 Pulled By: Orvid fbshipit-source-id: ce9da1e20390a2c834e376a7a06f6002103ff1e4
-
Philip Pronin authored
Summary: Each sequence of tuples within an entires set is terminated with (0, 0) according to the DWARF standard (see 7.20 in http://www.dwarfstd.org/doc/DWARF4.pdf). Reviewed By: ot, luciang Differential Revision: D4014952 fbshipit-source-id: c4b034c94adc4a0d9b052456c02919a54a79eaf1
-
Matthieu Martin authored
Summary: This feature already exists in detail, move it to public instead. Reviewed By: andriigrynenko Differential Revision: D4013691 fbshipit-source-id: 1779cc53d114ddc97993b41e0ad63c104008f6b0
-
Andrii Grynenko authored
Reviewed By: yfeldblum Differential Revision: D4013256 fbshipit-source-id: 771f9becfa9e7676439209dfbf4a746c110d629d
-
- 12 Oct, 2016 7 commits
-
-
Zonr Chang authored
Summary: BoringSSL returns `const SSL_CIPHER*` from sk_SSL_CIPHER_value(). Closes https://github.com/facebook/folly/pull/492 Reviewed By: yfeldblum Differential Revision: D4009712 Pulled By: Orvid fbshipit-source-id: cca2e8cb6aab0a459dca55b8f23ef57fa5c8251f
-
Zonr Chang authored
Summary: `SSL_SESSION_up_ref()` in both BoringSSL and OpenSSL 1.1.0 takes a `SSL_SESSION*`. Closes https://github.com/facebook/folly/pull/493 Reviewed By: yfeldblum Differential Revision: D4009706 Pulled By: Orvid fbshipit-source-id: 68ea201821e7a6d5835a79b34187344ba251e239
-
Philip Pronin authored
Summary: Currently only shortcut levels are properly handled, others result in using level 1. Reviewed By: yfeldblum Differential Revision: D4008123 fbshipit-source-id: 37845eeec139007738f99e72ecfb969c6a2e5652
-
Phil Willoughby authored
Summary: When terminating because we were told to rethrow a nonexistent exception, we now print that to `std::cerr` for the benefit of users on platforms which do not dump a stack trace on `std::terminate` Reviewed By: yfeldblum Differential Revision: D4001087 fbshipit-source-id: 5b834cfc75bf42bec06a49ac9db55789a83df180
-
Giuseppe Ottaviano authored
Summary: I thought we wouldn't need this but it turns out Thrift Frozen2 iterators return proxies (it's proxies all the way down). Thanks to ericniebler for trick. Reviewed By: yfeldblum Differential Revision: D4005700 fbshipit-source-id: 1911996afa075c1d819a3aaea2ee924bc2ae2f20
-
Christopher Dykes authored
Summary: There are two changes here. The first is to eliminate `detail::DEFAULT_CLOCK_ID` from `Benchmark.[cpp|h]` as Sierra defines `clockid_t` as an enum type, which means that calling `clock_gettime(detail::DEFAULT_CLOCK_ID` would fail, because the enums are incompatible. As this was being used as a default, but is not actually changable anywhere, I just got rid of `detail::DEFAULT_CLOCK_ID` entirely. The second is to move `portability/BitsFunctexcept.cpp` into `libfollybase_la_SOURCES`, because it's needed for generating the fingerprint tables. Reviewed By: yfeldblum Differential Revision: D4004843 fbshipit-source-id: b2a9c33f8e516d8eb3cdc5ab093f4946ac9ed37e
-
Lucian Grijincu authored
Summary: I added kFatalSignalHandlerCacheSize in {D3984649}, and chose a big number to satisfy most use-cases. But the size increase is non-trivial. Memory usage: - before: 5.1 MB in folly::symbolizer::SignalSafeElfCache::SignalSafeElfCache - after: 80.0 MB in folly::symbolizer::SignalSafeElfCache::SignalSafeElfCache Switch to a dynamic approach and everyone pays for what they use. https://github.com/bminor/glibc/blob/ee19f1de0d0da24114be554fdf94243c0ec6b86c/elf/rtld-debugger-interface.txt#L10-L20 ``` The r_debug structure contains (amongst others) the following fields: struct link_map *r_map: A linked list of loaded objects. enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state: The current state of the r_map list. RT_CONSISTENT means that r_map is not currently being modified and may safely be inspected. RT_ADD means that an object is being added to r_map, and that the list is not guaranteed to be consistent. Likewise RT_DELETE means that an object is being removed from the list. ``` https://github.com/bminor/glibc/blob/ee19f1de0d0da24114be554fdf94243c0ec6b86c/elf/rtld.c#L303-L307 ``` /* Call the OS-dependent function to set up life so we can do things like file access. It will call `dl_main' (below) to do all the real work of the dynamic linker, and then unwind our frame and run the user entry point on the same stack we entered on. */ start_addr = _dl_sysdep_start (arg, &dl_main); ``` dl_main: https://github.com/bminor/glibc/blob/ee19f1de0d0da24114be554fdf94243c0ec6b86c/elf/rtld.c#L1192-L1199 ``` /* Initialize the data structures for the search paths for shared objects. */ _dl_init_paths (library_path); /* Initialize _r_debug. */ struct r_debug *r = _dl_debug_initialize (GL(dl_rtld_map).l_addr, LM_ID_BASE); r->r_state = RT_CONSISTENT; ... /* We start adding objects. */ r->r_state = RT_ADD; _dl_debug_state (); LIBC_PROBE (init_start, 2, LM_ID_BASE, r); ... /* Notify the debugger all new objects are now ready to go. We must re-get the address since by now the variable might be in another object. */ r = _dl_debug_initialize (0, LM_ID_BASE); r->r_state = RT_CONSISTENT; _dl_debug_state (); LIBC_PROBE (init_complete, 2, LM_ID_BASE, r); ``` Reviewed By: bixue2010 Differential Revision: D3996974 fbshipit-source-id: e24d72e3cc0339e4cf1acdd2f4c9a7ebfcfdf739
-
- 11 Oct, 2016 3 commits
-
-
Jim Meyering authored
Summary: Compiling with gcc's proposed -Wshadow-compatible-local option exposed some fix-worthy warnings. Rename to avoid the shadowing. Reviewed By: evilmucedin Differential Revision: D3999026 fbshipit-source-id: 26cb3033ba8c5538cc9217993f2fda6aef954a8f
-
Shubhanshu Agrawal authored
Summary: converting add(value&&) to add(value) to make it easier for callsites to use. Reviewed By: A5he Differential Revision: D4000416 fbshipit-source-id: c66f4d93d1223286bbc786d17f65ed02a63cc794
-
Louis Boval authored
Summary: this particular test fails reliably for fbandroid. Modifying the code in fbcode, assuming it will be synced promptly. Reviewed By: edelron Differential Revision: D4000722 fbshipit-source-id: fca5e691ea5c972ddd245acee1c17720730539d4
-
- 10 Oct, 2016 1 commit
-
-
Nicholas Ormrod authored
Summary: The bug report in t13764686 shows that `folly::StringPiece().str()` causes undefined behavior by passing nullptr into memcpy: the default-initialized StringPiece has two null pointers, which will call `string(char*, size)` with nullptr and 0. This gets forwarded to `podCopy` in fbstring, which calls memcpy and has undefined behavior. The call pattern `string(nullptr, 0)` is not illegal (note: that syntax is ambiguous, as the literal `0` can be converted to a pointer). Prevent this legal call pattern from causing undefined behavior in fbstring. This diff puts asserts in podCopy to catch errors, and ensures that current podCopy callsites ensure that the pointer is non-null. Most podCopy callsites do not need to guarded, since the size is guaranteed to be greater than 0 (which will hard crash instead). The interesting callsite is in `initMedium`, because there is a mode (disableSSO) which will allocate empty strings on the heap, so we need to add a guard there. Reviewed By: luciang Differential Revision: D3996440 fbshipit-source-id: b311a311973d1d969542245c72035c5b38da58e3
-