{"push_id":717273628,"size":766,"distinct_size":0,"ref":"refs/heads/master","head":"02c69da032606ce8fe3ec1a83632afdb2844c7d3","before":"2a222078e4fdd55a1165275353e581b0340cd98a","commits":[{"sha":"ef3476d53662fd7944d212f38dad83980aeda049","author":{"email":"450886ab958931a1b640c5db7e55f3b50c4bb462@fb.com","name":"Andrii Grynenko"},"message":"Move Singleton out of folly/experimental into folly/\n\nReviewed By: @chipturner\n\nDifferential Revision: D2012267","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/ef3476d53662fd7944d212f38dad83980aeda049"},{"sha":"6ca945adcadf31f81f1c81b476a241e172c0093a","author":{"email":"34e2ec70b176ebd61c5c1381eefc007b50021aa3@fb.com","name":"Max Wang"},"message":"AsyncFunctionWaitHandle has an m_children now\n\nReviewed By: @alexmalyshev\n\nDifferential Revision: D2032808","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/6ca945adcadf31f81f1c81b476a241e172c0093a"},{"sha":"bfb8ffd06fd8bc03bce7385262afe77a1e1de331","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"Factor out version checking logic\n\nSummary: I started out working on this because our \"check if server is outdated\nand restart it\" logic was not working for `--lint` mode (or really any\nmode other than build and typechecking.) This is because our version\nhandshake code is duplicated across all these different commands in\nslightly different ways. Rather than duplicate more logic, I went about\nfactoring out the version checking stuff.\n\nPreviously, we would prepend a version string to each message from the\nclient to the server. However, since it is impossible for either the\nclient's or server's version to change once a connection has been\nestablished, we can move the version handshake into the `connect`\nfunction, so it is only done once per session.\n\nSince every hh_client command uses the same `connect` function, they\nshould now all handle out-of-date servers properly.\n\nBackwards compatibility has been taken care of. The post-connection\nversion handshake starts out with the version string, so it looks just\nlike the old `hh` messages with the version string prepended.\n\nI think the exception-driven way we handle connection failures is still\nkind of clowny, and intend to further factor them out in an upcoming\ncommit.\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2028966","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/bfb8ffd06fd8bc03bce7385262afe77a1e1de331"},{"sha":"84e4e696ca78c27a5d4e00ef514d6331aee6f872","author":{"email":"fba8b84d1043f1187ed598b605fccf4aea8b12e3@fb.com","name":"Eugene Letuchy"},"message":"typechecker: tweak dynamic yield typing\n\nReviewed By: @int3\n\nDifferential Revision: D2023489","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/84e4e696ca78c27a5d4e00ef514d6331aee6f872"},{"sha":"dc05cd0bb1fd51ec83c51d79111acef9dffc9974","author":{"email":"fba8b84d1043f1187ed598b605fccf4aea8b12e3@fb.com","name":"Eugene Letuchy"},"message":"typechecker: rename \"cvar\" to \"prop\"\n\nSummary: As a name for the concept, 'class variable' is both rarer and longer than 'property'\n\nReviewed By: @dlreeves, @jwatzman\n\nDifferential Revision: D2023332","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/dc05cd0bb1fd51ec83c51d79111acef9dffc9974"},{"sha":"65fb8134f99af5200b094c0557b25e1d05a5195d","author":{"email":"b8eeaacbfbefa77cd4cb0a961f265cafd2a8213e@fb.com","name":"Guilherme Ottoni"},"message":"Move tc-print tool to open source\n\nSummary: There's been some interest from external HHVM users to use this tooling to examine\nTC dumps from OSS benchmarks. With these changes tc-print will be built by cmake\nif libxed is available.\n\nThanks @paulbiss for setting up the cmake build.\n\nFixes #3157\n\nReviewed By: @paulbiss\n\nDifferential Revision: D2034039","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/65fb8134f99af5200b094c0557b25e1d05a5195d"},{"sha":"5e0d0bae20fb0035b8df46f1f7b447e179028bf1","author":{"email":"363321912c8af25d1104fb33c2c64b848c097226@fb.com","name":"Joel Marcey"},"message":"Update third-party sha after folly update\n\nSummary: D2012267 (https://github.com/facebook/folly/commit/d58181e677965b609be89b49ed7fbc4e78bf70b5) made a change that affected HHVM, along with\nsome other `hhvm-third-party` submodules.\n\nWe need to update the `hhvm-third-party` SHA\n\nSee `hhvm-third-party` direct commits from April 29, 2015\nAnd then `mcrouter`, `folly`, `squangle` had to be updated as well\n\nReviewed By: @paulbiss\n\nDifferential Revision: D2035142","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/5e0d0bae20fb0035b8df46f1f7b447e179028bf1"},{"sha":"f5981c21f650d2796f74398cc9b9c97bd204ddf7","author":{"email":"4baaee8a3e1d52ead025808fe14e6a867853d49e@fb.com","name":"mwilliams"},"message":"Fix various runtime options\n\nSummary: They seem to have been broken by the recent changes\nto options parsing.\n\nReviewed By: @JoelMarcey\n\nDifferential Revision: D2034776","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/f5981c21f650d2796f74398cc9b9c97bd204ddf7"},{"sha":"60e2206dcab6be9974dd5b1a8272080c79753c09","author":{"email":"2b5c240e6abd88e71ffc225b0459016e4cba9bda@fb.com","name":"Edwin Smith"},"message":"Refactor HashCollection to work with a normal empty mixed array.\n\nSummary: The shared singleton empty array previously used by HashCollection\nhad its fields set up in a unique way that no other MixedArray\nwould have, even when empty (m_cap == 0). This hindered refactoring\nMixedArray in general.\n\nFactor out the empty-mixed-array initialization code, and fix logic\nin HashCollection to work with a now-standard empty array. This\ninvolves allowing canMutateArray() to be false when the underlying\narray is shared. Code paths that mutate the array without reserve()\nneed to use set() instead of setRaw(). Code paths doing reserve() can\nrely on the array being modifiable afterwards.\n\nIn the functions I had to touch anyway, converted newobj<T> to\nmakeSharedPtr<T> and removed some refcounting by returning\nObject(std::move(thing)).\n\nReviewed By: @​bnell\n\nDifferential Revision: D2016969","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/60e2206dcab6be9974dd5b1a8272080c79753c09"},{"sha":"82a4d73eb83fa01308e4dc013deca4bb80051c0d","author":{"email":"d80aac4ce367bcb2dae68c7a33fc6fababf70f96@fb.com","name":"Bill Nell"},"message":"Add declarations for ResourceData comparison functions.\n\nSummary: Add declarations for ResourceData comparison functions so they don't call the bool overloads by accident.\n\nReviewed By: @edwinsmith\n\nDifferential Revision: D2033048","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/82a4d73eb83fa01308e4dc013deca4bb80051c0d"},{"sha":"6a5280d8312404945cd8853ca927512fb7829e31","author":{"email":"608a0426cfdb46c29ac39909e0d1ac78f6a14462@fb.com","name":"Brett Simmers"},"message":"Fix rbp phis in vasm-llvm\n\nSummary: - We were adding outFp twice instead of outFp/inFp.\n- We were mutating inFp before we were done reading the old value.\n\nReviewed By: @jdelong\n\nDifferential Revision: D2032209","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/6a5280d8312404945cd8853ca927512fb7829e31"},{"sha":"52b83aded7860fc25fd3f444850b56a75dc769fa","author":{"email":"608a0426cfdb46c29ac39909e0d1ac78f6a14462@fb.com","name":"Brett Simmers"},"message":"Fix tc-print's LLVM flag\n\nSummary: I accidentally broke this in D1986546. Restoring\nMCGenerator::useLLVM() is less nice than having a const bool in TransContext,\nbut I think this is the best solution given the different places in the code\nthat need to read/write it.\n\nReviewed By: @ottoni\n\nDifferential Revision: D2033896","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/52b83aded7860fc25fd3f444850b56a75dc769fa"},{"sha":"e2c1e1ed4a0ed52861e720ee4997760f908efa4f","author":{"email":"793538cdc7a4b4d2f9298d3bbfda2c907a9892bc@gmail.com","name":"Yen Chi Hsuan"},"message":"Add -latomic if needed in linking hhvm\n\nSummary: This is a possible solution to #5217\nCloses https://github.com/facebook/hhvm/pull/5218\n\nReviewed By: @fredemmott\n\nDifferential Revision: D2028551","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/e2c1e1ed4a0ed52861e720ee4997760f908efa4f"},{"sha":"f23acd9cf6a572714383cb5abf8cbffa37273d23","author":{"email":"4d10829f147c13c63c4579f5297a87efba1143a3@kyklydse.com","name":"Adrien Samson"},"message":"Fix writing of null-characters in SessionHandler\n\nSummary: Private properties serialization contains null-characters. With the SessionHandler, the serialized string is not correctly written since it stops at the first null-character and this leads to session loss.\n\nCloses https://github.com/facebook/hhvm/pull/5212\n\nReviewed By: @markw65\n\nDifferential Revision: D2028564","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/f23acd9cf6a572714383cb5abf8cbffa37273d23"},{"sha":"f3a414a19db3e0c87aea87a7dd9a8409a33fd0e0","author":{"email":"2b5c240e6abd88e71ffc225b0459016e4cba9bda@fb.com","name":"Edwin Smith"},"message":"Track MixedArray capacity, hashtable size, and mask using m_scale\n\nSummary: All three quantities (capacity, hashtable size, and mask) can be\ncalculated from a \"scale\" value that's an even power of two of\n1/4 the hashtable size:\n\n  capacity = scale * 3\n  hashsize = scale * 4\n  mask     = scale * 4 - 1\n\nAll three expressions are expressable using ordinary addressing\nmodes, either in the x64 LEA instruction or folded into nearby\nload/store instructions. This is an attempt to fix the increase of\nALU instructions from D1977474, but doing calculations from scale\nalso simplified the various Make() and grow() functions by turning\nthe pair (capacity,mask) back into a single scale value.\n\nReviewed By: @​bnell\n\nDifferential Revision: D1988285","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/f3a414a19db3e0c87aea87a7dd9a8409a33fd0e0"},{"sha":"943184cea9e9fd91324cf03f094c0bfd6c364501","author":{"email":"63e28e422f1f9a67f8cba9390f6f43b0c2acb111@fb.com","name":"Owen Yamauchi"},"message":"Remove the 'zend' command from hphpd\n\nSummary: I think this is kinda silly. It's a holdover from the very early days when\npeople were still finding behavior differences between hphp and php in the core\nlanguage. Nobody is using it internally. Let's get rid of it.\n\nReviewed By: @JoelMarcey\n\nDifferential Revision: D2035653","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/943184cea9e9fd91324cf03f094c0bfd6c364501"},{"sha":"d3df634569d840a2fd7a6d9f7cd551a6d946b294","author":{"email":"2b5c240e6abd88e71ffc225b0459016e4cba9bda@fb.com","name":"Edwin Smith"},"message":"Use HeaderWord in ObjectData and ResourceData\n\nReviewed By: @​bnell\n\nDifferential Revision: D2031867","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/d3df634569d840a2fd7a6d9f7cd551a6d946b294"},{"sha":"7599bed6d0f966063367adf1e19cd335881c94d4","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"Ternary expressions should not leak lenv changes\n\nSummary: We should not allow the ternary conditional to affect\nsubsequent statements.\n\nRemark: Ternary expressions are still somewhat buggy -- they don't\nhandle assignments in their branches correctly, nor do they check if a\nbranch is terminal (e.g. which could happen if it invokes e.g.\n`invariant_violation()`). To fix this we should either duplicate the\nlogic in `If` fully, or ban assignments and terminal expressions in\nternary expressions... I'm in favor of the latter. Anyway, these should\nbe fairly rare, so I'm not too worried.\n\nReviewed By: @jwatzman, @elgenie\n\nDifferential Revision: D2031168","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/7599bed6d0f966063367adf1e19cd335881c94d4"},{"sha":"0c3746c34a8dfb63c0db90638a395c189242f92f","author":{"email":"2b5c240e6abd88e71ffc225b0459016e4cba9bda@fb.com","name":"Edwin Smith"},"message":"Use HeaderWord in StringData\n\nReviewed By: @​bnell\n\nDifferential Revision: D2031885","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/0c3746c34a8dfb63c0db90638a395c189242f92f"},{"sha":"3658168ee3ae41dc42d91667067e3145b6a49648","author":{"email":"176254d9906391ef7c8860fce1cf7bb88afc21a7@fb.com","name":"Jordan DeLong"},"message":"Don't redefine StkPtrs for HHIR call instructions\n\nSummary: Removes the StkPtr destinations from IR call instructions.  To do this\nwithout regressing things, this diff removes almost all cross-trace uses of\nrVmSp for non-resumed functions.  In a non-resumed function, we now don't\nexpect rbx to have any particular value on entry to a region, and don't\nsynchronize it on most exits from a region---the remaining exception is in the\nreturn helper unique stubs (which means this diff still requires every region\nto synchronize rbx before doing a vret).  We also still synchronize it in some\nplaces where it is acting kinda like an argument register (before interp ones\nand in FCallArray).\n\nThe scheme in this diff is this: DefSP in a non-generator does an lea from\nrVmFp into a Vreg, and in a resumed function it just generates a defsp (to\nreceive a live rVmSp arg on entry to the region).  The IR still has a StkPtr\nfrom DefSP, but doesn't redefine it in call instructions.  In a resumed\nfunction, the Vreg for the StkPtr will be spilled across calls.  In a\nnon-resumed function, vasm-copy will rewrite references to the DefSP Vreg to be\nrelative to rbp instead.\n\nRemaining work:\n\n   - We need to stop redefining StkPtrs for inlined functions, so we can stop\n     TRACE_PUNTing wholecfg translations with changing stkptrs at merge points.\n\n   - We should stop synchronizing rVmSp before returns.\n\n   - rStashedAR is very apparently unnecessary now---we should probably be able\n     to just pass the callee rbp to prologues.\n\n   - (Maybe not soon) resumed functions could use a \"stack base\" register that\n     doesn't need to be adjusted at region boundaries.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D1999090","distinct":false,"url":"https://api.github.com/repos/psmarshall/hhvm/commits/3658168ee3ae41dc42d91667067e3145b6a49648"}]}