{"push_id":2580883496,"size":13,"distinct_size":1,"ref":"refs/heads/utf8","head":"24a80716095551075cbde7518cbba8392d515cab","before":"a3ce65a13db0c817a3f7a13e1e2e9ff8c444a212","commits":[{"sha":"e8098e514ce43a2c35edec4f5f231c8cc4854074","author":{"name":"Steve MacLean","email":"512ccff791ce8d2154f4015c815399864d725d43@qualcommdatacenter.com"},"message":"[Arm64] Fix stack struct arg packing","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/e8098e514ce43a2c35edec4f5f231c8cc4854074"},{"sha":"f02f59f658a52bd1aaf6082918cfd96bd601daeb","author":{"name":"dotnet-maestro-bot","email":"458099d2bb48149f6c8651220a3b35e07025afbf@microsoft.com"},"message":"Update BuildTools, PgoData to preview1-02817-01, master-20180518-0039, respectively (#18038)","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/f02f59f658a52bd1aaf6082918cfd96bd601daeb"},{"sha":"55461ca277e43e04a9197d981d10852aa0719316","author":{"name":"Carol Eidt","email":"2dfd39b59a5cc3dfc0e76b8fa77cf2409a993cc9@microsoft.com"},"message":"Merge pull request #17991 from sdmaclea/PR-ARM64-STACK-PACKING\n\n[Arm64] Fix stack struct arg packing","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/55461ca277e43e04a9197d981d10852aa0719316"},{"sha":"5bd38293ed527413950ef03bded1a12ca20af5b1","author":{"name":"Andy Ayers","email":"04b66ffb2360c42ea91fdf2fb99d31cafab10efd@microsoft.com"},"message":"JIT: clear up some no-op casts in the importer (#17996)\n\nIf we see a no-op cast (say converting long to ulong) where the operand\r\nto be cast already has the right stack type, don't generate a GT_CAST,\r\njust use the operand.\r\n\r\nThis comes up in some cases with unsafe operations where the pointer type\r\nis cast. Interposing a cast between an GT_IND and GT_ADDR results in poor\r\ncodegen as the jit thinks the addressed local is address taken.","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/5bd38293ed527413950ef03bded1a12ca20af5b1"},{"sha":"3c28c423053f30adedc034c5e2c912bd2adaad10","author":{"name":"Andy Ayers","email":"04b66ffb2360c42ea91fdf2fb99d31cafab10efd@microsoft.com"},"message":"JIT: treat SIMD types as structs in box optimizations (#18046)\n\nOtherwise we may leave unconsumed GT_OBJs around, which is problematic for the\r\njit later on.\r\n\r\nFixes #18043.","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/3c28c423053f30adedc034c5e2c912bd2adaad10"},{"sha":"026abe216b39550ab6acb80ecb8927904e194886","author":{"name":"Mike Danes","email":"7bc4ab6e0f810a8cad730701d78271a3b2402d5b@hotmail.com"},"message":"Remove useless IndirectAssignmentAnnotation\n\nThis annotation is supposed to be used by SSA and VN but that does not actually happen because fgMorphCopyBlock also marks the destination local as address exposed.\n\nAlso, even if the local wasn't address exposed there are other parts of the JIT that should probably use this annotation but currently they do not:\n* Copy propagation attempts to mirror SSA renaming but it ignores IndirectAssignmentAnnotation.\n* Liveness also doesn't pay attention to IndirectAssignmentAnnotation. A comment in fgMorphCopyBlock even gives liveness as the reason why the destination local is address exposed.","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/026abe216b39550ab6acb80ecb8927904e194886"},{"sha":"6e8232059e563d4e3d877f7020db17ee14e285f0","author":{"name":"Stephen Toub","email":"94274d0b635748ad8df96c0fc4f19e1ecd3f67e2@microsoft.com"},"message":"Avoid freezing ConcurrentQueue segments in Count (#18035)\n\n* Avoid freezing ConcurrentQueue segments in Count\r\n\r\nIn .NET Core 2.0, we changed the implementation of ConcurrentQueue to allow segment reuse, making enqueues ammoritzed allocation-free, whereas previously every enqueue had some allocation cost (even if it was batched as part of allocating a segment).  However, some operations mark segments as being frozen, which then prevents subsequent enqueues into those segments; this is necessary for enumeration, but Count also caused this.  Ideally Count isn't used on hot paths, but if it is, this can end up in degenerate situations where, for example, if Count is called after every enqueue, we'll end up creating a new segment for every enqueued item, which is incredibly inefficient both for the enqueues and for Count, which is O(N) in the number of segments.\r\n\r\nIt turns out, though, that we were overly cautious in implementing Count, and we don't actually need it to freeze the segments.  Instead, when there are more than two segments (the case where we previously froze), we can take the cross-segment lock, which is the same lock that's held any time we update the head and tail segment pointers.  Once that lock is held, we know that the internal segments won't change, because code can only enqueue/dequeue from the head and tail segments, so any segment that's not head and tail while the lock is held is effectively immutable.  That means that we can simply walk those segments and add up their counts, safe in knowing they won't change while we're enumerating.\r\n\r\n* Remove stale comment","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/6e8232059e563d4e3d877f7020db17ee14e285f0"},{"sha":"9352f69ffbf25762d0c631b7e84389f0d111bcd4","author":{"name":"Carol Eidt","email":"2dfd39b59a5cc3dfc0e76b8fa77cf2409a993cc9@microsoft.com"},"message":"Merge pull request #15348 from mikedn/ssa-indir\n\nRemove useless IndirectAssignmentAnnotation","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/9352f69ffbf25762d0c631b7e84389f0d111bcd4"},{"sha":"4f100f944cd108918a8920a8a22e12b6711fdc84","author":{"name":"mikedn","email":"7bc4ab6e0f810a8cad730701d78271a3b2402d5b@hotmail.com"},"message":"Remove bogus NoInlining uses (#18061)\n\nThe JIT knows not to inline throw helper methods. Manually blocking inlining prevents the JIT from detecting that these methods do not return and that may negatively impact the quality of the caller method code.","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/4f100f944cd108918a8920a8a22e12b6711fdc84"},{"sha":"68275d2e24118165bffb5d2e4850fc86cb8f4030","author":{"name":"Jan Kotas","email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com"},"message":"Fix CoreRT build break\n\nSigned-off-by: dotnet-bot <dotnet-bot@microsoft.com>","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/68275d2e24118165bffb5d2e4850fc86cb8f4030"},{"sha":"cce4ad55e22e49edf417a6a967d58a4a345335a0","author":{"name":"dotnet-maestro-bot","email":"458099d2bb48149f6c8651220a3b35e07025afbf@microsoft.com"},"message":"Update PgoData to master-20180519-0051 (#18062)","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/cce4ad55e22e49edf417a6a967d58a4a345335a0"},{"sha":"34c7dcfd2a8ae616d19bb7657463b990f5a7ff1f","author":{"name":"dotnet-maestro-bot","email":"458099d2bb48149f6c8651220a3b35e07025afbf@microsoft.com"},"message":"Update PgoData to master-20180520-0038 (#18065)","distinct":false,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/34c7dcfd2a8ae616d19bb7657463b990f5a7ff1f"},{"sha":"24a80716095551075cbde7518cbba8392d515cab","author":{"name":"Atsushi Kanamori","email":"f694667391974dbf5accff46f586ecf7968f64c0@users.noreply.github.com"},"message":"Merge with master","distinct":true,"url":"https://api.github.com/repos/AtsushiKan/coreclr/commits/24a80716095551075cbde7518cbba8392d515cab"}]}
{"actor":{"display_login":"AtsushiKan"}}