{"push_id":684096019,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"059b16d5cb5aff5fd89fb65d5aeea8bcbeb2bf66","before":"7af5a3597c700b28da78f856c54fef533b615eb1","commits":[{"sha":"8dc975a8fcc3f73b0c4158870ae70edf5611821c","author":{"email":"176254d9906391ef7c8860fce1cf7bb88afc21a7@fb.com","name":"Jordan DeLong"},"message":"Fix some problems with gvn on array instructions\n\nSummary: The NameValueTableWrapper array doesn't have value semantics, so it's\na bit of a bummer but we can't do this stuff if we haven't proven an array\ncan't be $GLOBALS.  We should probably make that thing not be a KindOfArray,\nand we might eventually also be able to assume if an SSATmp has an arrSpec with\na RAT array in it, then it can't be a $GLOBALS pointer.  But for now just fix\nthe problem.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2111789","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/8dc975a8fcc3f73b0c4158870ae70edf5611821c"},{"sha":"7a461a93c86fa81476721451a06c25b8253c15a6","author":{"email":"176254d9906391ef7c8860fce1cf7bb88afc21a7@fb.com","name":"Jordan DeLong"},"message":"Fix a load-elim bug when simplify() folds a CheckType into a Jmp\n\nSummary: It would replace a sequence like:\n\n   t1 :: Obj\n   t2 = CheckType<BoxedCell> t1 -> B\n\nwith\n\n   t1 :: Obj\n   t2 = Mov t1\n   Jmp B\n\nThis means that uses of t2 in the fallthrough block would now have a t2 of type\nObj, which isn't a subtype of BoxedCell, which can break various things.  (In\nmy case, load elim was freaking out because memory_effects claimed there was an\nARef location in an object, when it visited the LdRef in the now-unreachable\nblock.)\n\nInstead, it turns out in this case we don't need to keep t2 defined, if the\nsimplifier is running after gen time.  At gen time, we can return a Bottom\nbecause the dest of the check type irgen was trying to create is unreachable.\nIt also turns out we need to prevent load-elim from visiting blocks that the\nsimplifier made unreachable.  Discussion about why is in the code.\n\nReviewed By: @ottoni\n\nDifferential Revision: D2108705","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/7a461a93c86fa81476721451a06c25b8253c15a6"},{"sha":"7a4a3290c2292bb516112305aa53fa5c11f9c69d","author":{"email":"176254d9906391ef7c8860fce1cf7bb88afc21a7@fb.com","name":"Jordan DeLong"},"message":"Refactor packedArrayBoundsStaticCheck to return an enum\n\nSummary: I'm adding a callsite and this seemed a bit clearer than the optional\nbool.\n\nReviewed By: @binliu19\n\nDifferential Revision: D2108828","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/7a4a3290c2292bb516112305aa53fa5c11f9c69d"},{"sha":"addba9674c7bdc1e079a63de997345c3c4600652","author":{"email":"176254d9906391ef7c8860fce1cf7bb88afc21a7@fb.com","name":"Jordan DeLong"},"message":"Simplify CountArrayFast based on RAT array types\n\nSummary: If we know the size of an array we can just use it.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2109313","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/addba9674c7bdc1e079a63de997345c3c4600652"},{"sha":"059b16d5cb5aff5fd89fb65d5aeea8bcbeb2bf66","author":{"email":"c7770532a931e3aa4b899b35c04fc7741c687449@fb.com","name":"Cullen Walsh"},"message":"Do not fatal when reading an invalid thrift compact message\n\nSummary: raise_error() is a fatal. thrift_error() throws a TProtocolException\n\nReviewed By: @alandau\n\nDifferential Revision: D2108589","distinct":true,"url":"https://api.github.com/repos/facebook/hhvm/commits/059b16d5cb5aff5fd89fb65d5aeea8bcbeb2bf66"}]}