{"push_id":742175909,"size":18,"distinct_size":18,"ref":"refs/heads/master","head":"b53dd122d5c3fa4df4dcb0f65eb0ec57d87551a8","before":"d0e28de45b690c8e51809265244ed02d7ed3c855","commits":[{"sha":"25b1bb4c120653e4c6a724a2edc15a9925a3635c","author":{"email":"de2b83bd3e35329bad687cd114521673f3e438bb@microsoft.com","name":"Sridhar Periyasamy"},"message":"Fix to get the correct value for Environment.TickCount in OSX\n\nOn linux monotonic clock API clock_gettime is available. But on OSX the PAL implementation falls back to gettimeofday. This always retured the time elapsed since Unix Epoch (1970/01/01). I fixed it by using the mach API clock_get_time on OSX to get the time elapsed since system start.\n\nFixes #2441\nhttps://github.com/dotnet/corefx/issues/2441","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/25b1bb4c120653e4c6a724a2edc15a9925a3635c"},{"sha":"6bfb7c3a0fb232b2bad704e9a29d82fcf3369777","author":{"email":"de2b83bd3e35329bad687cd114521673f3e438bb@microsoft.com","name":"Sridhar Periyasamy"},"message":"Fix Mach host port leaks in OSX\n\n- Add return value check for \"host_get_clock_service\".\n- Fix host port leaks in GetTickCount64 and GlobalMemoryStatusEx.","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/6bfb7c3a0fb232b2bad704e9a29d82fcf3369777"},{"sha":"cd3e4610a193168a0d1a3a9da81a9b071c4e9de3","author":{"email":"de2b83bd3e35329bad687cd114521673f3e438bb@microsoft.com","name":"Sridhar Periyasamy"},"message":"Replace the usage of MACH monotonic function 'clock_get_time' with 'mach_absolute_time' in GetTickCount64.\n\nMonotonic clock function 'clock_get_time' was causing perf regression in 'Environment.TickCount'. So replacing it with 'mach_absolute_time' which gives considerable performance gains. Here are the perf numbers\nUsing 'clock_get_time' (without caching host ports) - Average time 2.86 microseconds.\nUsing 'clock_get_time' (with caching host ports) - Average time 0.82 microseconds.\nUsing 'gettimeofday' (original implementation) - Average time 0.05 microseconds.\nUsing 'mach_absolute_time' - Average time 0.04 microseconds.","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/cd3e4610a193168a0d1a3a9da81a9b071c4e9de3"},{"sha":"661dd3c49383a1ecd38e7e3b6b770f536b631782","author":{"email":"de2b83bd3e35329bad687cd114521673f3e438bb@microsoft.com","name":"Sridhar Periyasamy"},"message":"Move 's_TimebaseInfo' intialization to PAL intialization and nanosecond resolution support for StopWatch in OSX.\n\nOSX provides nanosecond timer capabilities. But the PAL was not using it and falling back to microsecond-level resolution.","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/661dd3c49383a1ecd38e7e3b6b770f536b631782"},{"sha":"25aa636ff812ba8432f65a0b9078eaa886b4f6d2","author":{"email":"2dfd39b59a5cc3dfc0e76b8fa77cf2409a993cc9@microsoft.com","name":"Carol Eidt"},"message":"Fix 1203471: Incorrect rationalization of unused SIMD localVar\n\nThe Rationalizer was not correctly handling a case of an unused SIMD expression involving a localVar or temporary value, where the SIMD expression is returning a non-SIMD value, and the expression is sufficiently complex (e.g. a call to vector * scalar which is inlined but not an intrinsic).\nThe ldobj of the localVar is not eliminated, because it involves an indirection, and therefore appears potentially unsafe to eliminate. However, when we transform the ldobj into a plain localVar during the Rationalizer, we need to correctly handle the case where it has no parent.\n\n[tfs-changeset: 1505976]","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/25aa636ff812ba8432f65a0b9078eaa886b4f6d2"},{"sha":"a0423ecf2f719b55332a7e4e3f8d5f9d71a9ca56","author":{"email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com","name":"Jan Kotas"},"message":"Merge pull request #1293 from dotnet-bot/from-tfs\n\nMerge changes from TFS","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/a0423ecf2f719b55332a7e4e3f8d5f9d71a9ca56"},{"sha":"085cff4715d4e8c4efa6eb476d5d97c88b926868","author":{"email":"73675debcd8a436be48ec22211dcf44fe0df0a64@curlybracket.co.uk","name":"Ben Pye"},"message":"Expose Unix hosting API on Windows","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/085cff4715d4e8c4efa6eb476d5d97c88b926868"},{"sha":"480227becb804cd511c23bbcaf4994b839130fd8","author":{"email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com","name":"Jan Kotas"},"message":"Merge pull request #1295 from benpye/windows-unix-hosting-api\n\nExpose Unix hosting API on Windows","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/480227becb804cd511c23bbcaf4994b839130fd8"},{"sha":"d2086d64f08a3ad28c58e0dffa268c79913060a8","author":{"email":"de2b83bd3e35329bad687cd114521673f3e438bb@microsoft.com","name":"Sridhar Periyasamy"},"message":"Fix to return the right frequency (in ticks per second) and counter (in terms of ticks) in OSX.\n\nReference: https://developer.apple.com/library/ios/qa/qa1643/_index.html","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/d2086d64f08a3ad28c58e0dffa268c79913060a8"},{"sha":"5c30031cf8d8e43176788b0f6486d25a7409b81e","author":{"email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com","name":"Jan Kotas"},"message":"Add new file to the old msbuild makefiles\n\n[tfs-changeset: 1506251]","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/5c30031cf8d8e43176788b0f6486d25a7409b81e"},{"sha":"0a13af92ae0dc35d2711ad9c684bf76a19b3bdd1","author":{"email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com","name":"Jan Kotas"},"message":"Merge pull request #1301 from dotnet-bot/from-tfs\n\nMerge changes from TFS","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/0a13af92ae0dc35d2711ad9c684bf76a19b3bdd1"},{"sha":"41fa161ddb6b1842a1e464c1df88a68d2aa54c2c","author":{"email":"0860b8a6340f342d485aedfa6c3a5e66d61d0e15@microsoft.com","name":"Venkata Sivaramakrishna Ramadugu"},"message":"Fix to bad codegen issue while tail calling virtual stub dispatched call that requires runtime lookup.\n\nThis is a case of Virtual Stub Dispatch (VSD) call that requires runtime lookup.  For such a call JIT needs to pass the address of the indirection cell in R11 (which is a callee trash register).  For the F# repro, VSD call is marked with \".tail\" prefix and a result RyuJIT attempted to dispatch through a tail call helper.  But CLR tail call helper implementation doesn't preserve R11 nor make any such guarantees and a result indirection cell address passed in R11 gets trashed leading to an AV in VM during call dispatch.  In fact all of the calls that have non-standard args passed in callee trash registers cannot be tail called via helper for the same reason.  Note that it is fine to fast tail call though.\n\n     Fix: During call morphing reject tail calls with non-stand args to be dispatched via tail-call helper.\n\n[tfs-changeset: 1506345]","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/41fa161ddb6b1842a1e464c1df88a68d2aa54c2c"},{"sha":"6b020fe3f7a83aa28f57edd936e1b25ce4b50ca7","author":{"email":"202bfdaf89d4929b26015b6e3335e051707b8d9a@microsoft.com","name":"Jan Kotas"},"message":"Merge pull request #1302 from dotnet-bot/from-tfs\n\nMerge changes from TFS","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/6b020fe3f7a83aa28f57edd936e1b25ce4b50ca7"},{"sha":"9553016acce3671e4cfa60bd6bbef9ba20709283","author":{"email":"de2b83bd3e35329bad687cd114521673f3e438bb@microsoft.com","name":"Sridhar Periyasamy"},"message":"Merge pull request #1269 from Sridhar-MS/osx-tickcount\n\nFix to get the correct value for Environment.TickCount in OSX","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/9553016acce3671e4cfa60bd6bbef9ba20709283"},{"sha":"99dc0f533465a3fab44e62618f584646ee022e6b","author":{"email":"4d7b62f37874a0e0e9bb9c3c1eb77ca6f8b899fd@microsoft.com","name":"Matt Mitchell"},"message":"Fix for potential bad tailcall code generation\n\nThe JIT can potentially pass an incorrect parameter to a callee when optimizing a tail call.  While updating a GT_LCL* node with lcl var num of temp passed to the tail call, we also need to change its opererand to GT_LCL_VAR.","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/99dc0f533465a3fab44e62618f584646ee022e6b"},{"sha":"f5794741fdcacc227db3405f462a44a681c6d0d2","author":{"email":"4d7b62f37874a0e0e9bb9c3c1eb77ca6f8b899fd@microsoft.com","name":"Matt Mitchell"},"message":"Merge pull request #1298 from mmitche/tail-call-fix\n\nFix for potential bad tailcall code generation","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/f5794741fdcacc227db3405f462a44a681c6d0d2"},{"sha":"e4ae6720d1a09499dfc71a8df4b308502bc2fea3","author":{"email":"c5fe40b6b15048a85ad2942d4b5480737a73defd@microsoft.com","name":"schellap"},"message":"Conservatively mark variable as killed if there is an embedded comma assignment\n\nGitHub Issue: Another RyuJIT optimization bug #1299\nhttps://github.com/dotnet/coreclr/issues/1299\n\nThe underlying problem is there are two loops:\n\nThe first loop does copy prop\nThe second loop updates the stack of live definitions in the currently\ntraversed CFG path.\n\nThis approach works fine only if assignments are atomic statements, but\nwhen there is an assignment embedded using a comma in a statement:\nThe first loop does nothing about this and continues to propagate\ncopies, i.e., without updating the liveness stack. This leads to using a\nstale VN for comparison rather than using an updated VN due to this\ndefinition.\n\nOnly when the second loop runs, this live definition is added to the\nstack.\n\nThe right fix is to merge the two loops into a single loop that does\ncopy prop on the tree and at the same time updates the liveness on the\nstack right after the call. But this is causing a lot of ASM diffs which\nwould affect stability.\n\nI am making a conservative fix of temporarily marking the variables that\nhave embedded intervening defs as \"killed\", until the second loop runs\nto update liveness.\n\nThere are no SuperASM diffs with this change.","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/e4ae6720d1a09499dfc71a8df4b308502bc2fea3"},{"sha":"b53dd122d5c3fa4df4dcb0f65eb0ec57d87551a8","author":{"email":"4d7b62f37874a0e0e9bb9c3c1eb77ca6f8b899fd@microsoft.com","name":"Matt Mitchell"},"message":"Merge pull request #1309 from schellap/copyprop\n\nConservatively mark variable as killed if there is an embedded comma …","distinct":true,"url":"https://api.github.com/repos/jkotas/coreclr/commits/b53dd122d5c3fa4df4dcb0f65eb0ec57d87551a8"}]}