{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments/200185195","pull_request_review_id":134451688,"id":200185195,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDE4NTE5NQ==","diff_hunk":"@@ -4621,6 +4636,201 @@ internal static bool TryParseQuoteString(ReadOnlySpan<char> format, int pos, Str\n             return true;\n         }\n \n+        private static bool ParseFormatR(ReadOnlySpan<char> source, ref ParsingInfo parseInfo, ref DateTimeResult result)\n+        {\n+            // Example:\n+            // Tue, 03 Jan 2017 08:08:05 GMT\n+\n+            // The format is exactly 29 characters.\n+            if ((uint)source.Length != 29)\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Parse the three-letter day of week.  Any casing is valid.\n+            DayOfWeek dayOfWeek;\n+            {\n+                uint dow0 = source[0], dow1 = source[1], dow2 = source[2], comma = source[3];\n+\n+                if ((dow0 | dow1 | dow2 | comma) > 0x7F)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                uint dowString = (dow0 << 24) | (dow1 << 16) | (dow2 << 8) | comma | 0x20202000;\n+                switch (dowString)\n+                {\n+                    case 0x73756E2c /* 'sun,' */: dayOfWeek = DayOfWeek.Sunday; break;\n+                    case 0x6d6f6e2c /* 'mon,' */: dayOfWeek = DayOfWeek.Monday; break;\n+                    case 0x7475652c /* 'tue,' */: dayOfWeek = DayOfWeek.Tuesday; break;\n+                    case 0x7765642c /* 'wed,' */: dayOfWeek = DayOfWeek.Wednesday; break;\n+                    case 0x7468752c /* 'thu,' */: dayOfWeek = DayOfWeek.Thursday; break;\n+                    case 0x6672692c /* 'fri,' */: dayOfWeek = DayOfWeek.Friday; break;\n+                    case 0x7361742c /* 'sat,' */: dayOfWeek = DayOfWeek.Saturday; break;\n+                    default:\n+                        result.SetBadDateTimeFailure();\n+                        return false;\n+                }\n+            }\n+\n+            if (source[4] != ' ')\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Parse the two digit day.\n+            int day;\n+            {\n+                uint digit1 = (uint)(source[5] - '0'), digit2 = (uint)(source[6] - '0');\n+\n+                if (digit1 > 9 || digit2 > 9)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                day = (int)(digit1*10 + digit2);\n+            }\n+\n+            if (source[7] != ' ')\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Parse the three letter month (followed by a space). Any casing is valid.\n+            int month;\n+            {\n+                uint m0 = source[8], m1 = source[9], m2 = source[10], space = source[11];\n+\n+                if ((m0 | m1 | m2 | space) > 0x7F)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                switch ((m0 << 24) | (m1 << 16) | (m2 << 8) | space | 0x20202000)\n+                {\n+                    case 0x6a616e20 /* 'jan ' */ : month = 1; break;\n+                    case 0x66656220 /* 'feb ' */ : month = 2; break;\n+                    case 0x6d617220 /* 'mar ' */ : month = 3; break;\n+                    case 0x61707220 /* 'apr ' */ : month = 4; break;\n+                    case 0x6d617920 /* 'may ' */ : month = 5; break;\n+                    case 0x6a756e20 /* 'jun ' */ : month = 6; break;\n+                    case 0x6a756c20 /* 'jul ' */ : month = 7; break;\n+                    case 0x61756720 /* 'aug ' */ : month = 8; break;\n+                    case 0x73657020 /* 'sep ' */ : month = 9; break;\n+                    case 0x6f637420 /* 'oct ' */ : month = 10; break;\n+                    case 0x6e6f7620 /* 'nov ' */ : month = 11; break;\n+                    case 0x64656320 /* 'dec ' */ : month = 12; break;\n+                    default:\n+                        result.SetBadDateTimeFailure();\n+                        return false;\n+                }\n+            }\n+\n+            // Parse the four-digit year.\n+            int year;\n+            {\n+                uint y1 = (uint)(source[12] - '0'), y2 = (uint)(source[13] - '0'), y3 = (uint)(source[14] - '0'), y4 = (uint)(source[15] - '0');\n+\n+                if (y1 > 9 || y2 > 9 || y3 > 9 || y4 > 9)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                year = (int)(y1*1000 + y2*100 + y3*10 + y4);\n+            }\n+\n+            if (source[16] != ' ')\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Parse the two digit hour.\n+            int hour;\n+            {\n+                uint h1 = (uint)(source[17] - '0'), h2 = (uint)(source[18] - '0');\n+\n+                if (h1 > 9 || h2 > 9)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                hour = (int)(h1*10 + h2);\n+            }\n+\n+            if (source[19] != ':')\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Parse the two-digit minute.\n+            int minute;\n+            {\n+                uint m1 = (uint)(source[20] - '0');\n+                uint m2 = (uint)(source[21] - '0');\n+\n+                if (m1 > 9 || m2 > 9)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                minute = (int)(m1*10 + m2);\n+            }\n+\n+            if (source[22] != ':')\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Parse the two-digit second.\n+            int second;\n+            {\n+                uint s1 = (uint)(source[23] - '0'), s2 = (uint)(source[24] - '0');\n+\n+                if (s1 > 9 || s2 > 9)\n+                {\n+                    result.SetBadDateTimeFailure();\n+                    return false;\n+                }\n+\n+                second = (int)(s1*10 + s2);\n+            }\n+\n+            // Parse \" GMT\".  It must be upper case.\n+            if (source[25] != ' ' || source[26] != 'G' || source[27] != 'M' || source[28] != 'T')\n+            {\n+                result.SetBadDateTimeFailure();\n+                return false;\n+            }\n+\n+            // Validate that the parsed date is valid according to the calendar.\n+            if (!parseInfo.calendar.TryToDateTime(year, month, day, hour, minute, second, 0, 0, out result.parsedDate))","path":"src/System.Private.CoreLib/shared/System/Globalization/DateTimeParse.cs","position":248,"original_position":248,"commit_id":"d43fdff4a0874bb2e3b7b1c28cdef483035ab737","original_commit_id":"d43fdff4a0874bb2e3b7b1c28cdef483035ab737","user":{"login":"tarekgh","id":10833894,"node_id":"MDQ6VXNlcjEwODMzODk0","avatar_url":"https://avatars2.githubusercontent.com/u/10833894?v=4","gravatar_id":"","url":"https://api.github.com/users/tarekgh","html_url":"https://github.com/tarekgh","followers_url":"https://api.github.com/users/tarekgh/followers","following_url":"https://api.github.com/users/tarekgh/following{/other_user}","gists_url":"https://api.github.com/users/tarekgh/gists{/gist_id}","starred_url":"https://api.github.com/users/tarekgh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarekgh/subscriptions","organizations_url":"https://api.github.com/users/tarekgh/orgs","repos_url":"https://api.github.com/users/tarekgh/repos","events_url":"https://api.github.com/users/tarekgh/events{/privacy}","received_events_url":"https://api.github.com/users/tarekgh/received_events","type":"User","site_admin":false},"body":">if (!parseInfo.calendar.TryToDateTim [](start = 12, length = 36)\r\n\r\nThis is ok, but with the \"r\" format we always use Gregorian calendar so we can just simply do \"new DateTime(...) \" we just need to ensure DateTimeKind value is set correctly.","created_at":"2018-07-04T18:22:13Z","updated_at":"2018-07-04T18:22:13Z","html_url":"https://github.com/dotnet/coreclr/pull/18771#discussion_r200185195","pull_request_url":"https://api.github.com/repos/dotnet/coreclr/pulls/18771","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments/200185195"},"html":{"href":"https://github.com/dotnet/coreclr/pull/18771#discussion_r200185195"},"pull_request":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/18771"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/coreclr/pulls/18771","id":199070812,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5MDcwODEy","html_url":"https://github.com/dotnet/coreclr/pull/18771","diff_url":"https://github.com/dotnet/coreclr/pull/18771.diff","patch_url":"https://github.com/dotnet/coreclr/pull/18771.patch","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/18771","number":18771,"state":"open","locked":false,"title":"Improve DateTime{Offset}.ParseExact{Multiple} performance for RFC1123 (\"r\")","user":{"login":"stephentoub","id":2642209,"node_id":"MDQ6VXNlcjI2NDIyMDk=","avatar_url":"https://avatars0.githubusercontent.com/u/2642209?v=4","gravatar_id":"","url":"https://api.github.com/users/stephentoub","html_url":"https://github.com/stephentoub","followers_url":"https://api.github.com/users/stephentoub/followers","following_url":"https://api.github.com/users/stephentoub/following{/other_user}","gists_url":"https://api.github.com/users/stephentoub/gists{/gist_id}","starred_url":"https://api.github.com/users/stephentoub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephentoub/subscriptions","organizations_url":"https://api.github.com/users/stephentoub/orgs","repos_url":"https://api.github.com/users/stephentoub/repos","events_url":"https://api.github.com/users/stephentoub/events{/privacy}","received_events_url":"https://api.github.com/users/stephentoub/received_events","type":"User","site_admin":false},"body":"Significantly improves the performance of `DateTime.ParseExact(..., \"r\", ...)` by porting and adapting the `Utf8Parser` code from corefx, for a **15-20x** throughput increase (and also saving three string allocations totaling ~80bytes... which more generally we should subsequently look at getting rid of for other formats).  This optimizes for the (default) case of a `DateTimeStyles.None`; specifying any other style falls back to the normal parsing support, as that requires handling things such as arbitrary whitespace anywhere in the string.\r\n\r\nBenchmark:\r\n```C#\r\nusing System;\r\nusing BenchmarkDotNet.Attributes;\r\nusing BenchmarkDotNet.Attributes.Jobs;\r\nusing BenchmarkDotNet.Running;\r\n\r\n[MemoryDiagnoser]\r\n[InProcess]\r\npublic class Benchmark\r\n{\r\n    private static void Main() => BenchmarkRunner.Run<Benchmark>();\r\n\r\n    [Benchmark] public DateTime DT_ParseExactR() => DateTime.ParseExact(\"Wed, 15 Aug 1906 07:24:05 GMT\", \"r\", null);\r\n    [Benchmark] public DateTimeOffset DTO_ParseExactR() => DateTimeOffset.ParseExact(\"Wed, 15 Aug 1906 07:24:05 GMT\", \"r\", null);\r\n\r\n    private static readonly string[] s_formats = new string[] { \"R\" };\r\n    [Benchmark] public DateTime DT_ParseExactMultipleR() => DateTime.ParseExact(\"Wed, 15 Aug 1906 07:24:05 GMT\", s_formats, null);\r\n    [Benchmark] public DateTimeOffset DTO_ParseExactMultipleR() => DateTimeOffset.ParseExact(\"Wed, 15 Aug 1906 07:24:05 GMT\", s_formats, null);\r\n}\r\n```\r\n\r\nBefore:\r\n```\r\n                  Method |     Mean |     Error |    StdDev |  Gen 0 | Allocated |\r\n------------------------ |---------:|----------:|----------:|-------:|----------:|\r\n          DT_ParseExactR | 1.922 us | 0.0377 us | 0.0888 us | 0.0172 |      80 B |\r\n         DTO_ParseExactR | 1.948 us | 0.0374 us | 0.0511 us | 0.0153 |      80 B |\r\n  DT_ParseExactMultipleR | 1.922 us | 0.0265 us | 0.0221 us | 0.0172 |      80 B |\r\n DTO_ParseExactMultipleR | 1.934 us | 0.0349 us | 0.0292 us | 0.0153 |      80 B |\r\n```\r\n\r\nAfter:\r\n```\r\n                  Method |      Mean |     Error |    StdDev | Allocated |\r\n------------------------ |----------:|----------:|----------:|----------:|\r\n          DT_ParseExactR |  98.38 ns | 0.9119 ns | 0.7119 ns |       0 B |\r\n         DTO_ParseExactR | 123.87 ns | 0.4554 ns | 0.3012 ns |       0 B |\r\n  DT_ParseExactMultipleR | 112.05 ns | 2.3175 ns | 4.6284 ns |       0 B |\r\n DTO_ParseExactMultipleR | 120.27 ns | 1.3823 ns | 1.2930 ns |       0 B |\r\n```\r\n\r\ncc: @ahsonkhan, @jkotas, @pjanotti, @joperezr \r\nContributes to https://github.com/dotnet/corefx/issues/30612","created_at":"2018-07-03T20:08:29Z","updated_at":"2018-07-04T18:22:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"89ea94be46624ead2a0f1fd6e613a96478ce356c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":517089971,"node_id":"MDU6TGFiZWw1MTcwODk5NzE=","url":"https://api.github.com/repos/dotnet/coreclr/labels/area-System.Runtime","name":"area-System.Runtime","color":"d4c5f9","default":false},{"id":191917125,"node_id":"MDU6TGFiZWwxOTE5MTcxMjU=","url":"https://api.github.com/repos/dotnet/coreclr/labels/tenet-performance","name":"tenet-performance","color":"c2e0c6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/coreclr/pulls/18771/commits","review_comments_url":"https://api.github.com/repos/dotnet/coreclr/pulls/18771/comments","review_comment_url":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/18771/comments","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/d43fdff4a0874bb2e3b7b1c28cdef483035ab737","head":{"label":"stephentoub:dtparse","ref":"dtparse","sha":"d43fdff4a0874bb2e3b7b1c28cdef483035ab737","user":{"login":"stephentoub","id":2642209,"node_id":"MDQ6VXNlcjI2NDIyMDk=","avatar_url":"https://avatars0.githubusercontent.com/u/2642209?v=4","gravatar_id":"","url":"https://api.github.com/users/stephentoub","html_url":"https://github.com/stephentoub","followers_url":"https://api.github.com/users/stephentoub/followers","following_url":"https://api.github.com/users/stephentoub/following{/other_user}","gists_url":"https://api.github.com/users/stephentoub/gists{/gist_id}","starred_url":"https://api.github.com/users/stephentoub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephentoub/subscriptions","organizations_url":"https://api.github.com/users/stephentoub/orgs","repos_url":"https://api.github.com/users/stephentoub/repos","events_url":"https://api.github.com/users/stephentoub/events{/privacy}","received_events_url":"https://api.github.com/users/stephentoub/received_events","type":"User","site_admin":false},"repo":{"id":30271698,"node_id":"MDEwOlJlcG9zaXRvcnkzMDI3MTY5OA==","name":"coreclr","full_name":"stephentoub/coreclr","owner":{"login":"stephentoub","id":2642209,"node_id":"MDQ6VXNlcjI2NDIyMDk=","avatar_url":"https://avatars0.githubusercontent.com/u/2642209?v=4","gravatar_id":"","url":"https://api.github.com/users/stephentoub","html_url":"https://github.com/stephentoub","followers_url":"https://api.github.com/users/stephentoub/followers","following_url":"https://api.github.com/users/stephentoub/following{/other_user}","gists_url":"https://api.github.com/users/stephentoub/gists{/gist_id}","starred_url":"https://api.github.com/users/stephentoub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephentoub/subscriptions","organizations_url":"https://api.github.com/users/stephentoub/orgs","repos_url":"https://api.github.com/users/stephentoub/repos","events_url":"https://api.github.com/users/stephentoub/events{/privacy}","received_events_url":"https://api.github.com/users/stephentoub/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stephentoub/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR. It is an execution engine for .NET apps, performing functions such as IL byte code loading, compilation to machine code and garbage collection. The repo contains the complete up-to-date CoreCLR codebase.","fork":true,"url":"https://api.github.com/repos/stephentoub/coreclr","forks_url":"https://api.github.com/repos/stephentoub/coreclr/forks","keys_url":"https://api.github.com/repos/stephentoub/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stephentoub/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stephentoub/coreclr/teams","hooks_url":"https://api.github.com/repos/stephentoub/coreclr/hooks","issue_events_url":"https://api.github.com/repos/stephentoub/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/stephentoub/coreclr/events","assignees_url":"https://api.github.com/repos/stephentoub/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/stephentoub/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/stephentoub/coreclr/tags","blobs_url":"https://api.github.com/repos/stephentoub/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stephentoub/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stephentoub/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/stephentoub/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stephentoub/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/stephentoub/coreclr/languages","stargazers_url":"https://api.github.com/repos/stephentoub/coreclr/stargazers","contributors_url":"https://api.github.com/repos/stephentoub/coreclr/contributors","subscribers_url":"https://api.github.com/repos/stephentoub/coreclr/subscribers","subscription_url":"https://api.github.com/repos/stephentoub/coreclr/subscription","commits_url":"https://api.github.com/repos/stephentoub/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/stephentoub/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/stephentoub/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/stephentoub/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/stephentoub/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/stephentoub/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stephentoub/coreclr/merges","archive_url":"https://api.github.com/repos/stephentoub/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stephentoub/coreclr/downloads","issues_url":"https://api.github.com/repos/stephentoub/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/stephentoub/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/stephentoub/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/stephentoub/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stephentoub/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/stephentoub/coreclr/releases{/id}","deployments_url":"https://api.github.com/repos/stephentoub/coreclr/deployments","created_at":"2015-02-04T00:05:29Z","updated_at":"2018-07-04T02:44:51Z","pushed_at":"2018-07-04T04:03:57Z","git_url":"git://github.com/stephentoub/coreclr.git","ssh_url":"git@github.com:stephentoub/coreclr.git","clone_url":"https://github.com/stephentoub/coreclr.git","svn_url":"https://github.com/stephentoub/coreclr","homepage":"","size":226137,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"c5dce0a3c0c5046aacde93c7ee2e35371d15ad6f","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30092893,"node_id":"MDEwOlJlcG9zaXRvcnkzMDA5Mjg5Mw==","name":"coreclr","full_name":"dotnet/coreclr","owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/coreclr","description":"This repo contains the .NET Core runtime, called CoreCLR, and the base library, called System.Private.Corelib (or mscorlib). It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes. We welcome contributions.","fork":false,"url":"https://api.github.com/repos/dotnet/coreclr","forks_url":"https://api.github.com/repos/dotnet/coreclr/forks","keys_url":"https://api.github.com/repos/dotnet/coreclr/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/coreclr/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/coreclr/teams","hooks_url":"https://api.github.com/repos/dotnet/coreclr/hooks","issue_events_url":"https://api.github.com/repos/dotnet/coreclr/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/coreclr/events","assignees_url":"https://api.github.com/repos/dotnet/coreclr/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/coreclr/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/coreclr/tags","blobs_url":"https://api.github.com/repos/dotnet/coreclr/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/coreclr/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/coreclr/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/coreclr/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/coreclr/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/coreclr/languages","stargazers_url":"https://api.github.com/repos/dotnet/coreclr/stargazers","contributors_url":"https://api.github.com/repos/dotnet/coreclr/contributors","subscribers_url":"https://api.github.com/repos/dotnet/coreclr/subscribers","subscription_url":"https://api.github.com/repos/dotnet/coreclr/subscription","commits_url":"https://api.github.com/repos/dotnet/coreclr/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/coreclr/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/coreclr/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/coreclr/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/coreclr/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/coreclr/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/coreclr/merges","archive_url":"https://api.github.com/repos/dotnet/coreclr/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/coreclr/downloads","issues_url":"https://api.github.com/repos/dotnet/coreclr/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/coreclr/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/coreclr/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/coreclr/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/coreclr/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/coreclr/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/coreclr/deployments","created_at":"2015-01-30T22:10:02Z","updated_at":"2018-07-04T18:18:29Z","pushed_at":"2018-07-04T18:18:14Z","git_url":"git://github.com/dotnet/coreclr.git","ssh_url":"git@github.com:dotnet/coreclr.git","clone_url":"https://github.com/dotnet/coreclr.git","svn_url":"https://github.com/dotnet/coreclr","homepage":"https://github.com/dotnet/core","size":228760,"stargazers_count":9504,"watchers_count":9504,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2378,"mirror_url":null,"archived":false,"open_issues_count":1686,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2378,"open_issues":1686,"watchers":9504,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/18771"},"html":{"href":"https://github.com/dotnet/coreclr/pull/18771"},"issue":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/18771"},"comments":{"href":"https://api.github.com/repos/dotnet/coreclr/issues/18771/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/18771/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/coreclr/pulls/18771/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/coreclr/statuses/d43fdff4a0874bb2e3b7b1c28cdef483035ab737"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tarekgh"}}