{"action":"created","comment":{"url":"https://api.github.com/repos/mono/mono/pulls/comments/57621338","id":57621338,"diff_hunk":"@@ -1818,6 +1818,9 @@ major_start_major_collection (void)\n \t\t\tsweep_block (block);\n \t\tSGEN_ASSERT (0, block->state == BLOCK_STATE_SWEPT, \"All blocks must be swept when we're pinning.\");\n \t\tset_block_state (block, BLOCK_STATE_MARKING, BLOCK_STATE_SWEPT);\n+\t\t/* Blocks that have a null free_list are full. Evacuating them is pointless. */","path":"mono/sgen/sgen-marksweep.c","position":104,"original_position":4,"commit_id":"c2d6c35dd98a7bfb9f1fbf348965ad814b850766","original_commit_id":"7eea1a4723372e2046f2dfe470f45c2004c68dfa","user":{"login":"schani","id":61363,"avatar_url":"https://avatars.githubusercontent.com/u/61363?v=3","gravatar_id":"","url":"https://api.github.com/users/schani","html_url":"https://github.com/schani","followers_url":"https://api.github.com/users/schani/followers","following_url":"https://api.github.com/users/schani/following{/other_user}","gists_url":"https://api.github.com/users/schani/gists{/gist_id}","starred_url":"https://api.github.com/users/schani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schani/subscriptions","organizations_url":"https://api.github.com/users/schani/orgs","repos_url":"https://api.github.com/users/schani/repos","events_url":"https://api.github.com/users/schani/events{/privacy}","received_events_url":"https://api.github.com/users/schani/received_events","type":"User","site_admin":false},"body":"It's not necessarily pointless.  Until they're marked we don't know how many of those objects are live.","created_at":"2016-03-28T19:41:55Z","updated_at":"2016-03-28T19:41:55Z","html_url":"https://github.com/mono/mono/pull/2802#discussion_r57621338","pull_request_url":"https://api.github.com/repos/mono/mono/pulls/2802","_links":{"self":{"href":"https://api.github.com/repos/mono/mono/pulls/comments/57621338"},"html":{"href":"https://github.com/mono/mono/pull/2802#discussion_r57621338"},"pull_request":{"href":"https://api.github.com/repos/mono/mono/pulls/2802"}}},"pull_request":{"url":"https://api.github.com/repos/mono/mono/pulls/2802","id":64356224,"html_url":"https://github.com/mono/mono/pull/2802","diff_url":"https://github.com/mono/mono/pull/2802.diff","patch_url":"https://github.com/mono/mono/pull/2802.patch","issue_url":"https://api.github.com/repos/mono/mono/issues/2802","number":2802,"state":"open","locked":false,"title":"[sgen] Reduce number of evacuated objects","user":{"login":"BrzVlad","id":4720621,"avatar_url":"https://avatars.githubusercontent.com/u/4720621?v=3","gravatar_id":"","url":"https://api.github.com/users/BrzVlad","html_url":"https://github.com/BrzVlad","followers_url":"https://api.github.com/users/BrzVlad/followers","following_url":"https://api.github.com/users/BrzVlad/following{/other_user}","gists_url":"https://api.github.com/users/BrzVlad/gists{/gist_id}","starred_url":"https://api.github.com/users/BrzVlad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrzVlad/subscriptions","organizations_url":"https://api.github.com/users/BrzVlad/orgs","repos_url":"https://api.github.com/users/BrzVlad/repos","events_url":"https://api.github.com/users/BrzVlad/events{/privacy}","received_events_url":"https://api.github.com/users/BrzVlad/received_events","type":"User","site_admin":false},"body":"Doing less unnecessary evacuation reduces evacuation pause times for the concurrent collector since we can scan more of the heap concurrently.\r\n\r\nOn fsharp where many of the evacuated blocks get refilled relatively quickly this reduces the number of evacuated objects by 10 times. On MSBiology, which is closer to a real world scenario due to the multiple test composition, this reduces the number of evacuated objects by 3 times. While on fsharp we have a few percentage memory increase, due to less constant compaction, on MSBiology there is no memory regression.","created_at":"2016-03-28T18:39:16Z","updated_at":"2016-03-28T19:41:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8613db6ffd15349c18f40f343a08045e2712f93e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mono/mono/pulls/2802/commits","review_comments_url":"https://api.github.com/repos/mono/mono/pulls/2802/comments","review_comment_url":"https://api.github.com/repos/mono/mono/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mono/mono/issues/2802/comments","statuses_url":"https://api.github.com/repos/mono/mono/statuses/c2d6c35dd98a7bfb9f1fbf348965ad814b850766","head":{"label":"BrzVlad:feature-evacuation-opt2","ref":"feature-evacuation-opt2","sha":"c2d6c35dd98a7bfb9f1fbf348965ad814b850766","user":{"login":"BrzVlad","id":4720621,"avatar_url":"https://avatars.githubusercontent.com/u/4720621?v=3","gravatar_id":"","url":"https://api.github.com/users/BrzVlad","html_url":"https://github.com/BrzVlad","followers_url":"https://api.github.com/users/BrzVlad/followers","following_url":"https://api.github.com/users/BrzVlad/following{/other_user}","gists_url":"https://api.github.com/users/BrzVlad/gists{/gist_id}","starred_url":"https://api.github.com/users/BrzVlad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrzVlad/subscriptions","organizations_url":"https://api.github.com/users/BrzVlad/orgs","repos_url":"https://api.github.com/users/BrzVlad/repos","events_url":"https://api.github.com/users/BrzVlad/events{/privacy}","received_events_url":"https://api.github.com/users/BrzVlad/received_events","type":"User","site_admin":false},"repo":{"id":10743068,"name":"mono","full_name":"BrzVlad/mono","owner":{"login":"BrzVlad","id":4720621,"avatar_url":"https://avatars.githubusercontent.com/u/4720621?v=3","gravatar_id":"","url":"https://api.github.com/users/BrzVlad","html_url":"https://github.com/BrzVlad","followers_url":"https://api.github.com/users/BrzVlad/followers","following_url":"https://api.github.com/users/BrzVlad/following{/other_user}","gists_url":"https://api.github.com/users/BrzVlad/gists{/gist_id}","starred_url":"https://api.github.com/users/BrzVlad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrzVlad/subscriptions","organizations_url":"https://api.github.com/users/BrzVlad/orgs","repos_url":"https://api.github.com/users/BrzVlad/repos","events_url":"https://api.github.com/users/BrzVlad/events{/privacy}","received_events_url":"https://api.github.com/users/BrzVlad/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/BrzVlad/mono","description":"Mono open source ECMA CLI, C# and .NET implementation.","fork":true,"url":"https://api.github.com/repos/BrzVlad/mono","forks_url":"https://api.github.com/repos/BrzVlad/mono/forks","keys_url":"https://api.github.com/repos/BrzVlad/mono/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BrzVlad/mono/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BrzVlad/mono/teams","hooks_url":"https://api.github.com/repos/BrzVlad/mono/hooks","issue_events_url":"https://api.github.com/repos/BrzVlad/mono/issues/events{/number}","events_url":"https://api.github.com/repos/BrzVlad/mono/events","assignees_url":"https://api.github.com/repos/BrzVlad/mono/assignees{/user}","branches_url":"https://api.github.com/repos/BrzVlad/mono/branches{/branch}","tags_url":"https://api.github.com/repos/BrzVlad/mono/tags","blobs_url":"https://api.github.com/repos/BrzVlad/mono/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BrzVlad/mono/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BrzVlad/mono/git/refs{/sha}","trees_url":"https://api.github.com/repos/BrzVlad/mono/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BrzVlad/mono/statuses/{sha}","languages_url":"https://api.github.com/repos/BrzVlad/mono/languages","stargazers_url":"https://api.github.com/repos/BrzVlad/mono/stargazers","contributors_url":"https://api.github.com/repos/BrzVlad/mono/contributors","subscribers_url":"https://api.github.com/repos/BrzVlad/mono/subscribers","subscription_url":"https://api.github.com/repos/BrzVlad/mono/subscription","commits_url":"https://api.github.com/repos/BrzVlad/mono/commits{/sha}","git_commits_url":"https://api.github.com/repos/BrzVlad/mono/git/commits{/sha}","comments_url":"https://api.github.com/repos/BrzVlad/mono/comments{/number}","issue_comment_url":"https://api.github.com/repos/BrzVlad/mono/issues/comments{/number}","contents_url":"https://api.github.com/repos/BrzVlad/mono/contents/{+path}","compare_url":"https://api.github.com/repos/BrzVlad/mono/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BrzVlad/mono/merges","archive_url":"https://api.github.com/repos/BrzVlad/mono/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BrzVlad/mono/downloads","issues_url":"https://api.github.com/repos/BrzVlad/mono/issues{/number}","pulls_url":"https://api.github.com/repos/BrzVlad/mono/pulls{/number}","milestones_url":"https://api.github.com/repos/BrzVlad/mono/milestones{/number}","notifications_url":"https://api.github.com/repos/BrzVlad/mono/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BrzVlad/mono/labels{/name}","releases_url":"https://api.github.com/repos/BrzVlad/mono/releases{/id}","deployments_url":"https://api.github.com/repos/BrzVlad/mono/deployments","created_at":"2013-06-17T17:40:26Z","updated_at":"2015-07-30T20:59:06Z","pushed_at":"2016-03-28T18:56:22Z","git_url":"git://github.com/BrzVlad/mono.git","ssh_url":"git@github.com:BrzVlad/mono.git","clone_url":"https://github.com/BrzVlad/mono.git","svn_url":"https://github.com/BrzVlad/mono","homepage":"http://www.mono-project.com/","size":376739,"stargazers_count":1,"watchers_count":1,"language":"C#","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"mono:master","ref":"master","sha":"9cc0c474c6d065a2f5f9663782fbe7df3f85e112","user":{"login":"mono","id":53395,"avatar_url":"https://avatars.githubusercontent.com/u/53395?v=3","gravatar_id":"","url":"https://api.github.com/users/mono","html_url":"https://github.com/mono","followers_url":"https://api.github.com/users/mono/followers","following_url":"https://api.github.com/users/mono/following{/other_user}","gists_url":"https://api.github.com/users/mono/gists{/gist_id}","starred_url":"https://api.github.com/users/mono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mono/subscriptions","organizations_url":"https://api.github.com/users/mono/orgs","repos_url":"https://api.github.com/users/mono/repos","events_url":"https://api.github.com/users/mono/events{/privacy}","received_events_url":"https://api.github.com/users/mono/received_events","type":"Organization","site_admin":false},"repo":{"id":791611,"name":"mono","full_name":"mono/mono","owner":{"login":"mono","id":53395,"avatar_url":"https://avatars.githubusercontent.com/u/53395?v=3","gravatar_id":"","url":"https://api.github.com/users/mono","html_url":"https://github.com/mono","followers_url":"https://api.github.com/users/mono/followers","following_url":"https://api.github.com/users/mono/following{/other_user}","gists_url":"https://api.github.com/users/mono/gists{/gist_id}","starred_url":"https://api.github.com/users/mono/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mono/subscriptions","organizations_url":"https://api.github.com/users/mono/orgs","repos_url":"https://api.github.com/users/mono/repos","events_url":"https://api.github.com/users/mono/events{/privacy}","received_events_url":"https://api.github.com/users/mono/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mono/mono","description":"Mono open source ECMA CLI, C# and .NET implementation.","fork":false,"url":"https://api.github.com/repos/mono/mono","forks_url":"https://api.github.com/repos/mono/mono/forks","keys_url":"https://api.github.com/repos/mono/mono/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mono/mono/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mono/mono/teams","hooks_url":"https://api.github.com/repos/mono/mono/hooks","issue_events_url":"https://api.github.com/repos/mono/mono/issues/events{/number}","events_url":"https://api.github.com/repos/mono/mono/events","assignees_url":"https://api.github.com/repos/mono/mono/assignees{/user}","branches_url":"https://api.github.com/repos/mono/mono/branches{/branch}","tags_url":"https://api.github.com/repos/mono/mono/tags","blobs_url":"https://api.github.com/repos/mono/mono/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mono/mono/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mono/mono/git/refs{/sha}","trees_url":"https://api.github.com/repos/mono/mono/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mono/mono/statuses/{sha}","languages_url":"https://api.github.com/repos/mono/mono/languages","stargazers_url":"https://api.github.com/repos/mono/mono/stargazers","contributors_url":"https://api.github.com/repos/mono/mono/contributors","subscribers_url":"https://api.github.com/repos/mono/mono/subscribers","subscription_url":"https://api.github.com/repos/mono/mono/subscription","commits_url":"https://api.github.com/repos/mono/mono/commits{/sha}","git_commits_url":"https://api.github.com/repos/mono/mono/git/commits{/sha}","comments_url":"https://api.github.com/repos/mono/mono/comments{/number}","issue_comment_url":"https://api.github.com/repos/mono/mono/issues/comments{/number}","contents_url":"https://api.github.com/repos/mono/mono/contents/{+path}","compare_url":"https://api.github.com/repos/mono/mono/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mono/mono/merges","archive_url":"https://api.github.com/repos/mono/mono/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mono/mono/downloads","issues_url":"https://api.github.com/repos/mono/mono/issues{/number}","pulls_url":"https://api.github.com/repos/mono/mono/pulls{/number}","milestones_url":"https://api.github.com/repos/mono/mono/milestones{/number}","notifications_url":"https://api.github.com/repos/mono/mono/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mono/mono/labels{/name}","releases_url":"https://api.github.com/repos/mono/mono/releases{/id}","deployments_url":"https://api.github.com/repos/mono/mono/deployments","created_at":"2010-07-22T18:06:36Z","updated_at":"2016-03-28T17:49:12Z","pushed_at":"2016-03-28T19:08:44Z","git_url":"git://github.com/mono/mono.git","ssh_url":"git@github.com:mono/mono.git","clone_url":"https://github.com/mono/mono.git","svn_url":"https://github.com/mono/mono","homepage":"http://www.mono-project.com/","size":466080,"stargazers_count":4404,"watchers_count":4404,"language":"C#","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":2132,"mirror_url":null,"open_issues_count":134,"forks":2132,"open_issues":134,"watchers":4404,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mono/mono/pulls/2802"},"html":{"href":"https://github.com/mono/mono/pull/2802"},"issue":{"href":"https://api.github.com/repos/mono/mono/issues/2802"},"comments":{"href":"https://api.github.com/repos/mono/mono/issues/2802/comments"},"review_comments":{"href":"https://api.github.com/repos/mono/mono/pulls/2802/comments"},"review_comment":{"href":"https://api.github.com/repos/mono/mono/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mono/mono/pulls/2802/commits"},"statuses":{"href":"https://api.github.com/repos/mono/mono/statuses/c2d6c35dd98a7bfb9f1fbf348965ad814b850766"}}}}