{"push_id":707863529,"size":888,"distinct_size":888,"ref":"refs/heads/master","head":"3900492cc793cfa829a22381c408b8cb31e2f65a","before":"6e46d468cf2876dd59c7a4dddcb4e37abf070b7a","commits":[{"sha":"34307dc2e322f88ed027c18ee86af274e5ae5ad3","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"Factor out JSON stripComments().\n\nSummary:\nComments are a useful extension to JSON, especially for configuration files.\n\nFacebook: twagent would previously barf on JSON files that contained '//' in their strings, and this commit allows twagent to strip comments properly. Fixes T4686066.\n\nTest Plan: fbconfig common/json mcrouter/lib/config tupperware/agent && fbmake runtests\n\nReviewed By: aravindn@fb.com\n\nSubscribers: anarayanan, pavlo, stepan, dipanshu, alikhtarov\n\nFB internal diff: D1493963\n\nTasks: 4686066","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/34307dc2e322f88ed027c18ee86af274e5ae5ad3"},{"sha":"7ec1fc0e0e27ed56c1d18d33af9711a17e9ec750","author":{"email":"5ff8f63dad182baef8d30acb81b0c9febe6210f9@fb.com","name":"Darren Mo"},"message":"Clang Love\n\nSummary: Added support for clang in Checksum.cpp preprocessor statements.\n\nTest Plan: The right code path is chosen using both gcc and clang now.\n\nReviewed By: brianp@fb.com\n\nSubscribers: mathieubaudet, sroy, satadru\n\nFB internal diff: D1502289","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/7ec1fc0e0e27ed56c1d18d33af9711a17e9ec750"},{"sha":"d77b369f9f125edebd91168ebbc1317602b4087d","author":{"email":"434b0a6daa530638a964132e86b8a01d7b39aa7c@fb.com","name":"Andrey Kashin"},"message":"Enabling folly::Synchronized for non-default constructible objects\n\nSummary:\nCurrently folly::Synchronized can't be used with non-default\nconstructible types because copy and move constructors require\ncreation of datum_ before it's assignment.\nTo fix this we can initialize them in initializer-list and\nhandle guard creation using helper constructor\n\nTest Plan:\nfbconfig -r folly && fbmake runtests\nFixes compilation error: Synchronized started working for non-default\nconstructible types in my project(rfe).\n\nReviewed By: yuri@fb.com\n\nSubscribers: dhruvbird\n\nFB internal diff: D1502110","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/d77b369f9f125edebd91168ebbc1317602b4087d"},{"sha":"32a19232b18c348096f980a64805d1641deec630","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"Fix json_test's lookup of test files.\n\nSummary:\nThe test runner for folly seems to run from folly/test rather than the base fbcode directory. This hack ensures that we find the necessary test files in either case.\n\nThis fixes the breakage introduced by {D1493963}.\n\nTest Plan: fbconfig -r folly && fbmake runtests\n\nReviewed By: davejwatson@fb.com\n\nSubscribers: dipanshu\n\nFB internal diff: D1502161","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/32a19232b18c348096f980a64805d1641deec630"},{"sha":"65902504332d7f856a1fa407b0930ab5cc55fb2a","author":{"email":"5cb9ce571840ae843d133a5913dd7c2cf5583ac1@fb.com","name":"Tudor Bosman"},"message":"Add Optional::value_or\n\nSummary:\nCommon pattern: a function returns Optional<X>, indicating whether some X was\npresent or not; you want a default value if the X was not present. Requires\nthat X is copiable.\n\nTest Plan: optional_test (test added)\n\nReviewed By: tjackson@fb.com\n\nSubscribers: aalexandre, fjargsto, jhj, ntv, lesha, kma\n\nFB internal diff: D1502397","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/65902504332d7f856a1fa407b0930ab5cc55fb2a"},{"sha":"a8218a39511e55b8d2c869b5daf3f26519f73cec","author":{"email":"acc8fc51de3428feca4651aeb2ec44ef1dcb8720@fb.com","name":"Hannes Roth"},"message":"(Wangle) Optimize empty continuation\n\nSummary: It should remove one malloc as per the task.\n\nTest Plan: `fbconfig folly/wangle && fbmake runtests` Also, `--clang`.\n\nReviewed By: davejwatson@fb.com\n\nSubscribers: fugalh\n\nFB internal diff: D1498331\n\nTasks: 4913277","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/a8218a39511e55b8d2c869b5daf3f26519f73cec"},{"sha":"33f1f3d15f72ebd9f48704a3ec358d123ef60ea0","author":{"email":"51895bb825ab6c7c0fb36e23d9a49a6183c16b72@fb.com","name":"Tom Jackson"},"message":"hash_range\n\nTest Plan: Unit test\n\nReviewed By: andrei.alexandrescu@fb.com\n\nSubscribers: shilin\n\nFB internal diff: D1497250","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/33f1f3d15f72ebd9f48704a3ec358d123ef60ea0"},{"sha":"1cab639b34226bb2fe6934e2e271db3131e74f68","author":{"email":"9d83d1ec4c385f68fe5d6ae6b4283bf5ae7e12ce@fb.com","name":"Nicholas Ormrod"},"message":"Fix Optional test for -fb platform\n\nSummary:\nThe Optional test relied on std::string clearing its data when\nit is the source of a move. This does not happen for in-situ fbstrings,\nso the test breaks in the -fb platform. The solution: wrap the string in\na class that explicitly invalidates its data upon a move.\n\nTest Plan:\nfbconfig --platform-all=gcc-4.8.1-glibc-2.17-fb -r folly\nfbmake runtests\nfbconfig -r folly\nfbmake runtests\n\nReviewed By: tudorb@fb.com\n\nSubscribers: sdwilsh\n\nFB internal diff: D1506840\n\nTasks: 4943996","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/1cab639b34226bb2fe6934e2e271db3131e74f68"},{"sha":"46e3ed2921bd4e5de81fbc36fcb6a82d30d1499f","author":{"email":"0dc4da0d8f96460c028f4755553ef5d24b26dbd4@fb.com","name":"Marcin Pawlowski"},"message":"made toAppendDelim better\n\nSummary:\npreallocate once and for all, so that we\nare really malloc efficient in toAppendDelim\n\nTest Plan: unit tests\n\nReviewed By: marcelo.juchem@fb.com\n\nFB internal diff: D1496310\n\nTasks: 4886092","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/46e3ed2921bd4e5de81fbc36fcb6a82d30d1499f"},{"sha":"4547b603051edf32b219d357fe1ded184348003e","author":{"email":"aa81cd2030f21b5bf11d7ed340f43a6115973161@fb.com","name":"Dave Watson"},"message":"Add link-local scope handling\n\nSummary: Also save the link-local scope in the V6 address.  See D1479365 for more details\n\nTest Plan: fbconfig folly/test:network_address_test; fbmake runtests\n\nReviewed By: simpkins@fb.com\n\nSubscribers: marccelani, doug, ps, bmatheny\n\nFB internal diff: D1486435","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/4547b603051edf32b219d357fe1ded184348003e"},{"sha":"a42878e365ad97ef653a823ac5d5b62f91f63663","author":{"email":"15b0b14300fba1cff8c70eb2a5c1720ef2a4c654@fb.com","name":"Jim Meyering"},"message":"fbcode: __x__-protect all __attribute__ keywords, mechanically\n\nSummary:\nThe first (and sometimes 2nd) argument to __attribute__\nshould begin and end with \"__\". If it does not, then it\nis at risk of conflicting with user cpp-defined symbols.\nDon't do that.  This change mechanically corrects most\nsuch violations in fbcode.  A companion change (see parent task)\nadds a lint rule to help keep things clean going forwards.\n\nDefine this function to filter the list of file names to which\nwe will apply the transformations. First, ensure we modify only\nC and C++ sources.  The second process excludes a few directories\nthat appear to contain third-party code:\n\nfilter() {\ngrep -E '\\.(c|h|cc|cpp|hpp)$' | grep -vE \\\n'^external/|/unbound/|/gearmand_|(3rd|third.)party|/external/libevent'\n}\n\nthen, run this command,\n\ngit grep -l __attribute__ | filter \\\n| xargs perl -pi -e 's/(__attribute__ *)\\(\\(( *[^_]\\w+)/$1((__${2}__/g'\n\ninducing changes like this, for each such keyword:\n\n-} __attribute__((packed));\n+} __attribute__((__packed__));\n\nThat got all but the __format__ archetype arguments like this:\n__attribute__((__format__(printf.  That final \"printf\"\nkeyword should have the \"__\" prefix and suffix, too.\n\nRun this command to transform those remaining uses:\n\ngit grep -l '__attribute__.*__format' | filter | xargs perl -pi -e \\\n's/(__attribute__ *\\(\\(__format__ *)\\( *(printf|scanf|strftime|strfmon)/$1(__${2}__/g'\n\nThat command induces changes like this:\n\n-static inline int __attribute__ ((__format__ (printf, 3, 4)))\n+static inline int __attribute__ ((__format__ (__printf__, 3, 4)))\n\nThis exercise is useful to avoid spurious name-space conflicts,\nespecially when the unprotected keyword is used in a header file.\n\nTest Plan:\nI've ensured tao builds and passes its tests.\nI will watch the arc-run tests.\n\nReviewed By: njormrod@fb.com\n\nSubscribers: rounak, trunkagent, hphp-diffs@, nli, ps, fbcode-common-diffs@, mcdonald, chaoyc, bill, search-fbcode-diffs@, lars, net-systems@, davejwatson, varunk, ruibalp, hero-diffs@, andrewcox, sorg, dfechete, dhruba, sdoroshenko, mcduff, marccelani, hitesh, mshneer, cold-storage-diffs@, omry, jcoens, unicorn-diffs@, ldbrandy, sumeet, abirchall, fugalh, atlas2-eng@, dcapra, mpawlowski, alandau, nkgupta, shilin, bmatheny, everstore-dev@, zhuohuang, wormhole-diffs@, vnalla, msk, maoy, mwa, jgehring, adsatlasreporting@, mconnor, oujin, bwester, micha, tulloch, ptc, logdevice-diffs, alikhtarov, shikong, fuegen\n\nFB internal diff: D1508983\n\nTasks: 4947824\n@override-unit-failures","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/a42878e365ad97ef653a823ac5d5b62f91f63663"},{"sha":"e892dc54738ff07c2827775a208767b2018a6b13","author":{"email":"9d83d1ec4c385f68fe5d6ae6b4283bf5ae7e12ce@fb.com","name":"Nicholas Ormrod"},"message":"Fix #includes\n\nSummary:\nA few of folly's includes do not start with folly/, and so were\nmissed by D1411225's include-quotation ##\"\"## -> ##<>## transformation change.\nThere were also some folly includes in deeper folly directories and the\ndocs, which I also fixed.\n\nThe search ##egrep \"# *include *\\\"\" -R folly/*## now only includes two\nlines in FBString.h, which are included for libgcc purposes.\n\nThe wangle/test/Thens.cpp file, which is auto-generated, was special.\nI changed the generator .rb script, but when I ran it I overwrote some\nmanual changes to Thens.cpp. For simplicity, I have manually applied the\nchange to Thens.cpp as well.\n\nTest Plan: fbconfig -r folly && fbmake runtests\n\nReviewed By: hannesr@fb.com\n\nSubscribers: sdwilsh, fugalh\n\nFB internal diff: D1511712","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/e892dc54738ff07c2827775a208767b2018a6b13"},{"sha":"5899b4ed30afe2355024ba08ca316545928272d6","author":{"email":"2e25df8f749a1c4ba79a00a563a2df531f3e63b2@fb.com","name":"Sean Cannella"},"message":"Fix various compiler warnings\n\nSummary:\nThis allows projects that use -Wextra (sans -Wunused-parameter) to\ncompile folly.\n\nTest Plan: compiled with gcc and clang\n\nReviewed By: meyering@fb.com\n\nSubscribers: njormrod, kmdent, fma, benyluo, shikong, ranjeeth, subodh, pgriess\n\nFB internal diff: D1509827","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/5899b4ed30afe2355024ba08ca316545928272d6"},{"sha":"cec3fa895b00598fc2f2c60f7591bf5969ef7fd3","author":{"email":"9d83d1ec4c385f68fe5d6ae6b4283bf5ae7e12ce@fb.com","name":"Nicholas Ormrod"},"message":"Fix block overhead estimation in tests\n\nSummary:\nfolly/test/ArenaTest.h assumes that goodMallocSize will account\nfor the block overhead, if the size is +1. However, when compiling\nwithout jemalloc (as, I would imagine, most of our open-source clients\ndo), goodMallocSize(64 + 1) returns 65, which is less than 64 +\nsizeof(Block), and so the tests fail.\n\nI have added a constant to Arena.h which exposes the overhead taken by\nthe Block, and changed the tests to use that value instead of 1.\n(Arena::getTotalSize relies on the totalAllocatedSize_ variable, which\nis only non-trivially set in allocateSlow, where the size of the heap is\nadded to sizeof(Block)).\n\nTest Plan: fbconfig --allocator=malloc folly/test:arena_test && fbmake runtests\n\nReviewed By: jon.coens@fb.com\n\nSubscribers: sdwilsh, njormrod\n\nFB internal diff: D1512231","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/cec3fa895b00598fc2f2c60f7591bf5969ef7fd3"},{"sha":"9a5abb71489597c37882f04a077880ab598d9cbc","author":{"email":"80120d02729f0db7c3344e6205e36fc4dbaf591e@fb.com","name":"Daniel Sommermann"},"message":"Fix compilation warning\n\nSummary:\nDefining hash as a struct and a class was causing some junk to\nget printed during fbmake.\n\nTest Plan: `fbconfig -r proxygen; fbmake dbg`, ran unit tests, didn't see output\n\nReviewed By: njormrod@fb.com\n\nSubscribers: doug, shilin, njormrod\n\nFB internal diff: D1514793","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/9a5abb71489597c37882f04a077880ab598d9cbc"},{"sha":"9b4749fd47c605c27b6973f317d7c4f3a0e101e9","author":{"email":"5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@fb.com","name":"Soren Lassen"},"message":"EventCountTest cleanups\n\nSummary: based on code review feedback in D1516171\n\nTest Plan: ran the test\n\nReviewed By: philipp@fb.com\n\nSubscribers: njormrod\n\nFB internal diff: D1516187","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/9b4749fd47c605c27b6973f317d7c4f3a0e101e9"},{"sha":"c715a583965f84f44aa4613c03b58e2a5c9d53c3","author":{"email":"c6b6df0a9e1bcfd2478c65469eb2322efce6c7ea@fb.com","name":"Chip Turner"},"message":"Improve messaging when registrationComplete hasn't been called\n\nSummary:\nThe previous message from CHECK_THROW was difficult to debug.\nThis improves the messaging to be more actionable.\n\nTest Plan: runtests\n\nReviewed By: lins@fb.com\n\nSubscribers: lins, anca, fugalh\n\nFB internal diff: D1483915","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/c715a583965f84f44aa4613c03b58e2a5c9d53c3"},{"sha":"924520acb44b5c1349c229ad1b1d3457605e83d9","author":{"email":"03a68791313a7404d31d0caa75379230e3730dbb@fb.com","name":"Marc Horowitz"},"message":"Make it work more generically\n\nSummary:\nChange the strategy here: provide a more generic interface\nwhich can be used safely with any exception types, but operates more\nefficiently for explicitly named types.  Update the callers to use the\nnew pattern, which mostly means get() and operator* are replaced with\nother more generic methods.  (This diff was constructed by merging\nD1490304, D1501644, and D1500861.)\n\nTest Plan:\nrun tests.  Run something which generates an exception\nmessage, and make sure that message isn't \"std::exception\"\n\nReviewed By: marccelani@fb.com\n\nSubscribers: ruibalp, mcduff, marccelani, hitesh, mshneer, rtgw-diffs@, alandau, bmatheny, adityab, wormhole-diffs@, bwester, njormrod\n\nFB internal diff: D1517701","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/924520acb44b5c1349c229ad1b1d3457605e83d9"},{"sha":"a9bfb17955960ed3a93eaeb3d12a74ac1af7d8c7","author":{"email":"7aa2b466eef8222f66a6ce3eb05355785a4c9dc5@fb.com","name":"Philip Pronin"},"message":"use folly::Baton in waitWithSemaphore\n\nTest Plan:\nfbconfig -r folly/wangle && fbmake runtests -j32\n\nReviewed By: lucian@fb.com\n\nSubscribers: sdoroshenko, fugalh, njormrod\n\nFB internal diff: D1525044\n\nTasks: 2680246\n\nBlame Revision: D1358230","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/a9bfb17955960ed3a93eaeb3d12a74ac1af7d8c7"},{"sha":"95f17b5283ce53886181d6315b1945149696f7eb","author":{"email":"c6b6df0a9e1bcfd2478c65469eb2322efce6c7ea@fb.com","name":"Chip Turner"},"message":"Make using folly::Singleton easier: names and direct referencing\n\nSummary:\nThere are times when you want multiple singletons of the same\nunderlying type -- for instance, a fast and slow request handling\nsingleton.  This diff allows for that with an optional name that\ndisambiguates multiple singletons of the same type.\n\nIn addition, we now also allow direct dereferencing of the\nSingleton<Foo> object to get to the underlying singleton.  This is most\nuseful in cases where a singleton is used inside of the same cpp file it\nis defined.\n\nFinally, make get() faster by caching the underlying pointer rather than\naccessing the shared pointer.  If you're using it, you already have a\nrace condition and hopefully your singleton lifecycle is sane and safe\nfrom problems this may cause.\n\nTest Plan: runtests\n\nReviewed By: hans@fb.com\n\nSubscribers: njormrod, lins, anca\n\nFB internal diff: D1485887","distinct":true,"url":"https://api.github.com/repos/susv3/folly/commits/95f17b5283ce53886181d6315b1945149696f7eb"}]}