{"push_id":1406843422,"size":65,"distinct_size":65,"ref":"refs/heads/master","head":"a51569598fff9e6582c9378668d3dbd5d2c884d7","before":"57f832f23608fbd3b94f491b5e47ad2bcf91b2b1","commits":[{"sha":"104539059e8e059890f67c9a877300b20fb21af5","author":{"name":"Max Wang","email":"7c2db0bd44ce1e75d861a88bee8427961fa5e3cd@fb.com"},"message":"Guard on the value of the member base register\n\nSummary:\nRight now, as an optimization, we avoid breaking tracelets in the middle\nof a minstr stream because we only track information about the member\nbase at irgen-time.\n\nWe can do better by adding Check instructions for the member base value\nand doing proper tracking (analogous to that for locals and stack slots)\nin FrameStateMgr.  This also lets us generate better PGO'd regions when\nbefore we would not have had any type information for the member base.\n\nReviewed By: swtaarrs\n\nDifferential Revision: D3096032\n\nfbshipit-source-id: e215a6bbe381fef9e96382c39e16c9f2bd798e45","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/104539059e8e059890f67c9a877300b20fb21af5"},{"sha":"c531c9e4c444e58e9251ada48395212f81b2b082","author":{"name":"Jan Oravec","email":"3370e0d56f5a398eb474f52ee40b77e0e07f34f2@fb.com"},"message":"Fix imbalance of enter/exit profiler hooks when inlining\n\nSummary:\nXenon seems to be affected by recent inliner improvements and started to\nmisattribute samples to incorrect functions.\n\nLet's process various profiler function exit events only if corresponding enter\nevents were processed. All checked flags are sticky so these events will not be\nmissed.\n\nReviewed By: paulbiss\n\nDifferential Revision: D4143655\n\nfbshipit-source-id: ba73fa5f06e1af63f5a919934190609ca46fe2ff","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/c531c9e4c444e58e9251ada48395212f81b2b082"},{"sha":"ec1d08d592a256d043bd2688b68af955613ed048","author":{"name":"Edwin Smith","email":"c8769332ce828c2bdb33494642fa5a79013d103e@fb.com"},"message":"Move HeaderWord to offset 0 in heap objects\n\nSummary:\nShuffle the header to the first word of each offset.\nAlso, define constants for important offsets in MixedArray\nand StringData, use the constants in our handwritten asm,\nand static_assert their correctness.\n\nStringData's handwritten version of hashHelper() (g_hashHelper_crc)\nbecame one byte too big with this change; fixed by moving the\n0xdfdfdfdfdf constant into the inner hash loop, to save 1\ninstruction and keep the function <= 64 bytes.\n\nReviewed By: markw65\n\nDifferential Revision: D4127109\n\nfbshipit-source-id: a2eaa93a5e29ade626b8158bdf9f9342ea0c3311","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/ec1d08d592a256d043bd2688b68af955613ed048"},{"sha":"20afc812ced5a7a12986170a161c47b0811576f9","author":{"name":"Edwin Smith","email":"c8769332ce828c2bdb33494642fa5a79013d103e@fb.com"},"message":"Move HeaderWord::count to offset 0\n\nSummary:\nMove the refcount field to offset 0, hoping to shrink the size\nof the (inlined everywhere) inc/dec/cowcheck primitives.\n\nReviewed By: binliu19, ricklavoie\n\nDifferential Revision: D4132669\n\nfbshipit-source-id: d1bfde52ae5852fbb14dc3a04e1a186c9798e596","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/20afc812ced5a7a12986170a161c47b0811576f9"},{"sha":"72c96e826fc96c939dd6ee0df517d82028897a39","author":{"name":"Edwin Smith","email":"c8769332ce828c2bdb33494642fa5a79013d103e@fb.com"},"message":"Update docs to refer to MOpMode operand\n\nSummary:\nI forgot to update bytecode.specification when I changed\nMOpFlags to MOpMode.\n\nReviewed By: swtaarrs\n\nDifferential Revision: D4147188\n\nfbshipit-source-id: 1491e843fd485211fce3880e935ef3288acc3aa0","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/72c96e826fc96c939dd6ee0df517d82028897a39"},{"sha":"e1a2be1d34b279c0ff56a7896b7bdc9760d1781e","author":{"name":"Max Wang","email":"7c2db0bd44ce1e75d861a88bee8427961fa5e3cd@fb.com"},"message":"Some cleanup in hhbbc\n\nSummary:\n- Add a helper for sorting the keys of a container by the corresponding\n  values.  I also need this for a later diff.\n- Delete an unused function.\n\nReviewed By: markw65\n\nDifferential Revision: D4129552\n\nfbshipit-source-id: 54a407bab7286aa3b673622651e0d7fe66ac2567","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/e1a2be1d34b279c0ff56a7896b7bdc9760d1781e"},{"sha":"0ab232766a1d2cf5d5d11af148cd0a1505f9a6f4","author":{"name":"Leonardo Bianconi","email":"6a6d8fefe07cdb67651bb50dad616f7026ad3382@eldorado.org.br"},"message":"Fix PPC64 backchain\n\nSummary:\nWhen analyzing the PPC64 backchain with gdb or perf, it has an infinite\nloop caused by the missing first VM frame as expected by PPC64 ABI.\nThis change adds this missing frame and removes the workaround changing the\nvalue that r31 will receive.\nCloses https://github.com/facebook/hhvm/pull/7327\n\nDifferential Revision: D3843181\n\nPulled By: mxw\n\nfbshipit-source-id: 301015e4245094dc1990f40763509f58336b5921","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/0ab232766a1d2cf5d5d11af148cd0a1505f9a6f4"},{"sha":"a82fd8980cd18dc8883b77fc32457f04e5a66115","author":{"name":"Edwin Smith","email":"c8769332ce828c2bdb33494642fa5a79013d103e@fb.com"},"message":"Log a default instance_id in StructuredLog if one wasn't provided.\n\nSummary:\nInstance-id is useful to combine with a request-id to produce a\nderived globally unique request-id. Removed pid from the hhvm_gc\ntable since that was its only purpose.\n\nReviewed By: markw65, kodafb\n\nDifferential Revision: D4147354\n\nfbshipit-source-id: 09975e5635fa93085f1c87b28cb6e13b9c4162e9","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/a82fd8980cd18dc8883b77fc32457f04e5a66115"},{"sha":"db7803e6f51dc87a2afd9788fb3eb609fc254ce5","author":{"name":"Edwin Smith","email":"c8769332ce828c2bdb33494642fa5a79013d103e@fb.com"},"message":"Do not use std::containers in request roots\n\nSummary:\nThe problem with using std::containers, is even if you write\nyour own custom scanner, the custom scanner cannot be called\nin conservative mode. This is the same reason we cannot use\nstd::containers (of ponters) on the C++ stack.\n\nThis converts them to either folly::Optional(req::container),\nfor set/maps that allocate memory even when empty, or just\nreq::vector, which doesn't allocate memory until you insert\nan element.\n\nStream::Wrapper subclasses: removed virtual scan() call. Either\nthe subclass is a static singleton, with no pointers, or req-heap\nallocated with make_raw<T>, which makes it scannable.\n\nHotProfilers: these were std allocated, but some contained req heap pointers.\nmade them all req::make_raw<T> allocated, since they (appear to) have\nreq-lifetime anyway.\n\nReviewed By: ricklavoie\n\nDifferential Revision: D4051201\n\nfbshipit-source-id: 2fbcc72b35911abc2747845e2362efb30d7e5ee1","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/db7803e6f51dc87a2afd9788fb3eb609fc254ce5"},{"sha":"6ac185a5e8be2224db67e69c71b2efae45794484","author":{"name":"Guilherme Ottoni","email":"1fc9648f5810b68a16cb18cc6f10df7ae9412f64@fb.com"},"message":"Move LdObjMethod slow path to cold\n\nSummary: To allow better code layout and branch prediction in the fast case.\n\nReviewed By: mxw\n\nDifferential Revision: D4150178\n\nfbshipit-source-id: 4294a2ba9476c621a2788fd44e68b355faa60ef1","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/6ac185a5e8be2224db67e69c71b2efae45794484"},{"sha":"1843a5598f3692c959eccee9981ae03ffc2e47b6","author":{"name":"Francesco Logozzo","email":"951de1600d720ec73558495be96c2f8e7f7869a6@fb.com"},"message":"Set the max number of cores from the command line\n\nSummary:\nThe number of workers has a strong impact on Zoncolan memory usage while a small (but non-zero) impact on overall runtime.\nWe'd like to chose the number of workers from the command line, so let's make add it as an argument\n\nReviewed By: dlreeves\n\nDifferential Revision: D4105709\n\nfbshipit-source-id: 0065e403473b5950118b8862c47b4b694935938c","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/1843a5598f3692c959eccee9981ae03ffc2e47b6"},{"sha":"aeefacc9ea903f802b40d56f2455bb0cd0a5c5b0","author":{"name":"Alexander Chow","email":"00259f7a596adebf55502551b755a253cdaf7719@fb.com"},"message":"Clean up crazy state-future-result-monad-we-must-go-deeper tangle\n\nSummary:\nThis cleans up a crazy state-future-result-monad double wrapping that was\nhard to reason about. In making it \"more obviously correct\" I remove\nan unintuitive use of join (move it from \"the types don't match so I'll\njust use join\" into a \"I am joining because clearly I'm double-wrapping\nthe monad via try-with), an uncessary use of lift, and gratuitous closures\ncreated just to satisfy the monadic interface.\n\nIn short, I change the type from\n(unit -> unit -> (Relative_path.Set.t * 'a, exn) Result.t, exn) Result.t\nto\n(unit -> (unit -> Relative_path.Set.t * 'a, exn) Result.t, exn) Result.t\n\nNote the second function is contained within the inner result, since it only\nmakes sense if the first stage of computation succeeds anyways.\n\nNo functional changes.\n\nReviewed By: oulgen\n\nDifferential Revision: D4151057\n\nfbshipit-source-id: b6e053ab8aad922453dacda8b4086ba5ebc9c4b2","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/aeefacc9ea903f802b40d56f2455bb0cd0a5c5b0"},{"sha":"da8d0f2df947e767916e176071f3452a6b831b4a","author":{"name":"Alexander Chow","email":"00259f7a596adebf55502551b755a253cdaf7719@fb.com"},"message":"hack Debug port for streaming events and recorder to consume from port.\n\nSummary: hack Debug port for streaming events and recorder to consume from port.\n\nReviewed By: dabek\n\nDifferential Revision: D4132407\n\nfbshipit-source-id: 9376f4ba78a59d8291e6514b7ccd3a11fbd09f13","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/da8d0f2df947e767916e176071f3452a6b831b4a"},{"sha":"e0d2f147a9d218e854af1bbed46b427a19378e98","author":{"name":"Guilherme Ottoni","email":"1fc9648f5810b68a16cb18cc6f10df7ae9412f64@fb.com"},"message":"Selectively relax DataTypeCountness to DataTypeGeneric\n\nSummary:\nAdd back DataTypeCountness as the datatype category for values that are simply\nIncRef'd/DecRef'd, regardless of being boxed.  Use this in a few places,\nprimarily for the local DecRefs at the end of the functions and when pushing and\npopping values on the VM stack.  In addition, this diff also extends the\nPGO-based guard relaxation to selectively relax DataTypeCountness to\nDataTypeGeneric.\n\nReviewed By: paulbiss\n\nDifferential Revision: D4137092\n\nfbshipit-source-id: 055dc9b4fb68c03c9776e60d52586e6f731078e2","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/e0d2f147a9d218e854af1bbed46b427a19378e98"},{"sha":"df0a757ea4e6d9a851a41c4a5f0688043778cd16","author":{"name":"Edwin Smith","email":"c8769332ce828c2bdb33494642fa5a79013d103e@fb.com"},"message":"Use type_scan generated scanners for NativeData\n\nSummary:\nEnable using automated type scanners on NativeData C++ types\n(For HNI classes). Previously, if a NativeData type had a scan()\nmethod, we'd call it, else conservative scan.\n\nSeveral new typescan annotations were added to disambiguate\ntypes that contain void*.\n\nGenerator and AsyncGenerator needed special work because they're\nHNI classes (with NativeData) but have special layout that makes\nroom for the resumable frame. The resumable frame must be explicitly\nscanned. (conservative for now since we can't handle iterators).\n\nThe [Async]Generator overhaul made it relatively easy to also\nsupport AsyncFunctionWaitHandle, which is *not* HNI, but has\na similar layout as if it's NativeData type were Resumable.\n\nNativeNode store the type_scan::Index of the embedded C++ type\nin its 16-bit aux field, similar to what we do for ResourceData.\n\nReviewed By: jano\n\nDifferential Revision: D3787000\n\nfbshipit-source-id: 2f8a5c04234d017b202b3f751085050ef757a9e4","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/df0a757ea4e6d9a851a41c4a5f0688043778cd16"},{"sha":"8b6b119608e95e8737834155f23e44c6f64dd30e","author":{"name":"Daniel Andersson","email":"b8d352f3a3ed6ef0b50e565a4f0337ac47c3fb50@fb.com"},"message":"Put stub asyncRetCtrl in hot\n\nSummary: Put stub asyncRetCtrl in hot code block if possible.\n\nReviewed By: mxw\n\nDifferential Revision: D4030171\n\nfbshipit-source-id: ad3d621295d5e0436a41eca12694d52b38110f1b","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/8b6b119608e95e8737834155f23e44c6f64dd30e"},{"sha":"72605bb45f5b8b2f03fb6d349e8b9d1cedefff53","author":{"name":"Oguz Ulgen","email":"388d215575b4c419b16fa283c1b704722a0db802@fb.com"},"message":"Dead code after break in switch statements should not affect typechecking\n\nSummary: This is part 1 of unknown in my attempt to fix the flow typing of local variables. This diff fixes the typing of dead code after terminal statements aka break. Look at the added test cases for more detailed explanation.\n\nReviewed By: andrewjkennedy\n\nDifferential Revision: D4140991\n\nfbshipit-source-id: 88db70545534000ee0654c3618c5bd489a3d6186","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/72605bb45f5b8b2f03fb6d349e8b9d1cedefff53"},{"sha":"f5e51c07ff0005faf6b5ab033e6c430fd3e409fa","author":{"name":"Madelaine Boyd","email":"b628568c197693f8c9dfc34ef90d259c44ee72d1@fb.com"},"message":"Scan unnamed unions\n\nSummary:\nTYPE_SCAN_CONSERVATIVE_FIELD(foo) failed when foo was a member of an unnamed union.\nThe type scanner should treat members of an unnamed union as if they are members of the enclosing struct.\n\nReviewed By: ricklavoie\n\nDifferential Revision: D4093316\n\nfbshipit-source-id: a0584978cc58386af409d9e250fb715bfdf112b3","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/f5e51c07ff0005faf6b5ab033e6c430fd3e409fa"},{"sha":"ba0f42060d8fa593687aebb014f60603545e510d","author":{"name":"Brett Simmers","email":"028739e96ccaf586e6f341efb813e8f7cc738ded@fb.com"},"message":"Fix HHVM type scanner generation\n\nSummary: D4093316 lost a rebase race with D4051201 and broke the build.\n\nReviewed By: ricklavoie\n\nDifferential Revision: D4165430\n\nfbshipit-source-id: d2ed2229c5eb4dd7e451a6b214defacdab8c15ad","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/ba0f42060d8fa593687aebb014f60603545e510d"},{"sha":"800e3b8a60fd642caee185edcc5b3c43c978ee1a","author":{"name":"Guilherme Ottoni","email":"1fc9648f5810b68a16cb18cc6f10df7ae9412f64@fb.com"},"message":"Tweaks to the HHIR CFG dot printer\n\nSummary:\n- color the blocks based on their hints\n- stop coloring arcs to exit blocks: they're obvious and were preventing arcs to unlikely blocks from being highlighted\n- include the profile counters in the blocks\n- change the color scheme a bit\n\nReviewed By: paulbiss\n\nDifferential Revision: D4164436\n\nfbshipit-source-id: 2fe1b45ebb18f9a6621541cd8b3d4498c3173bf0","distinct":true,"url":"https://api.github.com/repos/dave-estes/hhvm/commits/800e3b8a60fd642caee185edcc5b3c43c978ee1a"}]}
{"actor":{"display_login":"dave-estes"}}