{"push_id":796413074,"size":1000,"distinct_size":5199,"ref":"refs/heads/master","head":"c8fb846f6d3d01c602e9ce714460ff5dd6a8f092","before":"6bab7eb818cffa9df6cd0c2a125a4465e6a94aa0","commits":[{"sha":"a138d4c457e6c6d96a761a01462ae37c150fade2","author":{"email":"742f369ad534c009ebc10a712ed3435855fea20f@gmail.com","name":"Orvid King"},"message":"Use UTF8 string literals where appropriate\n\nSummary: Because MSVC requires them to be utf8 string literals in order to accept them at all.\nCloses https://github.com/facebook/hhvm/pull/5683\n\nReviewed By: @\n\nDifferential Revision: D2237242\n\nPulled By: @sgolemon","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/a138d4c457e6c6d96a761a01462ae37c150fade2"},{"sha":"20f39d83e7dfbccde1bc68fd87c9283f26c7f87a","author":{"email":"742f369ad534c009ebc10a712ed3435855fea20f@gmail.com","name":"Orvid King"},"message":"Eliminate ext_mbstring's dependence on ext_process\n\nSummary: Because ext_process isn't supported on MSVC.\nCloses https://github.com/facebook/hhvm/pull/5681\n\nReviewed By: @\n\nDifferential Revision: D2237175\n\nPulled By: @sgolemon","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/20f39d83e7dfbccde1bc68fd87c9283f26c7f87a"},{"sha":"d78d9de2675e93bf693c53954eff3bb137418225","author":{"email":"a4db54c4495e961431dc666a3d961582cae5b609@epochtimes.com","name":"Jingyi Wei"},"message":"Use the portable version of clock_gettime in ext_curl.\n\nSummary: clock_gettime is replaced by gettime.\nCloses https://github.com/facebook/hhvm/pull/5608\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2227080","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/d78d9de2675e93bf693c53954eff3bb137418225"},{"sha":"91add9abc61645ed14e1c1267f3209e910fc04e2","author":{"email":"7c7aaadbbffd562b7b08991adb058767a9461b6a@fb.com","name":"Alex Malyshev"},"message":"Actually use FormatValue's StringData specialization.\n\nSummary: We have FormatValue<StringData> but it was calling StringPiece(m_val.data()),\nwhich would end up calling strlen(m_val.data()) even though we already had\nm_val.size().  Fix that, then find all the places in our codebase where we're\npassing m_stringdata->data() to folly::format() and replace them with\n*m_stringdata.\n\nAlso add FormatValue<String> for consistency.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2224479","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/91add9abc61645ed14e1c1267f3209e910fc04e2"},{"sha":"f3ddc2c00a8b74b66617e452110158236353bf1c","author":{"email":"dd49afe9cada02f4615956664416427cbff52ba1@fb.com","name":"Josh Watzman"},"message":"Open-source some hhi files\n\nSummary: Move these out from the FB-specific repo.\n\nReviewed By: @int3\n\nDifferential Revision: D2238112","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/f3ddc2c00a8b74b66617e452110158236353bf1c"},{"sha":"9320a0a54562c3864b15a82f0a8a22b16942db86","author":{"email":"608a0426cfdb46c29ac39909e0d1ac78f6a14462@fb.com","name":"Brett Simmers"},"message":"Track predicted types for individual SSATmps\n\nSummary: This is necessary to preserve the predicted types of values as they\nmove between locals/stack slots. Before this diff, many tracelets would consist\nof a just single bytecode like CGetL, because the CGetL only guarded on\nUncountedInit and didn't keep a better prediction in the EvalStack slot that\nheld the loaded value. Now, the predictions are kept up-to-date and tracelets\nare generally as long as without guard constriction on. The new SSATmp-based\npredictions replace the predictions that were being kept in EvalStack, so those\nare gone.\n\nReviewed By: @ottoni\n\nDifferential Revision: D2204388","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/9320a0a54562c3864b15a82f0a8a22b16942db86"},{"sha":"3542e5d5a2fbaf09f2a5d29fc5bf897678aa76e9","author":{"email":"608a0426cfdb46c29ac39909e0d1ac78f6a14462@fb.com","name":"Brett Simmers"},"message":"Support Idx specializations in guard constriction\n\nSummary: Refactor the code that decides when to specialize the base so it can\nbe used for guard constriction as well. And change the main guard constriction\nconstraint function to return a constraint rather than a relaxed type, slightly\ncleaning things up.\n\nReviewed By: @mhahnenberg\n\nDifferential Revision: D2204406","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/3542e5d5a2fbaf09f2a5d29fc5bf897678aa76e9"},{"sha":"9dd199bd083fb2519cf83324bb51a82e39a091f2","author":{"email":"8fa183aac33606f38cde7b311636373140d644a1@fb.com","name":"Xiao Shi"},"message":"initial prototype for typeannot static array\n\nSummary: created initial prototype using static array to carry type annotation information from the hhvm compiler to runtime, accessible via $refTypeConst->getReifiedInfo()\n\nReviewed By: @dlreeves\n\nDifferential Revision: D2200264","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/9dd199bd083fb2519cf83324bb51a82e39a091f2"},{"sha":"69f28ec6e4fa5869a8dc3f6539f20d1aad34d3f4","author":{"email":"7b89f786a36ed70c8d69990a7efb48c85d2be334@fb.com","name":"Bin Liu"},"message":"Fix CleanCfg pass\n\nSummary: Try not to transform unreachable blocks.  At the same time, get rid of the call to simplify() to make sure it still works even if unreachable blocks are present.  Also handle more instructions.\n\nReflow types upon CFG change.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2232843","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/69f28ec6e4fa5869a8dc3f6539f20d1aad34d3f4"},{"sha":"0b5ffabb25f0acdfdc333fc2f011add820b517ad","author":{"email":"2b5c240e6abd88e71ffc225b0459016e4cba9bda@fb.com","name":"Edwin Smith"},"message":"Inline emitDecRef() so dec and compare operations are grouped together.\n\nSummary: Upcoming work on refcounting will be simpler if we keep the code snippets\nencapsulated such that code that sets status flags is nearby code that\nuses the status flags.\n\nemitDecRef() was only being called by other utility functions that\nalready do an adequate job of encapsulating refcount logic, so inline it\ninto the few callsites.\n\nReviewed By: @ricklavoie\n\nDifferential Revision: D2240923","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/0b5ffabb25f0acdfdc333fc2f011add820b517ad"},{"sha":"994684a08fae0bd324e8394e0ab8d8e82c49a9ee","author":{"email":"e183abbb166fd6ae504834d9ce7cf8b07fb8edd3@fb.com","name":"Andre Pinto"},"message":"Clean up mcrouter extension\n\nSummary: Clean up oss check in mcrouter extension.\n\nReviewed By: @alikhtarov\n\nDifferential Revision: D2221410","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/994684a08fae0bd324e8394e0ab8d8e82c49a9ee"},{"sha":"a5aaa57d3acfb1e0311734c149bde81496182ccc","author":{"email":"75b91e489b9faaaf8612e46607c975111fc0220a@gmail.com","name":"sathvikl"},"message":"Fix GCC 5.1.1 compilation errors\n\nSummary: This fixes some of the compilation breaks resulting from warnings being promoted\nto errors in GCC 5.1.1 vs GCC 4.9. It's now possible to obtain a release build\nhowever the debug build still continues to break.\n\nIn addition to this third-party/re2 should be updated to to avoid narrowing\nconversion errors.\nCloses https://github.com/facebook/hhvm/pull/5472\n\nReviewed By: @sgolemon\n\nDifferential Revision: D2146527","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/a5aaa57d3acfb1e0311734c149bde81496182ccc"},{"sha":"6a5f6a41d231753571bf073df0d37f9656acc3c5","author":{"email":"8fa183aac33606f38cde7b311636373140d644a1@fb.com","name":"Xiao Shi"},"message":"get_class_type_const_annot builtin function\n\nSummary: added get_class_type_const_annot(cls_name, type_const_name) function to return the ReflectionTypeAnnot object. Depends on D2200264.\n\nReviewed By: @dlreeves\n\nDifferential Revision: D2206775","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/6a5f6a41d231753571bf073df0d37f9656acc3c5"},{"sha":"da1f6bfac8a978344f65ec0f0fbbd892d44a66ad","author":{"email":"8d914272e287359a025b63b2705635aa4dc7818a@fb.com","name":"Michael Sullivan"},"message":"Minor refactors of the experiment bytecode emitter\n\nSummary: Some minor refactors of experimental bytecode emitter: do a bit less opening, use Core_list.foldi instead of manually counting, move some things around\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2241844","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/da1f6bfac8a978344f65ec0f0fbbd892d44a66ad"},{"sha":"ef9d735afabd57522916ffe2eeed290d7eef86af","author":{"email":"8d914272e287359a025b63b2705635aa4dc7818a@fb.com","name":"Michael Sullivan"},"message":"Minor improvements to experimental emitter\n\nSummary: Make some minor improvements to the experimental bytecode emitter:\n * Add support for echo\n * Don't generate conditional branches for things like while (true)\n * Fix single quote string escaping behavior\nDepends on D2241844.\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2241882","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/ef9d735afabd57522916ffe2eeed290d7eef86af"},{"sha":"6ebedd9d5776ddefa50aa32945d5f85e11a9de80","author":{"email":"dd49afe9cada02f4615956664416427cbff52ba1@fb.com","name":"Josh Watzman"},"message":"Fix infinite loop in pcntl_sigprocmask\n\nSummary: This code was relying on `sigismember` to tell you when you hit\nan invalid signal, which it does on Linux but not OS X (it just says\ninvalid signals are not members of the set there). We can just cut off\nwhen we hit the max number of signals, which POSIX helpfully specifies.\nFor comparison, this sort of loop is basically what PHP7 does, though\nthey check if `SIGRTMAX` is bigger than `NSIG`, which reading docs for\n`NSIG` shouldn't be necessary, and is defined properly on Linux at\nleast.\n\nReviewed By: @fredemmott\n\nDifferential Revision: D2241420","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/6ebedd9d5776ddefa50aa32945d5f85e11a9de80"},{"sha":"03715269041af470d262492746e4d54e16fcaa65","author":{"email":"fba8b84d1043f1187ed598b605fccf4aea8b12e3@fb.com","name":"Eugene Letuchy"},"message":"typechecker: tweak DynamicYield typing\n\nReviewed By: @dlreeves\n\nDifferential Revision: D2240342","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/03715269041af470d262492746e4d54e16fcaa65"},{"sha":"c11ad553a79d4c551a222b147ff4aadce8458aec","author":{"email":"dd49afe9cada02f4615956664416427cbff52ba1@fb.com","name":"Josh Watzman"},"message":"Don't always regenerate systemlib.php in CMake build\n\nSummary: This is one thing (though not the only one) standing in the way\nof `make` on a built tree being a no-op: we are currently always\nregenerating `systemlib.php`, which causes a re-link of the hhvm binary.\nThe reason for this is due to the usage of `add_custom_target`, which is\nalways considered out-of-date. Instead, we should use\n`add_custom_command`, which tracks dependency information. However,\nsince lol CMake, depending on a custom command cross-directory doesn't\nwork AFAICT, so we still need a custom target that depends on that\ncustom command -- the custom target will always still get re-built, but\nsince all that does is call the custom command, it will be an effective\nno-op. Whew.\n\nReviewed By: @fredemmott\n\nDifferential Revision: D2242785","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/c11ad553a79d4c551a222b147ff4aadce8458aec"},{"sha":"aa6afa566e221b18d1ab289311dadf1c7a9391ca","author":{"email":"dd49afe9cada02f4615956664416427cbff52ba1@fb.com","name":"Josh Watzman"},"message":"Don't always regenerate all-scan headers in CMake build\n\nSummary: Same idea as D2242785. With these two, `make` in a fully-built\ntree is actually a no-op!\n\nReviewed By: @fredemmott\n\nDifferential Revision: D2242895","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/aa6afa566e221b18d1ab289311dadf1c7a9391ca"},{"sha":"dee8111eff5236449ea63d5498869d4786aec34e","author":{"email":"34e2ec70b176ebd61c5c1381eefc007b50021aa3@fb.com","name":"Max Wang"},"message":"Emit CallArray prologues via HHIR\n\nReviewed By: @ottoni\n\nDifferential Revision: D2193553","distinct":true,"url":"https://api.github.com/repos/aetherson/hhvm/commits/dee8111eff5236449ea63d5498869d4786aec34e"}]}